Asterisk 503 ошибка

Оперативная диагностика SIP в консоли Asterisk каналы PJSIP и CHAN_SIP Данная статья посвящена диагностике sip канала. Так же в рамках этой статьи рассмотрим и PJSIP, его настройку и диагностику. Хотя сторонние инструменты как sngrep, tcpdump и Wireshark являются прекрасными помощниками в поиске и устранении проблем с VoIP может возникнуть ситуация, что на системе нет […]

Содержание

  1. Оперативная диагностика SIP в консоли Asterisk каналы PJSIP и CHAN_SIP
  2. Первичная проверка
  3. Диагностика SIP и оборудования связанного с ним. Отладка SIP протокола в Asterisk
  4. Типичные ошибки
  5. Отладка PJSIP протокола в Asterisk
  6. Захват SIP-сообщений
  7. Просмотр
  8. Манипуляции с результатами
  9. Полезные инструменты
  10. SIP ответы и их значения

Оперативная диагностика SIP в консоли Asterisk каналы PJSIP и CHAN_SIP

Данная статья посвящена диагностике sip канала. Так же в рамках этой статьи рассмотрим и PJSIP, его настройку и диагностику.

Хотя сторонние инструменты как sngrep, tcpdump и Wireshark являются прекрасными помощниками в поиске и устранении проблем с VoIP может возникнуть ситуация, что на системе нет возможности установить вышеперечисленные утилиты и единственная возможность разобраться только за счет самого asterisk. К счастью, asterisk так же способен помочь устранить неисправность.

Первичная проверка

Для начала нужно проверить, а запущен ли asterisk. Для этого нужно подключиться к серверу с помощью ssh-клиента (в нашем случае используем Putty).

Вводим IP-адрес нашей АТС.


После подключения под пользователем «root» видим следующее окно.


Для проверки останется ввести лишь команду: asterisk -rv

Судя по сообщению выше выполнены следующие условия:

  • К asterisk можно подключится
  • Служба asterisk запущена, работает и не отваливается с ошибкой.

Если служба asterisk не запущена или отваливается с ошибкой то следует попытаться ее перезагрузить. Для этого не обязательно перезагружать весь сервер, достаточно выполнить следующие команды:

1.service asterisk stop (не обязательный пункт, пытаемся остановить работу asterisk если таковая имеется)
2.service asterisk restart

После чего вновь пробуем подключится к asterisk


Как видно выше – мы успешно перезагрузили asterisk и подключились к нему.

Диагностика SIP и оборудования связанного с ним. Отладка SIP протокола в Asterisk

Предположим, что у нас наблюдаются какие-то неполадки на внутреннем номере 120 и мы хотим посмотреть какие sip сообщения приходят от этого внутреннего номера и какие он sip-сообщения он получает. Для этого нужно выполнить следующие шаги:

1.Проверить, что IP адрес устройства не заблокирован fail2ban. Это можно сделать средствами iptables следующей командой: iptables -L –n

Как видим выше, fail2ban пуст, переходим ко второму шагу.

2.Включить отладку sip для внутреннего номера 120 следующей командой: CLI> sip set debug peer 120

Эту же команду (и многие другие) можно выполнять не входя в asterisks и в нашем случае команда примет следующий вид: # asterisk rx «sip set debug peer 120″

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

Зная какой ip адрес у пользователя, можно выполнить отладку немного иначе, а именно указать ip адрес пользователя: # sip set debug ip 192.168.1.1

Если требуется включить отладку всех sip сообщений, а не с какого-то определенного ip/peer, то команда выглядит следующим образом:


Однако учтите, что если через АТС в этот момент совершается много звонков, то и количество сообщений будет огромным.

Результаты можно проверить или в консоли asterisk или же в лог-файле.

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

Лог-файл располагается по следующему маршруту « /var/log/asterisk/full». Здесь можно выполнить поиск по ip-адресу устройства, или, к примеру, по типу сообщения. Давайте проверим файл по ключевому слову «REGISTER»

Если вы все сделали правильно, то вы получите нечто схожее тому, что вы можете видеть выше (если такие сообщения были). А теперь, после всей работы не забывайте выключать отладку т.к высока вероятность того, что на жестком диске попросту закончится место.

# asterisk -rx «sip set debug off»


Мы рассмотрели здесь базовую отладку средствами самого asterisk. Возможно, вам будет интересно почитать о утилите sngrep которая благодаря своему удобному интерфейсу и богатому функционалу может стать отличным инструментом для отладки и снятия дампа. Так же стоит ознакомиться с SIP-ответами и их значением которые будут приведены в конце статьи.

Типичные ошибки

Ошибка Wrong password. Одна из самых распространенных ошибок при регистрации нового ip-телефона. В консоли она имеет следующий вид:

Тем не менее, с ней не все так просто как может показаться на первый взгляд. Вы можете правильно записать пароль в поле «password» на устройстве, но все равно получить эту ошибку если используете пароль, содержащий больше 12 символов. Многие старые модели ip-телефонов и некоторые программные телефоны просто не поддерживают длинные пароли.

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

Впрочем, никто не застрахован от ошибки и вы действительно могли опечататься, когда вводили пароль.

Ошибка Device does not match ACL. Вторая распространенная проблема — deny и permit указанные в настройках устройства. Если телефон попробует зарегистрироваться из сети, которая не включена в список разрешенных сетей, то будет примерно следующая ошибка:


Учтите, что после 3-4 попыток неудачной регистрации IP-адрес устройства может быть забанен Fail2Banom, что, кстати, и случилось с нашим телефоном, переходим к следующей «ошибке».

Fail2Ban. Это не ошибка, но тем не менее если если от устройства не приходят попытки регистрации следует выполнить следующие шаги:

  • Проверить, что IP-адрес устройства внесен в список разрешенных
  • Проверить, что настройки устройства (в том числе и пароль) прописаны правильно.

Эти два нехитрых шага помогут избежать повторной блокировки устройства, теперь можно проверить список забанненых.

Выше уже писалось, что все можно проверить командой #iptables -L –n (если вы так же хотите посмотреть используются ли нестандартные порты то введите

#iptables -L -nv -t nat ) ,

Нас интересует список банов где и оказался ip-адрес нашего устройства. Для того, чтоб IP удалить адрес нужно выполнить следующую команду
# service fail2ban restart после чего вновь проверяем список забаненых.

Если вы все сделал правильно, то устройство подключиться успешно. В этой статье мы не стали рассматривать проблемы которые могут возникнуть с trunk-ами т.к в принципе они схожи с теми которые мы перечислили выше.
NAT. Возможна такая ситуация, что подвиснет nat-сессия, чаще всего это возникает у удаленныхсотрудников. В таком случае нужно или перезагрузить роутер, либо использовать другой протокол (если по каким-то причинам в данный момент нет возможности перезагрузить роутер) к примеру, с udp на tcp. Так же проверьте правильность настроек NAT на телефоне и пире, а так же

протокол передачи, в обоих случаях они должны быть идентичны. Если на пире будет выставлен tcp, а телефон будет пытаться подключиться через

udp, то такую попытку регистрации сервер отобьет.

Отладка PJSIP протокола в Asterisk

PJSIP — мультимедийная коммуникационная библиотека, написанная на Си. Поддерживает такие протоколы как SIP, SDP, RTP, STUN, TURN, и ICE. Эта библиотека работает на различных платформах, начиная с хэндсетов и мобильных устройств и заканчивая высоконагруженными АТС. Начиная с asterisk 12 эта библиотека поддерживается частично и только в с asterisk 13 появилась полноценная поддержка. Для осуществления звонков программной АТС Asterisk

Главное отличие этого нового канального драйвера в том, что он хорошо работает с различными брандмауэрами и NAT, как в составе Asterisk-сервера, так и на клиентских устройствах.

Тем не менее, несмотря на ряд преимуществ перед Chan_SIP, PJSIP все еще не получил широкого применения из-за отличия конфигурации. Новый стек использует подход разделения конфигурации на логические разделы, поэтому создаются разные разделы для различных целей.

В данной статье мы рассмотрим основные способы отладки PJSIP. В Asterisk версии 13.8.0 был добавлен новый модуль — res_pjsip_history, который обеспечивает сбор, фильтрацию и отображение SIP-сообщений в командной строке.



Рассмотрим базовые возможности модуля:

Res_pjsip_history сохраняет в памяти историю всех отправленных и полученных SIP-сообщений, которые проходят через стек PJSIP.

Захват SIP-сообщений

Для того, чтоб начать захват нужно выполнить следующую команду:

CLI> pjsip set history on



Для того, чтоб отключить захват выполните следующую команду:

CLI> pjsip set history off


Эта команда не очищает историю сообщений, сообщения только перестают записываться. Для очистки истории есть следующая команда:

CLI> pjsip set history clear



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

Просмотр

И так, вы включили запись, прошло какое-то время, пользователи совершали звонки, подключали аппараты и.т.д., и по итогам всего действия мы собрали какие-то данные, но как нам теперь их просмотреть?

Чтоб показать всю историю собранных сообщений нужно выполнить следующую команду: CLI> pjsip show history



Эта команда предоставит краткое изложение истории sip-сообщений.

Просмотреть подробнее какое-то конкретное SIP-сообщение, нужно указать в команде его номер. Команда примет следующий вид:

CLI> pjsip show history entry 6 ,где цифра обозначает номер строки



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

Манипуляции с результатами

Выше мы получили подробную информацию о sip-сообщении. Тем не менее, в таком виде редко когда удобно просматривать сообщения, в особенности когда на станции зарегистрированы не два пользователя, а 10 и даже больше и все они в этот момент совершают звонки. Модуль res_pjsip_history поддерживает простую фильтрацию запросов по заданным условиям, подобную тому, который есть в SQL.

Обратите внимание, что модуль res_pjsip_history был включен в asterisk, начиная с версии Asterisk 13.8.0

Для теста давайте отфильтруем запрос по SIP Call-ID, используя следующую команду:

CLI>pjsip show history where sip.msg.call-id = “ваш caller-id“

Результат выполнения команды вы можете видеть выше. Если вы знакомы или даже работали с программой «sngrep», то можете заметить сходства в отображении информации о входящих и исходящих пакетов.

На момент написания статьи модуль res_pjsip_history поддерживает следующие команды:

  • number: номер записи в истории
  • timestamp: время отправка сообщения SIP
  • addr: Адрес источника/Получателя SIP-сообщения
  • sip.msg.request.method: Метод запроса SIP
  • sip.msg.callid : Значение заголовка

Так же Res_pjsip_history поддерживает все логические операторы, а так же операторы регулярных выражений.

Полезные инструменты

И все же советуем ознакомиться с удобными инструментами для отладки телефонии и по возможности использовать их.

SIP ответы и их значения

1XX – Информационные ответы

SIP/2.0 100 Trying — запрос обрабатывается

SIP/2.0 180 Ringing — местоположение вызываемого пользователя определено. Выдан сигнал о входящем вызове

SIP/2.0 181 Call is Being Forwarded — прокси,сервер переадресует вызов к другому пользователю

SIP/2.0 182 Call is Queued — вызываемый абонент временно не доступен, вызов поставлен в очередь

SIP/2.0 183 Session Progress — используется для того, чтобы заранее получить описание сеанса информационного обмена от шлюзов на пути к вызываемому пользователю

2XX — ответы о завершении запроса

SIP/2.0 200 OK — успешное завершение

SIP/2.0 202 Accepted — запрос принят для обработки Используется для справки о состоянии обработки

3XX — сообщения о переадресации

SIP/2.0 300 Multiple Choices — указывает несколько SIP-адресов, по которым можно найти вызываемого пользователя

SIP/2.0 301 Moved Permanently — вызываемый пользователь больше не находится по адресу, указанному в запросе

SIP/2.0 302 Moved Temporarily — пользователь временно сменил местоположение

SIP/2.0 305 Use Proxy — вызываемый пользователь не доступен непосредственно, входящий вызов должен пройти через прокси-сервер

SIP/2.0 380 Alternative Service — запрошенная услуга недоступна, но доступны альтернативные услуги

4XX — невозможность обработать запрос

SIP/2.0 400 Bad Request — запрос не понят из-за синтаксических ошибок в нем, ошибка в сигнализации, скорее всего что-то с настройками оборудования

SIP/2.0 401 Unauthorized — нормальный ответ сервера о том, что пользователь еще не авторизировался; обычно после этого абонентское оборудование отправляет на сервер новый запрос, содержащий логин и пароль

SIP/2.0 401 Expired Authorization — время регистрации истекло

SIP/2.0 402 Payment Required — требуется оплата (зарезервирован для использования в будущем)

SIP/2.0 403 No Such User — нет такого пользователя, ошибка в номере, логине или пароле

SIP/2.0 403 User Disabled — пользователь отключен

SIP/2.0 403 Wrong Guess — ошибка в пароле

SIP/2.0 403 Conflict — такой SIP-номер уже используется

SIP/2.0 403 Forbidden — абонент не зарегистрирован

SIP/2.0 403 Empty Route Set — нет ни одного шлюза в роутинге

SIP/2.0 403 Caller Not Registered — нет такого пользователя

SIP/2.0 403 Out of Look-Ahead Retries — перебор узлов закончен

SIP/2.0 403 Invalid Phone Number — нет такого направления

SIP/2.0 403 No Money Left on RFC Account — на счету нет денег для совершения звонка

SIP/2.0 404 Not found — вызываемый абонент не найден, нет такого SIP-номера

SIP/2.0 404 Undefined Reason — неопределенное направление

SIP/2.0 404 Unknown user account — логин и пароль не найдены

SIP/2.0 404 Out of Order — в заявке на маршрутизацию по этому направлению нет ни одного шлюза, проверьте настройку маршрутизации по этому направлению.

SIP/2.0 405 Method Not Allowed — метод не поддерживается, может возникать если пользователь пытается отправлять голосовую почту и т.п.

SIP/2.0 406 No codecs match — неправильная конфигурация кодеков

SIP/2.0 406 Not Acceptable — пользователь не доступен

SIP/2.0 407 Proxy Authentication Required — необходима аутентификация на прокси-сервере

SIP/2.0 408 Request Timeout — время обработки запроса истекло: Абонента не удалось найти за отведенное время

SIP/2.0 408 Login timed out — за отведенное время не получен ответ от сервера на запрос авторизации

SIP/2.0 410 No Route — вариант SIP/2.0 403 Empty Route Set; нет доступа к ресурсу: Ресурс по указанному адресу больше не существует

SIP/2.0 413 Request Entity Too Large — размер запроса слишком велик для обработки на сервере

SIP/2.0 415 No Media — звонок совершается неподдерживаемым кодеком

SIP/2.0 416 Unsupported Scheme — сервер не может обработать запрос из-за того, что схема адреса получателя ему непонятна

SIP/2.0 420 Bad extension — неизвестное расширение: Сервер не понял расширение протокола SIP

SIP/2.0 421 Extension Required — в заголовке запроса не указано, какое расширение сервер должен применить для его обработки

SIP/2.0 423 Interval Too Brief — сервер отклоняет запрос, так как время действия ресурса короткое

SIP/2.0 480 Invalid Phone Number — неправильный номер телефона, не соответствует к-во цифр или неправильный код страны или города

SIP/2.0 480 Destination Not Found In Client Plan — направления нет в тарифном плане абонента

SIP/2.0 480 Wrong DB Response — проблемы с центральной базой сети

SIP/2.0 480 DB Timeout — проблемы с центральной базой сети

SIP/2.0 480 Database Error — проблемы с центральной базой сети

SIP/2.0 480 Codec Mismatch — несоответствие кодеков

SIP/2.0 480 No Money Left on RFC Account — нет денег на счету, обратитесь к администратору сети.

SIP/2.0 480 Empty Route Set — пустое направление, нет принимающих шлюзов

SIP/2.0 480 No money left — недостаточно денег на счете

SIP/2.0 480 Temporarily Unavailable — временно недоступное направление попробуйте позвонить позже

SIP/2.0 481 Call Leg/Transaction Does Not Exist — действие не выполнено, нормальный ответ при поступлении дублирующего пакета

SIP/2.0 482 Loop Detected — обнаружен замкнутый маршрут передачи запроса

SIP/2.0 483 Too Many Hops — запрос на своем пути прошел через большее число прокси-серверов, чем разрешено

SIP/2.0 484 Address Incomplete — принят запрос с неполным адресом

SIP/2.0 485 Ambiguous — адрес вызываемого пользователя не однозначен

SIP/2.0 486 Busy Here — абонент занят

SIP/2.0 487 Request Terminated — запрос отменен, обычно приходит при отмене вызова

SIP/2.0 488 Codec Mismatch — нет шлюзов с поддержкой заказанного кодека

SIP/2.0 488 Private IP Address — адрес RTP media из сетей RFC1918

SIP/2.0 491 Request Pending — запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу

SIP/2.0 493 Undeciperable — сервер не в состоянии подобрать ключ дешифрования: невозможно декодировать тело S/MIME сообщения

SIP/2.0 499 Codec Mismatch — отсутствует кодек

5XX — ошибки сервера

SIP/2.0 500 Internal Server Error — внутренняя ошибка сервера

SIP/2.0 500 DB Timeout — нет ответа от базы данных

SIP/2.0 500 Database Error — то же самое, но в другой момент

SIP/2.0 500 Wrong DB Response — неправильный ответ базы данных, редкая ошибка

SIP/2.0 500 Undefined Reason — неопределенная причина

SIP/2.0 500 account has been moved to a remote system — аккаунт перенесен в удаленную систему (дословно)

SIP/2.0 501 Method Not Supported Here — в сервере не реализованы какие-либо функции, необходимые для обслуживания запроса: Метод запроса SIP не поддерживается

SIP/2.0 502 Bad Gateway — сервер, функционирующий в качестве шлюза или прокси-сервера, принимает некорректный ответ от сервера, к которому он направил запрос

SIP/2.0 503 Service Unavailable — сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания

SIP/2.0 504 Server time-out — сервер не получил ответа в течение установленного промежутка времени от сервера, к которому он обратился для завершения вызова

SIP/2.0 505 SIP Version not supported — версия не поддерживается: Сервер не поддерживает эту версию протокола SIP

SIP/2.0 513 Message too big — сервер не в состоянии обработать запрос из-за большой длины сообщения

6XX — глобальная ошибка

SIP/2.0 600 Busy everywhere — вызываемый пользователь занят и не желает принимать вызов в данный момент

SIP/2.0 603 Decline — вызываемый пользователь не желает принимать входящие вызовы, не указывая причину отказа

SIP/2.0 604 Does Not Exist Anywhere — вызываемого пользователя не существует

SIP/2.0 606 Not Acceptable — соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны

Источник

Модератор: april22

Got SIP response 503 «Service Unavailable»

Добрый день, периодически стали слышать в трубке все линии заняты, посмотрел лог, по этим вызовам вижу
Got SIP response 503 «Service Unavailable» prov IP:5060
свои настройки не менял. Другие вызовы через данного прова совершаются нормально. Кол-во линий достаточное.
С провайдером разговор свелся к тому, что.
дословно.
от оборудования вызываемого абонента был получен некорректный ответ (вместо «занято» другой сигнал) этот сигнал интерпретировался с истемой как Service Unavailable.
Вопрос: настройки моего оборудование могут вызвать такую ошибку? или это пров?
погуглил, часто упоминают cisco какуюто :) , у меня такой нет

vladv
 
Сообщений: 229
Зарегистрирован: 21 авг 2012, 17:06

Re: Got SIP response 503 «Service Unavailable»

Сообщение virus_net » 11 окт 2013, 09:11

vladv, телепатов тут нет

vladv писал(а):Вопрос: настройки моего оборудование могут вызвать такую ошибку? или это пров?

чтобы на это ответить смотри в debug sip`а или tcpdump обмена пакетами в провом
там будет четко видно кто, кому и что послал

мой SIP URI sip:virus_net@asterisk.ru
bitname.ru — Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER — звони бесплатно и напрямую.

virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Got SIP response 503 «Service Unavailable»

Сообщение vladv » 11 окт 2013, 10:13

понял, спасибо. пробую tcpdump

vladv
 
Сообщений: 229
Зарегистрирован: 21 авг 2012, 17:06

Re: Got SIP response 503 «Service Unavailable»

Сообщение ded » 11 окт 2013, 10:21

Изображение

ded
 
Сообщений: 15464
Зарегистрирован: 26 авг 2010, 19:00

Re: Got SIP response 503 «Service Unavailable»

Сообщение vladv » 11 окт 2013, 11:40

:) пошел по схеме, научился делать tcpdump, wireshark — установлен, ловит пакеты, жду ошибку для изучения. Ну и соответсвенно изучения выхлопа вайршарка. Вот.
Спасибо за советы.

vladv
 
Сообщений: 229
Зарегистрирован: 21 авг 2012, 17:06

Re: Got SIP response 503 «Service Unavailable»

Сообщение vladv » 11 окт 2013, 19:24

Добрый вечер друзья.
Не взглянете, wireshark. Это один звонок, firstleg от телефона к эластиксу, secondleg от эластикса к провайдеру.
Эластикс, проговаривает «все линии заняты». С мобильного если звонить на этот номер, то «неправильно набран номер». Набор других номер через этого провайдера идет нормально.
404 Not found в некоторых случаях меняется на 403 Forbidden или 408 Request Timeout.

Вложения
first leg.JPG
firstleg
second leg.JPG
secondleg
vladv
 
Сообщений: 229
Зарегистрирован: 21 авг 2012, 17:06


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

<--- SIP read from UDP:172.16.0.6:5060 --->
INVITE sip:390009@192.168.3.2;user=phone SIP/2.0
Allow:INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,PRACK,REFER,SUBSCRIBE,NOTIFY,UPDATE
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK1dc51679dd2f51ca
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1482 INVITE
Contact: <sip:485485@172.16.0.6:5060>
Expires:90
Max-Forwards:70
Supported: replaces
User-Agent: dlink 12-3868-1709-0.10.56.1-DSA
Content-Type: application/sdp
Content-Length: 229

v=0
o=485485 2207805700 2207805700 IN IP4 172.16.0.6
s=Session SDP
c=IN IP4 172.16.0.6
t=0 0
m=audio 9000 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=fmtp:8 vad=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
<------------->
--- (14 headers 11 lines) ---
Sending to 172.16.0.6:5060 (NAT)
Using INVITE request as basis request - BD21-1117-471006102A80D015A4BF-012@SipHost
Found peer '485485' for '485485' from 172.16.0.6:5060

<--- Reliably Transmitting (NAT) to 172.16.0.6:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK1dc51679dd2f51ca;received=172.16.0.6;rport=5060
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>;tag=as1b333b47
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1482 INVITE
Server: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="7f62044a"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog 'BD21-1117-471006102A80D015A4BF-012@SipHost' in 32000 ms (Method: INVITE)

<--- SIP read from UDP:172.16.0.6:5060 --->
ACK sip:390009@192.168.3.2;user=phone SIP/2.0
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK1dc51679dd2f51ca
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>;tag=as1b333b47
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1482 ACK
Max-Forwards:70
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---

<--- SIP read from UDP:172.16.0.6:5060 --->
INVITE sip:390009@192.168.3.2;user=phone SIP/2.0
Allow:INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,PRACK,REFER,SUBSCRIBE,NOTIFY,UPDATE
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK3c5e3f90d78251df
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1483 INVITE
Contact: <sip:485485@172.16.0.6:5060>
Expires:90
Max-Forwards:70
Authorization:Digest username="485485",realm="asterisk",nonce="7f62044a",uri="sip:390009@192.168.3.2;user=phone",response="46ad1c02712007c4f7f31706c4443e5b",algorithm=MD5
Supported: replaces
User-Agent: dlink 12-3868-1709-0.10.56.1-DSA
Content-Type: application/sdp
Content-Length: 229

v=0
o=485485 2207805700 2207805700 IN IP4 172.16.0.6
s=Session SDP
c=IN IP4 172.16.0.6
t=0 0
m=audio 9000 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=fmtp:8 vad=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
<------------->
--- (15 headers 11 lines) ---
Sending to 172.16.0.6:5060 (NAT)
Using INVITE request as basis request - BD21-1117-471006102A80D015A4BF-012@SipHost
Found peer '485485' for '485485' from 172.16.0.6:5060
Found RTP audio format 8
Found RTP audio format 101
Found audio description format PCMA for ID 8
Found audio description format telephone-event for ID 101
Capabilities: us - 0x8 (alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x8 (alaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port 172.16.0.6:9000
Looking for 390009 in local-phones (domain 192.168.3.2)
list_route: hop: <sip:485485@172.16.0.6:5060>

<--- Transmitting (NAT) to 172.16.0.6:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK3c5e3f90d78251df;received=172.16.0.6;rport=5060
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1483 INVITE
Server: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:390009@192.168.3.2:5060>
Content-Length: 0


<------------>

<--- Reliably Transmitting (NAT) to 172.16.0.6:5060 --->
SIP/2.0 503 Service Unavailable
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK3c5e3f90d78251df;received=172.16.0.6;rport=5060
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>;tag=as356451b2
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1483 INVITE
Server: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
-Asterisk-HangupCause: User busy
X-Asterisk-HangupCauseCode: 17
Content-Length: 0


<------------>

<--- SIP read from UDP:172.16.0.6:5060 --->
ACK sip:390009@192.168.3.2;user=phone SIP/2.0
Via: SIP/2.0/UDP 172.16.0.6:5060;branch=z9hG4bK3c5e3f90d78251df
From: "485485" <sip:485485@192.168.3.2>;tag=5634894f-100610
To: <sip:390009@192.168.3.2;user=phone>;tag=as356451b2
Call-ID: BD21-1117-471006102A80D015A4BF-012@SipHost
CSeq: 1483 ACK
Max-Forwards:70
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---
Really destroying SIP dialog 'BD21-1117-471006102A80D015A4BF-012@SipHost' Method: ACK

    enter code here

Добрый день, познаю астериск по книге В 5й главе завел 2 точки PJSIP через БД. Все авторизуется без проблем.
Простой диалплан:

[general]
[globals]
[sets]
exten => 100,1,Dial(PJSIP/0000f30A0A01)
exten => 101,1,Dial(PJSIP/0000f30B0B02)
exten => 102,1,Dial(PJSIP/SOFTPHONE_A)
exten => 103,1,Dial(PJSIP/SOFTPHONE_B)
exten => 200,1,Answer()
 same => n,Playback(hello-world)
 same => n,Hangup()

вот мой конфиг pjsip.conf

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0
cert_file=/home/asterisk/certs/self-signed.crt   
priv_key_file=/home/asterisk/certs/self-signed.key

Когда регистрирую на сервере 2 точки с транспортом «transport-tls» : софтфон (microsip) и zoiper(на мобильном телефоне) — звонки успешно идут только на мобильный телефон. с мобильного zoiper на софтфон не идут звонки. вот что выдает при этом pjsip show history

5fbf7e8d03154058732887.jpeg

Аналогичная ситуация если я регистрирую вместо софтфона microsip — обычный voip телефон Yealink SIP-T19P.

Если зарегистрировать обоих абонентов с мобильных телефонов(zoiper) то звонки ходят в двух направлениях без проблем.

вот что в консоли астериска при этом:

5fbf806643c06170717100.jpeg

И при всем этом если я возьму одного из абонентов — абонента с транспортом [transport-udp] то все работает.

астериск 16.15.0 в virtualBOX, сетевой мост, операционка centos7, кодеки ulaw, SELinux на Permissive

куда копать, как и какие логи еще смотреть?

Спасибо

I’m writing a dial plan using phpAgi, there are some cases that it should reject an SIP call with error code 503 (service not available)

I’d appreciate your help

asked Nov 3, 2015 at 21:33

Reza Abolfathi's user avatar

Use Congestion command

pro-sip*CLI> core show application Congestion 

  -= Info about application 'Congestion' =- 

[Synopsis]
Indicate the Congestion condition. 

[Description]
This application will indicate the congestion condition to the calling
channel.

[Syntax]
Congestion([timeout])

[Arguments]
timeout
    If specified, the calling channel will be hung up after the specified
    number of seconds. Otherwise, this application will wait until the calling
    channel hangs up.

[See Also]
Busy(), Progress(), Playtones(), Hangup()

answered Nov 4, 2015 at 4:04

arheops's user avatar

arheopsarheops

1,2532 gold badges11 silver badges17 bronze badges

Hangup(34) will do it.

exten => _NXXNXXXXXX,n,Hangup(34)

Dessa Simpson's user avatar

answered Jan 11, 2019 at 18:20

Erik L Smith's user avatar

1

Outbound calls error with «all circuits busy» or «congestion»:

This is the default configuration of Asterisk regardless of the actual error generated (which is infuriating when you are trying to diagnose the real problem) unless PBX is updated to send back the real error rather than the changed error. This error most commonly occurs when the call is not authenticating properly, at which point check the above in the SIP trunk configuration (If Asterisk, swap username= for defaultuser= to see if this solves the issue. Just because a trunk is showing as registered does not mean it will authenticate correctly.

Outbound calls fail with SIP error 488 (Not Accepted Here) or I-SUP errors 58 (bearer capability not available) or 88 (incompatible destination):

Check the codecs allowed in the SIP trunk configuration above, VoiceHost only supports: alaw, ulaw, gsm
If a codec is defined in Asterisk that is not one of the above, or is offering a differing sample rate or interval rate (e.g. 8000/20i — 8000Hz at 20ms) cannot interwork with 16000/30i — 16000Hz at 30ms) the call will fail and the codecs in the SIP trunk configuration need to be aligned to use one of the above codecs.

Inbound calls fail with SIP error 408 (Request Timeout):

Check the inbound number is mapped in the system correctly, if necessary the SIP trunk on the portal can be configured to strip the plus, e.g. if Asterisk is configured to use plus somewhere else. Check the trunk is registered. Ascertain how long the 408 error took to come back if it was immediate the trunk is usually unregistered if it took a few seconds the number is usually not mapped correctly.

Calls fail with SIP error 503, I-SUP errors 34 or 38:

If our platform replies back with 503 it usually means the gateway trying to process the call can’t due to «issues», or the customer has hit their Calls-Per-Second (CPS) limit and is sending too many calls at once. Sometimes the error is passed back from IP Exchange through VoiceHost to the customer’s system, at which point the call will usually hunt to another route to try and place the call.
 

Cause code (ISUP) SIP Equivalent Definition
1 404 Not Found Unallocated (unassigned) number
2 404 Not found no route to network
3 404 Not found no route to destination
16 BYE or CANCEL (*) normal call clearing
17 486 Busy here user busy
18 408 Request Timeout no user responding
19 480 Temporarily unavailable no answer from the user
20 480 Temporarily unavailable subscriber absent
21 403 Forbidden (+) call rejected
22 410 Gone number changed (w/o diagnostic)
22 301 Moved Permanently number changed (w/ diagnostic)
23 410 Gone redirection to new destination
26 404 Not Found (=) non-selected user clearing
27 502 Bad Gateway destination out of order
28 484 Address incomplete address incomplete
29 501 Not implemented facility rejected
31 480 Temporarily unavailable normal unspecified
34 503 Service unavailable no circuit available
38 503 Service unavailable network out of order
41 503 Service unavailable temporary failure
42 503 Service unavailable switching equipment congestion
47 503 Service unavailable resource unavailable
55 403 Forbidden incoming calls barred within CUG
57 403 Forbidden bearer capability not authorized
58 503 Service unavailable bearer capability not presently
65 488 Not Acceptable Here bearer capability not implemented
70 488 Not Acceptable Here only restricted digital avail
79 501 Not implemented service or option not implemented
87 403 Forbidden user not member of CUG
88 503 Service unavailable incompatible destination
102 504 Gateway timeout recovery of timer expiry
111 500 Server internal error protocol error
127 500 Server internal error interworking unspecified

Понравилась статья? Поделить с друзьями:
  • Asterisk 401 ошибка
  • Asterios ошибка fast update data
  • Asterios ping error
  • Astar 4d ошибка сервера
  • Assoc exe exefile как исправить