artem
13.11.2018
5018
sip

Wireshark – методика анализа проблем с транком.

Нередко приходится сталкиваться с ситуациями, когда невозможно позвонить через транк или принять на него вызов. Перечень проблем может быть самым разнообразным. В данной статье будут рассмотрены некоторые проблемные ситуации, методы диагностики путём анализа SIP-диалогов, а так же возможные пути для их разрешения.

Wireshark и проблемы с транком

Проблемы с оплатой услуг связи.

Ещё вчера всё работало, а сегодня вдруг не звонит? Давайте рассмотрим один интересный случай:

Первым делом скачайте дамп с примером вызова.

Итак, после открытия дампа, увидим следующее:

Дамп в раскрытом виде.

 

Далее переходим в Telephony – VoIP Calls:

Call Rejected.

Займёмся анализом Call-Flow диаграммы:

Анализ Call-Flow диаграмма.

Обычно не имеет никакого смысла сравнивать сессии одного звонка по-отдельности, поэтому будем анализировать сразу две. Для нативности я проведу анализ попунктно.

    1) Первый INVITE идёт от нашего софтфона к серверу, затем наш сервер посылает INVITE на сервер оператора связи. 2) Затем наш сервер получает ответ от оператора 100 Trying, который означает, что сервер оператора обрабатывает наш запрос. 3)Следующий ответ от провайдера 401 Unauthorized. Не стоит пугаться, это совершенно нормальный ответ от любого сервера телефонии о том, что пользователь не авторизовался для совершения звонка. Его стоит трактовать как запрос логина и пароля.

Для того, чтобы получить немногим больше информации о том, что содержит INVITE или ACK, необходимо выделить нужный поток, затем обратить внимание в левый нижний угол окна.

Комментарий потока

    4) Телефон, получив ответ от нашего сервера 401 Unauthorized, отправляет ответ ACK. В нашем случае данный ответ означает, что мы отправляем на сервер оператора поля вызываемого абонента, т.к. в первом сообщении INVITE включено тело с описанием параметров вызова в SDP.

SDP в INVITE.

С ответом ACK возможен иной вариант развития событий. Например, когда в первом сообщении INVITE не было включено тело, содержащее SDP сообщение. В таком случае первое сообщение ACK будет содержать SDP сообщение вызываемого абонента. Иная же сторона отправит ACK для завершения процесса установления соединения, которое будет содержать нужные для этого поля в SDP. SDP, в свою очередь — это протокол, служащий для описания сессии передачи потоковых данных (аудио, видео).

    5) После отправки ACK, отправляется повторный INVITE, содержащий данные для авторизации. 6) После того, как сервер оператора получает INVITE, он снова отвечает 100 Giving a try, что значит, что данные приняты в обработку. Телефон так же получает от нашего сервера ответ 100 Trying. 7) Следом наш телефон получает ответ от нашего сервера 183 Session Progress. Используется для получения описания сессии обмена информации по направлению к вызываемому пользователю.

До этого момента со стороны нашего сервера и сервера оператора всё было хорошо, далее кроется вся суть.

    8) Внезапно мы получаем ответ от сервера оператора 402 Payment Required, что означает потребность в оплате вызова. 9) Затем наш сервер отправляет на софтфон 503 Service Unavaliable. Это значит, что сервер не может обслужить вызов. 10) Далее софтфон отправляет на сервер оператора связи последний ACK, в котором содержится подтверждение на окончания сессии.

Как бы однозначно не выглядел ответ, не спешите радоваться, что нашли проблему, т.к. некоторые операторы связи дают такой ответ в связи с тем, что не предоставляют звонки по определённому направлению для имеющегося у Вас транка. Под направлением здесь понимается маршрут или номер, на который совершается звонок (мобильный, городской и др.)

Подводя итоги по данному вопросу можно сказать, что вызов был отклонён оператором связи по причине того, что оператор не получил плату за предоставление своих услуг. Действия по устранению проблемы более чем очевидны.2.

Некорректный набор номера.

Рассмотрим другой пример:

Открываем дамп, далее рассмотрим потоковые секвенции:

Потоковые секвенции двух звонков.

Скриншот: потоковые секвенции двух звонков.

Первым проанализируем этот:

    1) Наш сервер посылает INVITE на сервер оператора связи. 2) Обратно получаем 407 Proxy Authentication Required, что говорит о необходимости авторизации на прокси-сервере, это нормально. 3) Следующим уходит АСК с полями вызываемого абонента. 4) Затем мы посылаем второй INVITE с данными для авторизации на прокси. 5) Получаем 100 Giving a try – данные в обработке на сервере оператора связи. 6) Затем дважды запрашивается описание сессии обмена информации – 183 Session Progress. 7) 404 – Not Found, получаем ответ от оператора. Данный ответ означает, что данного номера не существует или вызываемый абонент не существует. 8) Завершаем звонок ответом ACK о согласии завершить сессию.

В данной статье приведены лишь два случая из возможного множества, но их более, чем достаточно для того, чтобы наглядно продемонстрировать методику чтения и анализа дампов, особенно, если Вы грешите на оператора связи, а проблема фактически находится на Вашей стороне. Очень часто встречаются случаи, когда попросту заканчиваются деньги на счёте или оператор Call-центра совершает вызов в запрещённом направлении, направлении, которое не предоставляется фирме в качестве доступного, либо же оператор попросту производит набор номера не по шаблону оператора связи. У каждого ОС свой диалплан и это необходимо учитывать, при этом диалплан станции, дабы не возникало подобных каверзных ситуаций, можно скорректировать под конкретного оператора.

Телефонная книга CallMetrix
Корпоративный телефонный справочник для удобной связи между сотрудниками организации
Скачать описание CallMetrix
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.