Какие порты открыть для asterisk
Перейти к содержимому

Какие порты открыть для asterisk

  • автор:

Asterisk помогите понять порты

В общем суть, где и какие порты открывать в 3 случаях:

а)Asterisk на VDS, т.е. не за NAT-ом б)Клиенты в офисах за роутером (NAT) на софтфонах 

Допустим на VDS нет фаервола или он есть, но все цепочки ACCEPT, тогда нужно ли открывать порты 10000-20000 на VDS, по сути они открыты получается, так?

И нужно ли на роутере клиентов открывать порты 10000-20000 для передачи голоса или софтфонам это не нужно? Если нужно, то обязательно ли открывать порты на роутере для звонков на внутренние sip номера (101,102 и т.д.)

а)Asterisk на VDS, т.е. не за NAT-ом б)Клиенты на мобилках с софтфоном (оператор билайн) для звонков только на внутренние sip номера. 

может ли Билайн блочить rtp пакеты до прихода на астериск?

а)Asterisk внутри LAN за NAT-ом б)Клиенты в офисах за роутером (NAT) на софтфонах, и на мобилках с софтфоном. 

Правильно ли я понял, что для звонков внутри локальной сети без vpn и прочего. На сервере с asterisk должен быть открыт порт 5060 и 10000-20000, но чтобы звонить в другие филиалы или чтоб с другого филиала подключились к астериску нужно чтобы в роутере были проброшены те же порты.

Ну и sip.conf немножко кастомизировать

localnet externip nat=yes 

testvtigercrm123
13.06.19 11:19:50 MSK

Хм, т.е в 1 случае у вас сервак голой жопой наружу?

Silerus ★★★★
( 13.06.19 11:44:06 MSK )
Ответ на: комментарий от Silerus 13.06.19 11:44:06 MSK

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

Sent RTP P2P packet to 100.122.252.254:42994 (type 08, len 000160) Sent RTP P2P packet to 192.168.10.61:10000 (type 08, len 000160) Sent RTP P2P packet to 100.122.252.254:42994 (type 08, len 000160) Sent RTP P2P packet to 192.168.10.61:10000 (type 08, len 000160) Sent RTP P2P packet to 100.122.252.254:42994 (type 08, len 000160) Sent RTP P2P packet to 192.168.10.61:10000 (type 08, len 000160) 

а должно вроде еще Got идти типо так

Got RTP packet from 192.168. 10284 (type 08, seq 020993, ts 3334415728, len 000160) Sent RTP packet to 192.168. 10284 (type 08, seq 012334, ts 010240, len 000160) Got RTP packet from 192.168. 10284 (type 08, seq 020994, ts 3334415888, len 000160) Sent RTP packet to 192.168. 10284 (type 08, seq 012335, ts 010400, len 000160) Got RTP packet from 192.168. 10284 (type 08, seq 020995, ts 3334416048, len 000160) 

testvtigercrm123
( 13.06.19 12:56:58 MSK ) автор топика
Ответ на: комментарий от testvtigercrm123 13.06.19 12:56:58 MSK

и так должны быть открыты порты с 5060 по 9060 tcp и 10000-20000 udp, кроме того ранее asterisk очень неохотно общался через нат потому делали так: телефоны общались локально с серваком, в филиалах и главном были свои астериск сервера, которые общались между собой по впн, а для провайдера форвардились порты наружу

Какие порты открыть для Asterisk/FreePBX?

img

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

Доступ администратора системы

Порт Транспорт (UDP/TCP) Назначение Смена порта Безопасность Дополнительно
22 TCP Подключение к SSH консоли Может быть изменен только через Linux CLI Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Порт используется для SSH подключения к АТС извне
80 FreePBX
2001 PBXact
TCP Графический интерфейс по HTTP (не HTTPS) Можно поменять через графический интерфейс по пути System Admin > Port Management Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Используется для пользовательского доступа к WEB — интерфейсу АТС
443 TCP Графический интерфейс по HTTPS Можно поменять через графический интерфейс по пути System Admin > Port Management Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Используется для пользовательского доступа к WEB — интерфейсу АТС. Использует SSL шифрование

Какие порты открыть для Asterisk/FreePBX?

Доступ для SIP/IAX устройств
Порт Транспорт (UDP/TCP) Назначение Смена порта Безопасность Дополнительно
5060 UDP Порт получения телефонной сигнализации модулем chan_PJSIP Есть возможность изменить порт в рамках графического интерфейса АТС в модуле SIP Settings Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Стандартный порт для сигнализации модуля chan_PJSIP
5061 Порт получения защищенной телефонной сигнализации модулем chan_PJSIP Есть возможность изменить порт в рамках графического интерфейса АТС в модуле SIP Settings Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Защищенный порт для сигнализации модуля chan_PJSIP
5160 UDP Порт получения телефонной сигнализации модулем chan_SIP Есть возможность изменить порт в рамках графического интерфейса АТС в модуле SIP Settings Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Стандартный порт для сигнализации модуля chan_SIP
5161 Порт получения защищенной телефонной сигнализации модулем chan_SIP Есть возможность изменить порт в рамках графического интерфейса АТС в модуле SIP Settings Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Защищенный порт для сигнализации модуля chan_SIP
10000-20000 UDP Получение RTP потока в рамках SIP сессии Есть возможность изменить порт в рамках графического интерфейса АТС в модуле SIP Settings Можно открывать данные диапазон и, зачастую, это является требование SIP — провайдеров (RTP трафик зачастую приходит с различных IP — адресов)ё Порты, необходимые для голосовой составляющей телефонного звонка
4569 UDP Работа протокола IAX Есть возможность изменить порт в рамках графического интерфейса АТС в модуле SIP Settings Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Используется для транкового объединения серверов и оконечных устройств.
Доступ к UCP (User Control Panel)
Порт Транспорт (UDP/TCP) Назначение Смена порта Безопасность Дополнительно
81 TCP Графический интерфейс UCP по HTTP (не HTTPS) Порт можно поменять через FreePBX в System Admin > Port Management Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие). Для удаленных пользователей используйте HTTPS Порт доступа к пользовательской панели UCP
4443 TCP Графический интерфейс UCP по HTTPS Порт можно поменять через FreePBX в System Admin > Port Management Можно оставлять открытым в сеть, так как трафик шифрован, а так же происходит аутентификация пользователей Порт доступа к пользовательской панели UCP с помощью SSL шифрования
8088 TCP Порт для WebRTC клиентов Порт можно поменять через FreePBX в Advanced Settings > Asterisk Builtin mini-HTTP > HTTP Bind Port Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие). Для удаленных пользователей используйте HTTPS Необходим для реализации WebRTC звонков через UCP (звонок через броузер)
8089 TCP Порт для шифрования WebRTC клиентов Порт можно поменять через FreePBX в Advanced Settings > Asterisk Builtin mini-HTTP > HTTPS Bind Port Можно оставлять открытым в сеть, так как трафик шифрован, а так же происходит аутентификация пользователей Необходим для реализации WebRTC звонков с шифрованием через UCP (звонок через броузер)
8001 TCP Node Server — получение информации в реальном времени в рамках UCP Порт можно поменять через FreePBX в Advanced Settings > UCP NodeJS Server > NodeJS Bind Port Не рекомендуется оставлять порт открытым в публичную сеть (не вызывающую доверие) Процесс отвечает за real — time активности: всплывающая информация, чаты и прочее
8003 TCP Node Server (защищенные подключения) Порт можно поменять через FreePBX в Advanced Settings > UCP NodeJS Server > NodeJS HTTPS Bind Port Можно оставлять открытым в сеть, так как трафик шифрован, а так же происходит аутентификация пользователей Процесс отвечает за real — time активности: всплывающая информация, чаты и прочее

Остальные порты зависят от ваших конкретных требований: наличие RMS компонента мониторинга, Zulu, функционала провижнинга (EPM) и прочие.

Какие порты открыть для asterisk

Новичком считается только что прочитавший «Астериск — будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Сообщений: 4 • Страница 1 из 1

Asterisk помогите понять порты

testvtigercrm123 » 13 июн 2019, 15:26

В общем суть, где и какие порты открывать в 3 случаях:
1)
а)Asterisk на VDS, т.е. не за NAT-ом
б)Клиенты в офисах за роутером (NAT) на софтфонах
Допустим на VDS нет фаервола или он есть, но все цепочки ACCEPT, тогда нужно ли открывать порты 10000-20000 на VDS, по сути они открыты получается, так?

И нужно ли на роутере клиентов открывать порты 10000-20000 для передачи голоса или софтфонам это не нужно? Если нужно, то обязательно ли открывать порты на роутере для звонков на внутренние sip номера (101,102 и т.д.)

2)
а)Asterisk на VDS, т.е. не за NAT-ом
б)Клиенты на мобилках с софтфоном (оператор билайн) для звонков только на внутренние sip номера.
может ли Билайн блочить rtp пакеты до прихода на астериск?

3)
а)Asterisk внутри LAN за NAT-ом
б)Клиенты в офисах за роутером (NAT) на софтфонах, и на мобилках с софтфоном.
Правильно ли я понял, что для звонков внутри локальной сети без vpn и прочего. На сервере с asterisk должен быть открыт порт 5060 и 10000-20000, но чтобы звонить в другие филиалы или чтоб с другого филиала подключились к астериску нужно чтобы в роутере были проброшены те же порты.

Ну и sip.conf немножко кастомизировать

testvtigercrm123 Сообщений: 34 Зарегистрирован: 13 июн 2019, 15:18

Re: Asterisk помогите понять порты

ded » 13 июн 2019, 15:52

testvtigercrm123 писал(а): нужно ли открывать порты 10000-20000 на VDS, по сути они открыты получается, так?

testvtigercrm123 писал(а): И нужно ли на роутере клиентов открывать порты 10000-20000 для передачи голоса или софтфонам это не нужно? Если нужно, то обязательно ли открывать порты на роутере для звонков на внутренние sip номера (101,102 и т.д.)

Не нужно.
Абоненты на Астериске стоят как host=dynamic & nat=force_rport,comedia и это видно при выполнении
CLI> sip show peers

testvtigercrm123 писал(а): может ли Билайн блочить rtp пакеты до прихода на астериск?

3) Изучите тему VPN, у вас как-то всё сумбурно.
У вас есть tcpdump, он помогает во всех случая 1) 2) и 3)

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

Re: Asterisk помогите понять порты

testvtigercrm123 » 13 июн 2019, 17:46

Спасибо за совет сделать Код: выделить все nat=force_rport,comedia , после этого звук был с обоих сторон, до этого было значение Код: выделить все nat=no

Я тут немного поэкспериментировал, не подскажите когда необходимо ставить значение? Код: выделить все nat=no

[102] — пк с софтфоном (zoiper) за натом
[103] — смарфон с софтфоном zoiper or linphone (тестировалось как с wifi соединением так и с мобильным интернетом)

И так суть теста ,

1)
Код: выделить все [102] :nat=no
[103] :nat=no
Звука нет в обе стороны

2)
Код: выделить все [102] :nat=no
[103] :nat=force_rport,comedia
Звук слышен только в одну сторону со стороны [102]

3)
Код: выделить все [102] :nat=force_rport,comedia
[103] :nat=no
Звук слышен только в одну сторону со стороны [103]

4)
Код: выделить все [102] :nat=force_rport,comedia
[103] :nat=force_rport,comedia
Звук слышен в обе стороны

NAT, SIP и Asterisk

Трансляция сетевых адресов ( NAT ) является обычной практикой в сети и нередко мешает прохождению голосовых пакетов (нет звука) и инициализации соединений (нет соединения). Решение этой проблемы требует понимания принципов работы NAT и VoIP . В этой статье рассматривается протокол SIP и Asterisk, но проблемы и решения применимы и к большинству других приложений и протоколов.

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

Если у вас нет звука, нет звука в одну сторону, нет слышимости, прочтите внимательно эту инструкцию.

Reinvite

Первый абонент запрашивает соединение у второго , сообщая свой IP адрес. Второй отвечает, сообщая свой IP. Голосовые пакеты направляются напрямую абонентам, минуя SIP сервер. Передача голосовых пакетов напрямую абонентам, минуя Asterisk, называется RE-INVITE или Native Bridge.

NAT может вызвать проблемы в нескольких местах.

Если одна из АТС находится за NAT , другая АТС не сможет связаться с ней, без проброса портов.

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

Клиент за NAT

В простейшей ситуации SIP клиент находясь за NAT , обращается к внешнему интерфейсу Asterisk. SIP клиент при регистрации на сервере создает запись в таблице трансляций, которая сохраняется, пока проходит хотя бы один пакет в минуту. В файле sip.conf требуется определить параметры сети и свойства удаленного пира.

[general] localnet=192.168.0.0/255.255.255.0 ; локальная сеть externip=x.x.x.x ; внешний ip адрес [sip_phone] nat=yes qualify=300 ; проверять соединение каждые 300 мс.

Начиная с версии Asterisk 11: ‘nat=yes’ устарело, используйте ‘nat=force_rport,comedia’
nat=force_rport,comedia

nat=force_rport,comedia directmedia=nonat

При такой конфигурации Asterisk использует внешний IP адрес externip для вызовов клиентов с параметром nat=yes . Дополнительно параметр qualify=yes поддерживает соединение, не позволяя удалять запись из таблицы трансляций.

SIP клиенты и Asterisk за NAT

Все усложняется если и Asterisk, и клиенты, находятся за NAT . Клиенты с внешней стороны не смогут получать SIP сообщения и принимать звонки. Или в SIP сообщении будет указан локальный IP адрес телефона, что приведет к потере звука.

Чтобы избежать потери звука запретите re-invite в файле sip.conf

[general] canreinvite => no

Опция canreinvite устарела. Используйте ‘directmedia’.

directmedia=yes
directmedia=nonat
directmedia=update
directmedia=outgoing

Но клиенты находящиеся за NAT , все равно не смогут инициировать соединение с Asterisk и направить голосовые пакеты RTP на требуемый екстеншен. Для того чтобы это работало, надо пробросить требуемые порты через брандмауер на Asterisk. Диапазон RTP портов используемых Asterisk, назначается в файле rtp.conf.

[general] rtpstart=10000 rtpend=10100

По умолчанию задан диапазон от 10000 до 20000. Измените диапазон в соответсвии с вашими потребностями (3 порта на каждый конкурирующий вызов).

Для нормальной работы за NAT , потребуется пробросить диапазон RTP портов в соответсвии с настройками в файле rtp.conf и порт SIP (обычно 5060). В iptables это будет выглядеть так:

iptables -t nat -A PREROUTING -i eth0 -p udp \ -m udp --dport 10000:10100 -j DNAT \ --to-destination 192.168.1.10 iptables -t nat -A PREROUTING -i eth0 -p udp \ -m udp --dport 5060 -j DNAT \ --to-destination 192.168.1.10

Где eth0 — внешний интерфейс, а 192.168.1.10 — IP адрес Asterisk.

Основные параметры конфигурации NAT для Asterisk

sip.conf

Поддержка NAT в Asterisk 12
localnet

параметр ‘localnet’ список сетевых адресов, которые считаются «внутренними».

localnet=192.168.0.0/255.255.0.0 - RFC 1918 адреса localnet=10.0.0.0/255.0.0.0 - Также RFC1918 localnet=172.16.0.0/12 - Другое RFC1918 с CIDR обозначением localnet=169.254.0.0/255.255.0.0 - Zeroconf локальная сеть
externaddr

Внешний адрес щлюза (маршрутизатора) во внешнюю сеть. «externaddr = hostname[:port]» указывает статический адрес[:port] который будет использован в SIP и SDP сообщениях. Имя хоста (hostname) поднимается каждый раз, когда [пере]загружается sip.conf. Если порт не назначен, используется значение указанное в параметре «udpbindaddr». примеры:

externaddr = 123.34.56.78: - использовать этот адрес. externaddr = 123.34.56.78:9900 - использовать этот адрес и порт.
externtcpport = 9900 - отображаемый наружу tcp порт externtlsport = 12600 - отображаемый наружу tcp порт; 'externtlsport' по рекомендации RFC назначенный порт 5061.
externhost

«externhost = hostname[:port]» то же что и «externaddr» только это ‘hostname’ обновляемое через «externrefresh» секунд (по умолчанию 10сек.).

externhost=foo.dyndns.net - обновлять периодически externrefresh=180 - задать интервал обновления

В дополнение к вышесказанному Asterisk имеет дополнительный параметр « NAT » для разрешения вопросов, связанных со входящими SIP или медиа сессиями. В частности, в зависимости от настроек ‘ NAT =’ как описано ниже, Asterisk может переопределить адрес / порт информацию, указанную в SIP / SDP сообщениях.

nat = no - без NAT RFC3581 nat = force_rport - использовать rport, даже если его нет nat = comedia - отправить медиа поток на порт ASterisk, независимо от указаний SDP. nat = auto_force_rport - установить 'force_rport' параметр если Asterisk обнаружил NAT (по умолчанию) nat = auto_comedia - установить 'comedia' параметр если Asterisk обнаружил NAT

настройки могут совмещаться:

nat=force_rport,comedia

RFC 3581 определяет что ‘rport’ позволяет клиенту запросить, чтобы Asterisk отправлял SIP ответы на него через исходный IP и порт, с которого был направлен запрос, вместо адреса / порта из самого верхнего Via заголовка.

Установка force_rport принуждает Asterisk всегда передавать ответы обратно на адрес / порт, с которых он получил запросы, даже если другая сторона не поддерживает добавления параметра ‘rport’.

media_address

IP адрес используемый для медиа (аудио, видео и текста) в SDP может быть переназначен параметром ‘media_address’. Данный параметр может быть использован только в секции [general].

media_address = 172.16.42.1
icesupport

ICE / STUN / TURN использование может быть включено глобально или для конкретного пира с помощью ‘icesupport’ опции.

icesupport = yes
directmedia

Для отключения прямых RTP потоков (peer-to-peer) используйте опцию:

directmedia=nonat
устаревшие настройки sip.conf

port= Порт используемый SIP протоколом для сигнализации (default=5060)

bindaddr= IP адрес Asterisk, если указано 0.0.0.0, то любой адрес.

externip= Этот параметр задается в секции [general] файла sip.conf и указывает внешний IP адрес, или имя хоста на вашем устройстве NAT .

externip=123.123.123.123

Этот адрес будет использован для общения с устройствами с установленным параметром nat=force_rport.

localnet= Этот параметр задается в секции [general] файла sip.conf и указывает на локальную сеть и используется для обращения к устройствам с параметром nat=no.

localnet=192.168.0.0/255.255.255.0
NAT

NAT = yes, no, never, route

NAT=route

Начиная с версии Asterisk 11: nat=yes is deprecated, use nat=force_rport,comedia instead

nat = no — без NAT RFC3581
nat = force_rport — использовать rport, даже если его нет
nat = comedia — отправить медиа поток на порт Asterisk, независимо от указаний SDP .

nat = auto_force_rport — установить ‘force_rport’ параметр если Asterisk обнаружил NAT (по умолчанию)

nat = auto_comedia — установить ‘comedia’ параметр если Asterisk обнаружил NAT

Asterisk будет отправлять голосовые пакеты на порт и IP адрес с которого их получает а не указанные в SIP и SDP сообщениях.

Это будет работать только, если телефоны за NAT будут использовать для одинаковый порт для голосовых пакетов RTP и одинаковый (но отличный от голосового) для сигнализации RTCP.

directmedia

directmedia=yes
directmedia=nonat
directmedia=update
directmedia=outgoing

qualify= Эта опция имеет два назначения.Первое — поддерживать запись в таблице трансляций NAT и контролировать регистрацию телефона.

qualify=yes

Этот параметр задает проверку по умолчанию каждые 2 секунды.

qualify=no

Это выключает проверку.

qualify=300

Включает проверку через заданное время в 300 ms.

rtp.conf

rtpstart=10000

Задает первый порт диапазона для приема и оправки голосовых пакетов RTP .

rtpend=10100

Задает последний порт диапазона для приема и оправки голосовых пакетов RTP .

stunaddr=sip.stun.tld

В Asterisk начиная с версии 11 появилась поддержка stun. icesupport должно быть включено.

Настройка res_pjsip для работы через NAT

В данной статье приведены примеры рабочей конфигурации драйвера канала PjSIP, когда Asterisk находится за NAT (Network Address Translation). Asterisk подключается через NAT к провайдеру IP телефонии (ITCP).

Этот пример подходит для большинства простых сценариев NAT при следующих условиях: Asterisk и телефоны находятся в частной сети. Маршрутизатор имеет локальный и публичный интерфейсы. Маршрутизатор реализует функции Трансляции Сетевых Адресов ( NAT ) и файерволла. На маршрутизаторе настроен проброс SIP и RTP портов на локальный IP адрес сервера Asterisk. В данном примере проброшены порты 5060 TCP/UDP и UDP 10000-10100 на LAN 10.10.2.10.

Устройства используемые в примере:

Устройство IP адрес в примере
VOIP телефон(7777) 10.10.2.77
PC/Asterisk 10.10.2.10
Маршрутизатор LAN : 10.10.2.1
WAN: 123.123.123.123
ITSP SIP шлюз 203.0.113.1(gw1.example.com)
203.0.113.2(gw2.example.com)

Для наглядности, в примере использованы фальшивые детали:

ITSP номер аккаунта : 123456789 и DID номер входящий от провайдера IP телефонии ( ITSP ): 3216111

pjsip.conf конфигурация

Подразумевается, что вы ознакомились со статьей о конфигурации Asterisk pjsip.conf и имеете основные представления о работе Asterisk. Для этого примера, важно отметить опции — local_net, external_media_address и external_signaling_address в transport секции и direct_media в endpoint секции. Остальные параметры могут зависеть от конкретной конфигурации, модели телефона, сетевых настроек, специфики провайдера IP телефонии и т.д.

local_net

Диапазон адресов локальной сети.

external_media_address

Внешний IP адрес используемый для обработки RTP трафика. Когда запрос или ответ на запрос отправляется из Asterisk и IP адрес назначение находится за пределами сетей указанных в параметре ‘local_net’, а медиа адрес в SDP сообщении из локальной сети, тогда медиа адрес из SDP сообщения перезаписывается значением назначенным в параметре ‘external_media_address’.

external_signaling_address

Это тоже самое что и ‘external_media_address’, только для SIP сигнализации, вместо RTP медиа трафика. Этим двум опциям внешних адресов, должен быть назначен один и тот же IP адрес, если вы, конечно, не хотите разделить сигнальный и медиа трафик и направить на разные IP адреса или сервера.

direct_media

Управляет медиа потоком, направляя RTP трафик непосредственно между конечными точками, или через Asterisk. (вспомните canreinvite из sip.conf) Вместе, использование этих опций, обеспечивает правильное прохождение SIP и RTP пакетами сетевых узлов, а ‘direct_media=no’ указывает, что именно Asterisk должен обрабатывать медиа трафик. Это важно, т.к. наша система Asterisk имеет локальный IP адрес и провайдер IP телефонии ( ITCP ) не может маршрутизировать трафик напрямую к нему, поэтому мыдолжны убедится что SIP и RTP трафик возвращается на WAN публичный интернет адрес нашего роутера. В секциях имена которых начинаются с «sip_provider_*», настраиваются входящие и исходящие подключения SIP транка, а в секциях [7777] VoIP телефон.

[transport-udp-nat] type=transport protocol=udp bind=0.0.0.0 local_net=10.10.2.0/24 local_net=127.0.0.1/32 external_media_address=123.123.123.123 external_signaling_address=123.123.123.123 [sip_provider_reg] type=registration transport=transport-udp-nat outbound_auth=sip_provider_auth server_uri=sip:gw1.example.com client_uri=sip:123456789@gw1.example.com contact_user=3216111 retry_interval=60 [sip_provider_auth] type=auth auth_type=userpass password=************ username=123456789 realm=gw1.example.com [sip_provider_endpoint] type=endpoint transport=transport-udp-nat section=from-trunk disallow=all allow=ulaw outbound_auth=sip_provider_auth aors=sip_provider_aor direct_media=no from_domain=gw1.example.com [sip_provider_aor] type=aor contact=sip:gw1.example.com contact=sip:gw2.example.com [sip_provider_identify] type=identify endpoint=sip_provider_endpoint match=203.0.113.1 match=203.0.113.2
[7777] type=endpoint section=from-internal disallow=all allow=ulaw transport=transport-udp-nat auth=7777 aors=7777 direct_media=no [7777] type=auth auth_type=userpass password=********* username=7777 [7777] type=aor max_contacts=2
Удаленные телефоны за NAT

Выше приведенный пример подразумевает, что телефон находится в локальной сети, так же как и сервер Asterisk.
Но может так статься, что Asterisk расположен на внешнем IP адресе, а удаленные телефоны находятся за NAT , или же и Asterisk, и телефоны расположены за NAT , т.е. имеет место двойной NAT ? В этих случаях пригодятся следующие настройки оконечных точек (ENDPOINTS)

media_address

IP адрес используемый SDP для обработки медиа трафика.

В момент создания SDP сообщения, IP адрес назначенный здесь(media_address=1.2.3.4), используется как медиа адрес для потока SDP . At the time of SDP creation, the IP address defined here will be used as the media address for individual streams in the SDP . Помните также , что опция ‘external_media_address’, заданная в секции transport , установит окончательный адрес для возврата медиа трафика.

rtp_symmetric

Обязательный симметричный RTP . Отправлять RTP назад на тот же адрес/порт с которого он был получен.

force_rport

Поведение обязательно совместимое с RFC 3581, т.е., если rport не указан, отправлять SIP ответы на тот же порт с которого были получены запросы.

direct_media

Управляет медиа потоком, направляя RTP трафик, непосредственно, между конечными точками, или через Asterisk.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *