Внутренний вызов Asterisk не маршрутизируется корректно. Невозможно получить транспорт PJSIP ‘udp,tcp,ws,wss’ для конечной точки ‘anonymous’

Вопрос или проблема

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

Когда я делаю входящий звонок, я получаю следующую ошибку:

[2016-03-02 12:47:30] ERROR[4687]: res_pjsip.c:2370 sip_get_tpselector_from_endpoint: Не удалось получить PJSIP транспорт 'udp,tcp,ws,wss' для конечной точки 'anonymous'

Однако он не должен взаимодействовать с PJSIP. Мой порт привязки CHAN_SIP – 5061, а FXO порт был настроен на безусловный переадресацию на:

[email protected]:5061

Пользователь 601 – это группа вызовов, которая все еще работает внутри сети. PJSIP настроен на прослушивание порта 5099. (изменено для попытки предотвратить принятие вызова FXO)

Я прошел через ошибки 401, 500 и всевозможные другие проблемы, пытаясь диагностировать проблему; дни поисков и изменения настроек пока не помогли.

На стороне Asterisk FXO порт настроен как транк с следующими

входящими настройками:

USER conext=incoming

type=peer
username=60
fromuser=60
insecure=port,invite
host=10.0.100.24
dtmf=rfc2833
port=5062

allow=alaw&ulaw&g729
qualify=yes

Это отображается как пир, но не в реестре. Ранее у меня было расширение с таким же именем пользователя, но я его удалил, это имя пользователя обрабатывало голосовую почту при отсутствии ответа. Посмотрю о его добавлении, как только вызов пройдет снова. Пользователь был настроен как PJSIP:600, когда это работало, но я изменил его на нового пользователя @ 60, чтобы предотвратить утечку старой конфигурации PJSIP.

sip show peers

Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description
Incoming/60             10.0.100.24                                 Yes        Yes            5062     OK (18 ms)

Я получаю следующее от Wireshark:

SIPStack(1)::cb_rcv: Получен 403 ответ для транзакции 3(REGISTER)

Что похоже на ответ FORBIDEN. Не знаю, что проверить по этому поводу.

Если я пытаюсь набрать FXO порт. Я получаю следующее в Wireshark:

Call(1)::Call, создание объекта вызова 1 на порту 1:0 с цифрами <sip:[email protected]:5061>
ATACtrl::Call, невозможно выполнить вызов, statusCode = 500, chan status = CALL_DIALED
Dispatching event: 17 (CALL_FAILED)) на порту 1:0

И Asterisk выдает ошибку, которую я имел в начале проблемы.

[2016-03-02 12:47:30] ERROR[4687]: res_pjsip.c:2370 sip_get_tpselector_from_endpoint: Не удалось получить PJSIP транспорт 'udp,tcp,ws,wss' для конечной точки 'anonymous'

С помощью sip set debug ip 10.0.100.24 я получаю следующее:

Надежно отправка (NAT) на 10.0.100.24:5062:
OPTIONS sip:10.0.100.24 SIP/2.0
Via: SIP/2.0/UDP 10.0.100.8:5061;branch=z9hG4bK7b2af600;rport
Max-Forwards: 70
From: "Неизвестный" <sip:[email protected]:5061>;tag=as373eb1a0
To: <sip:10.0.100.24>
Contact: <sip:[email protected]:5061>
Call-ID: [email protected]:5061
CSeq: 102 OPTIONS
User-Agent: FPBX-12.0.76.2(13.4.0)
Date: Ср, 02 Мар 2016 02:09:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0


---

<--- SIP чтение от UDP:10.0.100.24:5062 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.100.8:5061;branch=z9hG4bK7b2af600;rport=5061
From: "Неизвестный" <sip:[email protected]:5061>;tag=as373eb1a0
To: <sip:10.0.100.24>;tag=698745166
Call-ID: [email protected]:5061
CSeq: 102 OPTIONS
Supported: replaces, path, timer, eventlist
User-Agent: Grandstream HT-503 V2.0A 1.0.14.1 chip V2.2
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE
Content-Length: 0

<------------->
--- (10 заголовков 0 строк) ---
Действительно уничтожение SIP диалога '[email protected]:5061' Метод: OPTIONS
[2016-03-02 13:09:42] ERROR[6385]: res_pjsip.c:2370 sip_get_tpselector_from_endpoint: Не удалось получить PJSIP транспорт 'udp,tcp,ws,wss' для конечной точки 'anonymous'

Я нашел этот файл, pjsip.endpoint.conf:

#include pjsip.endpoint_custom.conf

[anonymous]
type=endpoint
context=from-sip-external
allow=all
transport=udp,tcp,ws,wss

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

Я совершенно запутался и был бы рад любым идеям, куда смотреть дальше.

В моей системе, работающей с Twilio SIP транками, эта ошибка была решена изменением Транка -> Настройки PJSIP -> Регистрация на Никакая.

Ответ или решение

Ваша проблема с Asterisk, где внутренние вызовы не маршрутизируются должным образом и появляется ошибка "Unable to retrieve PJSIP transport ‘udp,tcp,ws,wss’ for endpoint ‘anonymous’", может быть вызвана различными факторами. Давайте внимательно рассмотрим возможные причины и предложим решения.

Анализ проблемы

  1. Конфликт протоколов: Судя по вашему описанию, кажется, что система пытается использовать PJSIP для обработки вызова, хотя вы указали, что используете CHAN_SIP на порту 5061. Это может происходить из-за неправильной маршрутизации вызовов или конфликта конфигураций.

  2. Конфигурация FXO адаптера: Вы изменили некоторые настройки FXO адаптера, возможно, это привело к его некорректной работе. Проверьте все параметры адаптера и убедитесь, что они соответствуют тому, что было настроено ранее.

  3. Настройки PJSIP: Ваша конфигурация PJSIP в файле pjsip.endpoint.conf для анонимного доступа может подразумевать, что система ожидает или пытается установить соединение через PJSIP, что не соответствует вашим текущим настройкам CHAN_SIP.

  4. Ошибки регистрации: У вас есть запись об ошибке 403 (FORBIDDEN) от FXO адаптера, это может указывать на проблемы с разрешениями или аутентификацией.

Рекомендации по решению

  1. Проверьте настройки PJSIP и CHAN_SIP: Убедитесь, что в конфигурации Asterisk правильно настроены оба протокола и что они не конфликтуют. Если вы не собираетесь использовать PJSIP, просто отключите его и убедитесь, что FXO адаптер настроен на использование правильного канала (CHAN_SIP).

  2. Удалите анонимный конечный пункт: Если PJSIP конфигурация не используется, убедитесь, что анонимный конечный пункт в pjsip.endpoint.conf не конфликтует с вашими текущими настройками. Попробуйте временно удалить или закомментировать этот раздел и перезагрузите Asterisk.

  3. Настройки FXO адаптера: Вернитесь к исходным настройкам FXO адаптера. Проверьте, сохранялись ли предыдущие параметры до внесения изменений. Попробуйте перезагрузить его и проверить, правильные ли IP адреса и порты указаны (например, 5062 для FXO).

  4. Запись и анализ журналов: Продолжайте отслеживать логи (с помощью sip set debug и других команд), чтобы увидеть, что происходит при получении вызовов и как отправляются запросы. Это может дать ключевые подсказки о том, где именно происходит сбой в процессах.

  5. Обновление и настройки транков: Если у вас все еще есть проблемы, попробуйте изменить параметры регистрации в настройках транков, как вы указали. Попробуйте установить регистрацию в "None" для трансляции вызовов и убедитесь, что используемые порты верные для вашего сценария маршрутизации.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...