Вообщем ситуация такая: Астериск стоит в виртуальной машинке. Машинка забриджована в домашнюю вайфай сеть (192.168.1.0). АДСЛ Роутер Speedtouch 780WL ((192.168.1.1) раздает всем интернет по вайфаю, является НАТом, на нем поднят DynDNS, а также на роутере поднят свой СИП клиент (в роутер воткнут домашний телефон). В связи с тем, что порт 5060 используется роутером, астериску дал порт 5555. На роутере его пробросил до астериска (замаппил). Также пробросил порты 10000-20000 UDP. Астериск НЕЛЬЗЯ поставить в VPS, так как астер работает с физическим модемом Huawei E1550. В sip.conf прописываю следующее: [general] bindport = 5555 nat=route externhost=LOGIN.dyndns.info externrefresh=10 localnet=192.168.1.0/255.255.255.0 qualify=yes allowguest=no
В такой ситуации SIP пиры (операторы СИП) находятся в статусе UNREACHABLE pctel/LOGIN 217.73.112.14 N 5060 UNREACHABLE powervoip/LOGIN 77.72.169.131 5060 UNREACHABLE
Если же закомментировать строку localnet=192.168.1.0/255.255.255.0 То операторы будут доступны, но не будет голоса (тишина) при звонке из интернета на астериск (из вне - например с сотового через ЖПРС). Внутри локальной сети все будет нормально.
Подскажите, что нужно сконфигурить, чтобы и линки до операторов стояли и голос был при звонках снаружи.
Была такая же проблема, в общем нужно было в настройках сипа указать все локальные сети, что бы при запросе астера (option) в теле пакета не было внешнего адреса сервера. Если локальные сети перечислины протокол сип с ними начинает работать как надо.
Еще некоторые идеи:
А nat=route в [general] зачем? Он же перебивается nat=yes в секциях SIP пиров.
Посмотрите внимательно в sip show settings на все что связано с НАТом. В частности что там в Externhost
UNREACHABLE означает что клиент не ответил на пинг через SIP OPTIONS пакет. Значит нужно проследить его судьбу дампом на Астере, роутере и клиенте. Если он дошел до клиента, то посмотреть где затерялся ответ на него.
как вариант LOGIN.dyndns.info не равно ващему внешнему адресу.
Я нашел решение! На роутере была отключена функция SIP ALG комманда через комманд лайн: connection unbind application=SIP port=5060 После этого пиры стали в состоянии OK
http://www.voiptuts.com/2011/02/disable-sip-alg-on-speedtouch.html
Я тоже нашел решения всех своих бед с регистрацией sip провайдеров) Роутер от лукавого у меня это FreeBSD ранее было решение это бинат что не совсем правильно т.к. Астериск таким образом "прикидывается" роутером. Понятия как ALG на FreeBSD конечно же нет, а решение это nat static port чтобы сессия была одна и та же, если кому нужно будет могу написать конкретные правила
DJs3000 ( 2011-11-08 17:24:11 +0400 )редактироватьЗадан: 2011-09-26 20:50:02 +0400
Просмотрен: 15,829 раз
Обновлен: Sep 05 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.