Отладка прохождения сообщения¶
1. Проверьте, что входящее сообщение распознается системой через веб-интерфейс.
Для этого зайдите в Детальный отчет по сообщениям на нужном пире и поищите звонок.
Если вызов обнаружен - переходите к п.8.
2. На этом этапе мы знаем, что вызова нет в EDR нужного пира.
Поищите EDR по всем пирам (Оригинаторы -> Сообщения -> Детальный отчет (группировать по названию = да)).
То же самое сделать и по всем Пользователям и Шлюзам.
Возможно, сообщение зашло в другой пир.
Если сообщение найдено, то входящее сообщение ассоциируется не с тем пиром, на котором вы выполнили п.1.
Выполните п.1 на нужном пире. Проверьте конфигурацию системы.
3. На этом этапе мы знаем что сообщения нет в EDR системы.
Проверьте, не заблокировало ли IP адрес оригинатора Приложение Fail2Ban.
Это можно проверить, поискав адрес оригинатора в Сеть -> Таблицы файервола -> SMPP deny -> Хосты.
5. Попробуйте включить Захват pcap на оригинаторе.
После отправки сообщения, поищите сообщение в Отчете по pcap сообщениям на предполагаемом пире.
Если не найдены - попробуйте поискать на всех пирах в Отчете по pcap сообщениям, используя фильтр по Б-номеру, возможно уже есть другой пир с такими же авторизационными настройкими и сообщение заходит в него, а не в предполагаемый пир (аналогично как было сделано в п.2).
Если сообщение есть в этом отчете, но его нет в Отчете по деталям сообщений - сообщение пришло, но система не авторизовала оригинатора.
Возможные причины - несоответствие настроек оригинатора и Smartswitch в области аутентификации (несоответствие логинов, паролей итп).
Какой логин отправляет клиент и с какого IP адреса можно проверить открыв pcap файл в Wireshark.
Если сообщения нет в Отчете по pcap сообщениям - то скорее всего сообщение не приходит на Smartswitch вообще.
Перепроверить это можно с помощью ручного захвата pcap, описанном по инструкции Отладка VoIP звонка с Wireshark.
Если и таким образом сообщение не приходит - следует проверить настройки у оригинатора вызовов.
Также нужно проверить, не заблокировал ли оригинатора его интернет-провайдер или настройки его файервола.
6. На этом этапе мы знаем, что сообщение приходит.
Проверьте, что начинается обработка входящего вызова.
Для этого воспользуйтесь инструкцией Отладка выполнения обработчика вызовов.
Если в логе видно выполнение обработчика вызова в ответ на входящее сообщение - ассоциация с пиром найдена и начата обработка сообщения.
EDR должна быть в системе.
Следовательно, некорретно выполнены п.1 и п.2.
Повторите их.
7. На этом этапе мы знаем, что сообщение приходит, но обработка сообщения не начинается.
Возможные причина: ошибка в описании входа в ветвь Обработчика вызовов, либо ошибка нахождения соответствия с пиром в системе.
Включите одновременно логирование debug 10 и verbose 10 по инструкции Отладка Asterisk.
Для SMPP дополнительно включите отладку по инструкции Отладка SMPP протокола в Asterisk.
В полученном логе /var/log/asterisk/messages поищите строки вывода после полученного SUBMIT_SM от оригинатора.
В них содержится информация о том, почему Asterisk не нашел ассоциацию с пиром и не начал выполнение Обработчика вызовов.
Обычно причиной является несоответствие IP адресов и аутентификационных параметров, высылаемых оригинатором тем, что настроены у вас на Smartswitch.
8. Проверьте, что обработчик сообщений выполняется в соответствии с ожидаемой логикой.
Для этого воспользуйтесь инструкцией Отладка выполнения обработчика вызовов.
9. Если обработка сообщений выполняется корректно и вызывается элемент Софтсвитч,
но при этом не генерируется исходящее сообщение на терминатора, то стоит проверить маршрутизацию с теми же параметрами, с которыми
вызывается элемент Софтсвитч.
Если при Проверке маршрутизации вам сразу же показывает ошибку - значит ошибка в настройках оригинатора.
Если при Проверке маршрутизации вам показывает цену оригинатора,но не показывает предполагаемоый маршрут, введите в поле исходящий пир название предполагаемого терминатора и система покажет, почему на него нет маршрута.
10. Если проверка маршрутизации показывает правильно и маршрут на динамического пира (у которого нет статического IP адреса, и которые должен регистрироваться) -
проверьте зарегистрирован ли динамический пир на Smartswitch.
11. Включите следующие уровни логирования в Система -> Логирование -> asterisk: инфо, ошибка, отладка.
Проверьте лог файл /var/log/smartswitch/asterisk.log.
См. инструкцию Как работать с лог файлом.
Найдите время начала звонка и его Б-номер и проверьте сообщения в логе касательно обработки этого звонка - они могут подсказать вам о причине проблемы.
12. Проверьте, установлено ли макс. попыток в сек на поставщике.
При срабатывании этих ограничений исходящее сообщение не будет генерироваться.
Также проверьте все другие нестандартные ограничение, установленные на поставщике.