Тестируем на УПП 1.3, версия панели 1.2.21.28 (новее скачать не получается), FreePBX 6.12.65-22, Asterisk 1.8.32.1 Возникла такая проблема: GUID звонка прикрепляется только к 5% событий. В остальных случаях он пустой.
Подскажите куда смотреть? Где можно посмотреть логи PT1C и ведутся ли они вообще?
1.2.21.28 - такой версии не существует. Напишите мне запрос. Вышлю более новую версию.
Цитата
Где можно посмотреть логи PT1C и ведутся ли они вообще?
Если история звонков открывается, то логи ведутся. Таблица PT1C_cdr хранится в MySQL, в той же базе данных, что и таблица cdr.. Проверить заполнение можно простым запросом к таблице.
Да, к сожалению Но зато сама панель стала намного корректнее, теперь видно у кого линия занята и статус сотрудника. Завтра будем ещё смотреть в коде 1С. Обязательно отпишусь
Добрый день! К сожалению ID звонка так и прикрепляется к событию в 10% случаев... В остальных 90% оно пустое и соответственно запись звонка из события получить невозможно. Так же возникла ещё одна проблема: При консультативном переводе звонка у менеджера создаётся ещё одно событие и так может быть сколько угодно раз пока переключаем и возвращаем звонок. Перевод так отрабатывает как в случае перевода на аппарате так и в случае перевода с панели МИКО. В итоге получаем по 5-10 событий на звонок что как минимум странно.
Победили проблему. Итак: 1. К событию не прикреплялся ID звонка, так как время создания события при звонке через Панель телефонии составляло около 3-4 секунд 1.1 Оптимизировали определение кода города, создав временную таблицу кодов городов при первом обращении и поместили её в менеджер времемнных таблиц 1.2. Поиск записи в базу MySQL Asterisk шёл 1,8 сек, создали индекс для таблицы PT1C_cdr по полю uniqueid, поиск стал осуществляться за сотые доли секунды. Таблица содержит миллионы записей! После этого время создания события сократилось до 1-1,5 секунд и ID стал прикрепляться.
2. Проблема с генерацией событий при переключении звонка решается автоматической записью события сразу после его создания и заполнения данными.
3. У нас для входящих вызовов используются Очереди в Астериск. При это поиск записи разговора по частичному ID (до точки) с выдачей LIMIT 1 - выдаёт в большинстве случаев несуществующее имя файла записи разговора (допустим в группе 10 номеров, пришёл звонок, взял трубку 1 номер, а в выдаче может быть любой из 9-ти оставшихся номеров к ID которых не привязан файл записи). Решается поиском по полному ID (с точкой и цифрами после неё) 3.1. Также выяснилось что компонента ищет по полю uniqueid, а эвышеозначенную проблему можно было бы решить поиском по полю Linkedid (оно одинаковое для всех записей uniqueid звонка), но это реализовать можете только Вы, как разработчики.
4. При совершении исходящего вызова из события или карточки контрагента искать заново набираемый номер не имеет смысла, так как мы чётко знаем кому звоним. Поэтому вместо поиска номера реализовали привязку звонка к конкретному контактному лицу чем добились отсутствия ненужного поиска и ОДНОЗНАЧНОГО определения ПРАВИЛЬНО контрагента и контактного лица даже если у нескольких контрагентов/контактных лиц указан одинаковый номер.
Всё таки не удаётся победить повторные генерации/открытия событий при переводе звонка.
Получается что при переводе звонка срабатывает событие Bridge, НО данные XML фильтруются по начальному звонку и соответственно 1С не понимает что перевод звонка это не новый вызов. Отловить это можно было бы анализирую channel1 и channel2, в них при переводе есть запись xfer. Но опять же из-за фильтрации по изначальному звонку - отловить нереально.
Можете что-нибудь посоветовать?
P.S. Для обработки входящих используем Очереди звонков
В теме я описывал особенности переадресации вызов:
Цитата
Переадресация производилась средствами "старкод" или средствами IP телефона?
При переадресации средствами IP телефона (Attended Transfer) телефон создает новый звонок, при этом для АТС этот вызов будет абсолютно новым и не будет никаким образом связан с первым звонком от клиента. Это переадресация средствами SIP протокола.
Следует использовать переадресацию средствами старкодов, пример **104 или ##104. В этом случае переадресация ложится на плечи самой АТС и она может контролировать вызов в полной мере.
Если переадресация выполняется средствами АТС, "старкодами", то все звонки в рамках одного вызова связаны уникальным значением linkedid. На эту тему есть обсуждение.