Как починить click-to-call
Для упрощения отладки опишем функционал набора номера по клику:
Делаем вызов из Битрикса (кликаем на номер телефона в CRM).
Команда на выполнение звонка (originate) поступает на модуль.
Модуль составляет запрос и отправляет в Asterisk.
После этого звонит ваш ip-телефон или сипфон (номер, которого указан в профиле пользователя).
Когда пользователь поднимает трубку, звонок уходит на телефон клиента.
Выполняем проверку следующих моментов:
Установлено ли на портале приложение. Как установить
Запущен ли модуль на сервере. Проверить статус приложения можно с помощью команд.
Внутренний номер в профиле сотрудника на портале: указан и совпадает с тем, который заведен на телефонном аппарате (сип-фоне) пользователя. Настроить внутренние номера в профиле
Если при исходящем звонке кликом вы слышите женский голос, который предлагает пополнить баланс телефонии Битрикс24, значит запрос с2с ушел не на приложение, а внутреннюю телефонию Битрикса. Для фикса повторно выберите Приложение “Интеграция с Asterisk - Itgrix” в качестве "приложения по умолчанию для исходящих", в том числе у конкретного пользователя. Настройка этого этапа есть в инструкции.
В коробочном битриксе в закрытом контуре установлен обработчик.
Если версия битрикс 23.300.0 и выше - нужен код описанный в данной статье
Данный код актуален только для версий Битрикс24 до 23.300.0, в версиях выше его не должно быть в dbconn.php
Проверяем, добавлен ли код из инструкции по интеграции в файл dbconn.php
if($_REQUEST['COMMAND'] === 'startCallViaRest' ||
$_SERVER['REQUEST_URI'] === '/rest/voximplant.call.startViaRest.json') {
define('BITRIXREST_URL', '#asterisk ip-address#:8077');
}
Где #asterisk ip-address#
– адрес вашего Asterisk с установленным модулем.
6. В консоли Asterisk проверяем, что такой пир есть и он работает.
asterisk -rx 'sip show peer 123'
где 123 – внутренний номер сотрудника.
Если не работает, то проверить подключение аппарата пользователя к Asterisk.
7. Убедимся, что запрос доходит до модуля.
Открываем лог модуля /var/log/itgrix_bx.log
, перемещаемся в конец лога нажатием Shift+g, ищем снизу вверх по слову Originate, если запрос выполнился видим успешный ответ от Астериска:
Если ничего не найдено, значит запрос на вызов вообще не поступил на модуль.
Тогда проверим, приходит ли запрос на сервер. Запускаем tcpdump:
tcpdump port 8077
После этого делаем вызов кликом из Битрикс24.Если не появился вывод команды, то проблема может заключаться в следующем:
Не проброшен порт (модуль за NAT) либо проблема в с2с-сервере;
Б24 отправляет данные на другой адрес/порт – проверяем настройки модуля;
Б24 не отправляет запрос;
Если ответ есть, значит запрос пришел на порт, но не был передан модулю. Тогда проверяем настройки файервола.
Если в лог приходит сообщение "User has no phone" значит у пользователя в Битрикс24 не указан внутренний номер в профиле пользователя.
8. Если ответ на Originate приходит с ошибкой вида:
Нужно проверить правильный ли технология, контекст указан в настройках модуля в разделе Asterisk, для этого узнаем какой контекст указан в настройках АТС у данного внутреннего номера:
По умолчанию в настройках модуля (раздел Asterisk) указано использование протокола SIP, если у вас используется протокол PJSIP нужно указать это в строке Шаблон канала.
Выполнение Originate запросов можно проверить напрямую через консоль Астериска:
Пробуем выполнить Originate напрямую в Астериск, с полученными параметрами (звонок с 123 на 71234567890):
# asterisk -rvvvvv
> channel originate SIP/123 extension 71234567890@from-internal
В случае успеха будет следующий отклик:
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called 123
-- SIP/123-00001a5e is ringing
а) Если контекст указан неверный, увидим сообщение:
WARNING[9975][C-00004504]: pbx.c:4461 __ast_pbx_run: Channel 'SIP/123-00001a62' sent to invalid extension but no invalid handler: context,exten,priority=bad-context,71234567890,1
б) Если отсутствует номер:
[2018-12-21 17:47:52] ERROR[10555]: chan_pjsip.c:2458 request: Unable to create PJSIP channel - endpoint '123' was not found
в) Неверный тип канала:[2018-12-21 17:47:37] WARNING[10527]: channel.c:6083 request_channel: No channel type registered for 'PSSIP'
Если статья не помогла решить проблему, обратитесь в техподдержку.
Last updated