Меню

asterisk настройка транка за nat

FreePBX за NAT

Установите модуль Asterisk SIP Settings

Установите следующие значения

IP configuration — Static IP

Extern IP123.123.123.123 -внешний IP адрес

Local Networks192.168.0.0/255.255.255.0 -локальная сеть

Reinvite BehaviorNo

FreePBX Asterisk SIP Settings

Глобальные настройки могут быть переопределены для конкретных FreePBX 13 Extensions — Внутренние номера или транков в модуле FreePBX SIP Trunk.

Изменить использование драйвера можно в модуле Settings > Asterisk Settings — Dialplan and Operational — SIP Channel Driver

General SIP Settings

Chan SIP

IP Configuration

External IP

IP адрес через который осуществляются внешние регистрации. (Внешний IP роутера или IP внешнего интерфейса данной машины)
Например:

Local Networks

Внутренние подсети из которых возможны регистрации.
Например:

Audio Codecs

Список Аудио кодеков используемых в системе.

Non-Standard g726

Нестандартный g726 для некоторых типов оборудования. yes/no

T38 Pass-Through

Поддержка T38 в транзитном режиме. Например если канал или устройство используют Т38,
Asterisk обеспечит транзит без обработки медиа потока(без конвертации кодеков). yes/no

Video Codecs

Video Support

Enable/Disable — Если включить появится список поддерживаемых кодеков:

Max Bit Rate

Максимальная полоса пропускания для видео:
по умолчанию 384 kb/s

MEDIA & RTP Settings

Reinvite Behavior

Поведение ReInvite — см. подробнее > reinvite

RTP Timers

rtpholdtimeout. Завершает звонок если в установленное в секундах значение rtpholdtimeout не обнаруживается активности RTP или RTCP в аудио канале при состоянии on Hold (в ожидании). Значение должно быть > чем rtptimeout.

RTP Port Ranges

Диапазон Real Time Protocol портов используемых Asterisk

Notification & MWI

Уведомления и Индикатор ожидающих сообщений(MWI)

MWI Polling Freq

Частота запросов в секундах для обновления информации о пирах.

Notify Ringing

Контролирует внутренний номер о состоянии абонента INUSE получением пакета RINGING если уже принят один звонок. Удобно при использовании BLF — Busy Lamp Functionality. yes/no

Notify Hold

Контролирует внутренний номер о состоянии абонента INUSE получением пакета ONHOLD если звонок поставлен на ожидание Удобно при использовании BLF — Busy Lamp Functionality. yes/no

Registration Settings

Registrations

registertimeout. Повторяет попытки регистрации каждые N секунд, указанные в registertimeout до успешной регистрации, или при достижении указанного ограничения в registrationattempts.

registrationattempts. Количество попыток регистрации. Значение 0 соответствует бесконечному числу попыток. Обычное значение указывается 0 для того, чтобы Астериск продолжал попытки зарегистрироваться при пропадании локальной сети или маршрута в публичных сетях.

Registration Times

minexpiry. Минимальное значение действия регистрации/подписки.

maxepiry. Максимально возможное время действия для входящих регистраций.

defaultexpiry. Дефолтное значение действия входящих и исходящих регистраций.

Jitter Buffer Settings

Jitter Buffer

Enabled/Disabled

Force Jitter Buffer

Implementation

Fixed/Adaptive

Jitter Buffer Logging

Enable/Disable

Jitter Buffer Size

Advanced General Settings

Language

Язык звуковых сообщений в канале SIP .

Читайте также:  canon 280 сброс настроек

Default Context

Контекст по умолчанию для входящих вызовов. Если не указано, то from-sip-external.

Bind Address

IP адрес на котором ‘слушаются’ входящие вызовы. Если указано 0.0.0.0, то будут «прослушиваться» все доступные IP адреса. Рекомендуется оставить это поле ПУСТЫМ.

Bind Port

Allow SIP Guests

Allow Anonymous Inbound SIP Calls

SRV Lookup

Call Events

Other SIP Settings

Добавьте кастомные установки, которые вам требуются.

транслировать КПВ или сообщение из канала (например, по умолчанию, при вызове на занятый или отключенный мобильный телефон, Астериск сообщит что все канала заняты, что вводит пользователей в замешательство. Включенная установка progressinband позволит транслировать в канал сообщение о занятости или недоступности абонента от провайдера.

Chan_PJSIP

General Chan PjSIP Settings

В данном модуле настраивается транспортный уровень драйвера pjsip.

источник

Решение проблем NAT в IP-телефонии Asterisk

NAT или трансляция сетевых адресов — довольно часто используется в сети. Но при использовании NAT необходимо учитывать тот факт, что данная технология может создавать препятствия для прохождения голосовых пакетов, а также инициализации соединений. Существует несколько схем нахождения SIP клиента и сервера Asterisk за NAT. Рассмотрим некоторые из них и способы решения проблем.

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

В данной ситуации решением проблемы будет заключаться в следующем: в файле sip.conf указывается что включен NAT и используется внешний IP, тогда Asterisk будет использовать внешний IP для всех клиентов, кроме явно указанных в праметре localnet. Также стоит установить для сервера параметр qualify, равный примерно 300 миллисекунд — сервер будет опрашивать устройства в сети через заданный промежуток времени. Также возможно целесообразно будет разрешить использовать устройствам технологию Reinvite.

Пример:
sip.conf
[general]
localnet=192.168.1.10/255.255.255.0 ; локальная сеть
externip=88.128.221.1 ; внешний ip адрес
[client]
nat=yes ; включить НАТ
qualify=300 ; проверять соединение каждые 300 мс.

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

Решение данной проблемы заключается в следующем: необходимо в явном виде указать серверу Asterisk, что он находится за NAT ( в файле sip.conf); перенаправить входящие потоки RTP на Asterisk ( в файле rtp.conf указаны порты для RTP соответственно эти порты и должны быть открыты); и последним шагом необходимо запретить Reinvite, т.е. пустить все потоки через Asterisk, запретив телефонам соединяться напрямую.

Читайте также:  настройки bounce в logic

Пример:
[general]
localnet=192.168.1.10/255.255.255.0 ; локальная сеть
externip=88.128.221.1 ; внешний ip адрес
[client]
nat=yes ; включить НАТ
canreinvite=no
rtp.conf
rtpstart=10000
rtpend=20000

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

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

Пример проброса портов:
iptables -t nat -A PREROUTING -i eth0 -p udp -m udp —dport 10000:12000 -j DNAT —to-destination 192.168.1.10
iptables -t nat -A PREROUTING -i eth0 -p udp -m udp —dport 5060 -j DNAT Клиент за NAT —to-destination 192.168.1.10
Где eth0 — внешний интерфейс, а 192.168.1.10 — IP адрес Asterisk.

источник

NAT, SIP и Asterisk

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

Reinvite

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

Клиент за NAT

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

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

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

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

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

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

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

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

Читайте также:  cube mini 75w настройки

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

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

sip.conf

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

localnet

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

externaddr
externhost

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

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

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

media_address
icesupport
directmedia

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

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

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

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

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

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

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

directmedia

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

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

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

rtp.conf

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

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

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

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

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

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

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

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

local_net

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

external_media_address
external_signaling_address
direct_media

Удаленные телефоны за NAT

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

источник

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

Adblock
detector