Asterisk продолжает сбивать с толку публичные c и частные IP-адреса, поэтому звонки не имеют звука, когда софтфоны находятся за NAT - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь настроить систему VoIP, используя звездочку и пользовательские мобильные приложения для звонков между пользователями. Система работает отлично, когда настроена в той же сети, но после развертывания на онлайн-сервере из-за того, что софтфоны находятся за NAT, аудио не проходит, но все пакеты SIP принимаются правильно, и софтфоны звонят, но когда звонок открыт На обеих конечных точках звук не слышен. Я везде смотрел о том, как настроить звездочку для работы с конечными точками за NAT, но все в Интернете говорит о sip на старых версиях Asterisk. Но я использую последнюю версию Asterisk, которая использует Pjsip.conf, я пробовал разные настройки для конечных точек, но RTP по-прежнему путает IP-адреса и пытается перенаправить пакеты RTP на частный IP вместо publi c IP. Я пробовал rewrite_contact, direct_media, force_rport, ice_support, rtp_symmetri c с различными параметрами, похоже, не нашел идеальной настройки.

Кто-нибудь делал это раньше? У вас есть какая-нибудь документация, на которую я могу посмотреть последние версии Asterisk?

Ответы [ 3 ]

0 голосов
/ 30 апреля 2020

Похоже, что Pjsip хочет соединить конечные точки напрямую и потерпеть неудачу в этой ситуации. Быстрое и тестируемое решение использует различный код c для каждой конечной точки, например, один ulaw и другой gsm, затем Asterisk перекодирует кодеки и носители не будет передавать напрямую между конечными точками.

Лучшее решение для проблемы обхода nat - это использование Rtpproxy + Kamailio + Asterisk . с этой комбинацией пользователям не нужно применять какие-либо настройки для nat, и они будут подключаться в любой ситуации, если Whatsapp может подключить ваше приложение и подключиться!

Asterisk сам по себе является ip pbx и не может работать как sip-прокси, с мобильными приложениями пользователь будет менять местоположение и переключаться с wifi на сотовую сеть, и для каждого сценария может потребоваться новая конфигурация!

https://kb.asipto.com/asterisk: в режиме реального времени: kamailio-4.0.x-звездочка-11.3.0-astdb

https://dopensource.com/2017/05/31/installing-configuring-rtpproxy/

https://richardskingdom.net/howto-kamailio-sip-proxy-nat-debian-wheezy

0 голосов
/ 05 мая 2020

Видимо, это не то, что нужно делать при развертывании звездочки. Это была проблема клиента, на клиентском sip-телефоне должен был быть включен RPORT для мультимедиа, и я использовал MizuDroid, у которого не было этой функции. Как только я переключился на Zoiper и включил эту опцию, все стало работать правильно.

0 голосов
/ 30 апреля 2020

Конечно, много людей делали это раньше.

На официальном сайте есть документы об этом

https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip+to+work+through+NAT

...