Продолжаем говорить про модули FreePBX. Сегодня спешим рассказать про очень важный модуль - Asterisk Sip Settings. Корректная настройка этого модуля имеет сильно влияет на параметры прохождения голосового трафика и проблем односторонней слышимости. От слов к делу.
include '../static/php/content/promo.php'; ?>
Вкладка General SIP Settings
Перейдем к настройке. Для этого, открываем Settings → Asterisk Sip Settings. Пробежимся по опциям, которые доступны для настройки:
- Allow Anonymous inbound SIP Calls - если данная опция переключена в позицию Yes, ваша IP – АТС Asterisk будет обрабатывать звонки, поступающие с неизвестных IP –адресов в контексте from – pstn. Обычно, выбор данной опции в положение Yes связан с включением набора по SIP URI. Учтите, что включенная опция значительно увеличивает риски связанные с безопасностью системы;
- External Address - в данном поле необходимо указать ваш внешний IP – адрес. Помимо прочего, нажав на Detect Network Settings АТС автоматически определит параметры внешнего IP – адреса и внутренних локальных подсетей;
- Local Networks - локальные подсети, из которых будут подключаться ваши SIP – устройства. Синтаксис прост: сетевой IP – адрес/маска. Например, 192.168.1.0/255.255.255.0. Есть возможность добавить несколько подсетей нажав на кнопку Add Local Network;
- RTP Settings
- RTP Ranges -начальный и конечный UDP порты для RTP трафика. В целом, данный диапазон можно посчитать. Знайте, что для каждого звонка нужно иметь по крайне мере 4 порта;
- RTP Checksums - подсчитывать ли контрольную сумму для UDP, который переносит RTP трафик (голос);
- Strict RTP - данная опция будет отбрасывать RTP пакеты, который приходят не от источника RTP – потока в рамках сессии;
- Codecs - выберите нужные кодеки. Важно учесть порядок кодеков – он влияет на приоритет установления кодека в рамках SDP сообщений;
- STUN Servers - указать IP – адрес STUN сервера. Если кратко, STUN помогает преодолеть проблемы с NAT – он помогает SIP – клиентам внутри локальной сети определять свой публичный адрес;
Вкладка Chan SIP Settings
Переходим к настройке chan_sip.
- NAT Settings
- NAT - настройка NAT (Network Address Translation) для Asterisk.
- yes - использовать NAT;
- no - использовать трансляцию согласно RFC3581. Если кратко, то данный RFC позволяет отправлять ответа на порт, с которого запрос был получен, вместо порта, взятого из заголовка Via в SIP пакете;
- never - не использовать NAT согласно RFC3581;
- route - данная опция подойдет для клиентов, которые не отрабатывают поле rport в заголовках SIP сообщений (согласно RFC3581 );
- IP Configuration - в данном поле вы можете указать параметры внешнего IP. Вы можете указать вручную ваш внешний IP – адрес, а также использовать DDNS (Dynamic DNS);
- Audio Codecs
- Non-Standard g726 - порой пир устанавливает порядок инициации параметров аудио потока (характерно для некоторых моделей Sipura и Grandstream) для кодека G726 с полосой пропускания 6, 24, 32, и 40 килобит/сек. Если требуется, установите эту опцию в положение Yes;
- T38 Pass-Through - позволяет сквозное пропускание факсов через Asterisk без дополнительной обработки и внесения изменений по протоколу T38;
- No - выключить сквозной режим;
- Yes - включает T38 в режиме коррекции ошибок FEC (Forward Error Correction), а так же переписывает значение, предоставленное оконечным устройством, согласно которому мы можем отправить факс – пакеты размером 400 байт по протоколу T38;
- Yes with FEC - включает T38 в режиме коррекции ошибок FEC;
- Yes with Redundancy - включает T38 в режиме отказоустойчивой коррекции ошибок FEC;
- Yes with no error correction - включает T38 без коррекции ошибок;
- Video Codecs
- Video Support - включив эту опцию в переключатель Enabled, вам будет предложено настроить кодеки для видео – звонков.;
- TLS/SSL/SRTP Settings
- Enable TLS -включить поддержку защищенных подключений по TLS;
- Certificate Manager - включить сертификат для поддержки TLS. Его можно легко настроить в модуле Certificate Manager;
- SSL Method - метод передачи SSL транспорта (только для TLS). По умолчанию используется sslv2;
- Don't Verify Server - не запрашивать проверку сертификата сервере (настройка влияет только на TLS).;
- MEDIA & RTP Settings
- Reinvite Behavior - опция, которая позволяет перенаправить поток данных RTP в случае, если пир находится не за NAT (средствами RTP это можно детектировать по IP – адресам);
- RTP Timeout - сброс канала, на котором отсутствует голосовые потоки (пакеты) RTP/RTCP в течение указанного времени. Важно отметить, что постановка вызова на hold не является триггером для данного поля настройки.;
- RTP Hold Timeout -сбросить звонок, поставленный на удержание после истечения таймера (в секундах) этого поля;
- RTP Keep Alive - отправлять Keep Alive сообщения (проверки жизнеспособности сервиса) для поддержки NAT – сессии (в случае постановки вызова на удержание особенно актуально);
- Notification & MWI
- MWI Polling Freq - частота в секундах, в рамках которой будет производиться проверка смены статуса MWI (световая индикация, Message Waiting Indication) и отправка статуса пирам;
- Notify Ringing - опция позволяет контролировать состояние абонента, понимая, что его телефон используется (INUSE) получением пакета SIP 180 RINGING. Удобно при использовании BLF функционала;
- Notify Hold - контроль абонента и перевод в состояние INUSE, если звонок поставлен на удержание (событие ONHOLD).;
- Registration Settings
- Registration Timeout - таймаут регистрации. По умолчанию, равен 20 секунд. Иными словами, каждые 20 секунд будет отправляться запрос на регистрацию, пока не будет превышено максимальное количество попыток;
- Registration Attempts - количество попыток регистрации, после которого сервер примет решение перестать отправлять запросы. Если выставлено как 0, то количество запросов ограничено не будет. В нормальной ситуации, значение 0 является вполне рабочим – Asterisk будет продолжать посылать запросы на регистрацию до тех пор, пока очередная попытка не увенчается успехом;
- Registration Minimum Expiry - минимальное время, в течение которого сессия регистрации будет считаться просроченной;
- Registration Maximum Expiry - максимальное время, в течение которого сессия регистрации будет считаться просроченной (для входящих регистраций);
- Registration Default Expiry - длительность входящих и исходящих регистраций по умолчанию;
- Jitter Buffer Settings
- Enable Jitter Buffer - данная опция активирует использование джиттер буффера на принимающей стороне в рамках одного SIP – канала;
- Advanced General Settings
- Default Context - контекст обработки вызова по умолчанию, если не указан иной контекст. Сам по себе FreePBX назначает данную опцию как from-sip-external. Вносите изменения только в том случае, если полностью понимаете, что делаете;
- Bind Address - в данном поле указывается IP – адрес, на котором Asterisk будет ожидать запросы на телефонный процессинг, на порту, указанном в опции Bind Port. Если указано как 0.0.0.0, Asterisk будет принимать запросы на всех адресах, указанных в настройках ОС. Рекомендуем оставить эту опцию без изменений. Кстати, chan_sip не поддерживает IPv6 для транспорта UDP. Если укажите
[::]
, Asterisk будет слушать все IPv4 и все IPv6 адреса. Если вы настолько круты, что используйте PJSip, то смело используйте IPv6 :) - Bind Port - локальный UDP (и TCP, если включено в опции Enable TCP) порт, на котором Asterisk слушает обращения к chan_SIP. Если оставить поле пустым, то по умолчанию будет использован порт 5060 (5160);
- TLS Bind Address - TCP порт на котором Asterisk слушает TLS (защищенные) обращения. Конфигурация вида
[::]
, слушает IPv4 и IPv6 на всех интерфейсах; - TLS Bind Port - локальной порт для входящих TCP обращений в рамках TLS SIP пакетов;
- Allow SIP Guests - если установлено в положение Yes, то Asterisk разрешит гостевые SIP звонки и обработает их в контексте from-sip-exernal (или значение дефолтного контекста, если меняли). Переключение в положение No позволит запретить так же и анонимные звонки;
- Enable SRV Lookup - данная опция сильно зависит от используемой версии Asterisk. В корреляции с версией, SRV функционал имеет свои ограничения;
- Enable TCP - включить TCP;
- Call Events - важная опция если вы работаете с AMI (Asterisk Manager Interface). При включенной опции, вы сможете мониторить различных события в AMI, которые генерирует SIP UA (user agent). Данный функционал полезен при разработке собственных приложений. ;
- Other SIP Settings - прочие SIP – настройки, которые вы можете указать вручную (добавить соответствующее поле и его значение);
В более старых версиях FreePBX, использовался порт 5060 (когда только 1 SIP драйвер был в наличии). В более новых, используется 5160);
Важно: мы рекомендуем использовать PJSip для всех коммункаци на базе протокола IPv6;