Установите модуль Asterisk SIP Settings
Предполагается что с вашего сервера/роутера проброшены порты:
5060 UDP - для инициации SIP соединения.
10000 - 20000 UDP - для голосовых пакетов. (диапазон можно уменьшить в файле /etc/asterisk/rtp.conf)
Установите следующие значения
NAT - yes
IP configuration - Static IP
Extern IP - 123.123.123.123 -внешний IP адрес
Local Networks - 192.168.0.0/255.255.255.0 -локальная сеть
Reinvite Behavior - No
Источник: http://www.asterisk-pbx.ru/wiki/doku.php/freepbx/freepbx_nat
Еще кое что:
Пробрасываем порты к серверу asterisk наружу через NAT
Добавляем или создаем переменную natd_flags в rc.conf на роутере, где крутится NAT:
natd_flags="-redirect_port udp 10.1.1.1:5060 5060 -redirect_port udp 10.1.1.1:10000-20000 10000-20000"
Здесь:
10.1.1.1 – сервер с астериском
udp 5060 – стандартный сигнальный порт
udp 10000-20000 – стандартный диапазон портов для голосовой связи
Добавляем в ipfw.conf:
ipfw="/sbin/ipfw -q"
ext_ip=222.222.222.222 #ваш внешний статический IP-адрес
server_ip=10.1.1.1 #внутренний адрес сервера asterisk
ext_iface=xl0 #внешний интерфейс
#Asterisk port mapping
${ipfw} add 121 divert natd udp from any to ${ext_ip} dst-port 5060,10000-20000 in recv ${ext_iface}
${ipfw} add 122 divert natd udp from any to ${ext_ip} src-port 5060,10000-20000 in recv ${ext_iface}
${ipfw} add 123 divert natd udp from ${server_ip} to any dst-port 5060,10000-20000 out xmit ${ext_iface}
${ipfw} add 124 divert natd udp from ${server_ip} to any src-port 5060,10000-20000 out xmit ${ext_iface}
${ipfw} add 125 pass udp from any to ${server_ip} dst-port 5060,10000-20000 via any
${ipfw} add 126 pass udp from any to ${server_ip} src-port 5060,10000-20000 via any
${ipfw} add 127 pass udp from ${server_ip} to any dst-port 5060,10000-20000 via any
${ipfw} add 128 pass udp from ${server_ip} to any src-port 5060,10000-20000 via any
После этого перезагружаем NAT и фаэрвол. Все, на этом port mapping для asterisk завершен.
Настройка sip.conf
Правим в sip.conf:
bindport=5060 ;стандартный сигнальный порт asterisk
bindaddr=0.0.0.0 ;по-умолчанию биндим астериск на всех интерфейсах
externip = 222.222.222.222 ;ваш внешний ip-адрес, которым будет представляться asterisk
localnet=10.1.1.0/255.255.255.0 ;диапазон локальных адресов
canreinvite=no
Информация по последнему параметру хорошо описана здесь, а описание самой сути процесса REINVITE – здесь.
Для настроек аккаунтов следует обратить внимание на следующие опции:
qualify=yes ;проверка аккаунтов. Используется для поддержки записи в таблице трансляций NAT и мониторинга пира.
nat=yes, no, never, route ;в зависимости от местоположения устройства за NAT или нет
Настраиваем диапазон портов RTP
rtp.conf:
[general]
rtpstart=10000
rtpend=20000
На этом настройку можно считать законченной.
Источник: http://www.mahno.su/freebsd/asterisk-freebsd/vyivod-asterisk-za-nat-pod…
Коментувати