Меню

Asterisk sip settings настройка



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

Yes/No

Implementation

Fixed/Adaptive

Jitter Buffer Logging

Enable/Disable

Jitter Buffer Size

Advanced General Settings

Language

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

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.

Источник

База знаний

Обзор модуля Asterisk Sip Settings в FreePBX

Вкладка General SIP Settings

Перейдем к настройке. Для этого, открываем SettingsAsterisk 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 – клиентам внутри локальной сети определять свой публичный адрес;
Читайте также:  Мегафон настройки gprs wap mms для

Вкладка 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);

В более старых версиях FreePBX, использовался порт 5060 (когда только 1 SIP драйвер был в наличии). В более новых, используется 5160);

        • TLS Bind Address – TCP порт на котором Asterisk слушает TLS (защищенные) обращения. Конфигурация вида [::] , слушает IPv4 и IPv6 на всех интерфейсах;

Важно: мы рекомендуем использовать PJSip для всех коммункаци на базе протокола IPv6;

Источник

Читайте также:  Defender sirocco m30 pro настройка

Asterisk – начальная настройка

После установки заходим в shell Asterisk:

Обратите внимание на ключи, c которыми запускается shell. Количество ключей «v» влияет на количество выводимой информации при звонке, их количество варьируется от 1 до 14.

Если установка прошла успешно и Астериск запустился, вы увидите вот такое приглашение:

Первое что вам требуется сделать — создать пиров в файле /etc/asterisk/sip.conf.

И сразу переходим в конец файла. Вставляем следующий текст:

Мы завели двух внутренних пиров с номерами 100 и 101. Разберем эти настройки, так как их понимание — ключ к успешному внедрению Астериска.

[internal], это имя шаблона, а (!) указатель шаблона.
Почему сразу начинаем использовать шаблоны? Потому что они сокращают время настройки и уменьшают количество текста с конфигурационном файле, а для понимания они очень просты.

Доступные параметры: «peer», «user» и «friend». Очень часто встречается ошибочное мнение относительно того, чем они отличаются. Многие считают, что параметр «user» разрешает только исходящие, «peer» — только входящие звонки, а «friend» разрешает звонки в обе стороны. Это не так. Использование ключа «peer» отключает проверку соответствия имени пользователя и пароля при звонке. При использовании параметра «peer», Астериском проверяется только соответствие IP-адреса и номера порта источника вызова, при использовании «user» — проверяется поле username, а проверка адреса источника не производится. Параметр «friend» заставляет проверять поле username и IP-адрес источника.

При первоначальной настройке пропишите оба ключа.

Контекст, в котором будут обрабатывается исходящие звонки от этого устройства. Подробности чуть ниже.

Имя SIP-домена. Для первоначальной настройки укажите IP адрес сервера с Астериском.

IP-адрес пира. В случае использования авторизации по логину и паролю — ставьте dynamic. Конкретный IP указывается только в том случае, если настройки пира используются для транка без регистрации.

Указываем разрешенные кодеки.

В нашем примере первая строка запрещает использование всех кодеков, а вторая — разрешает g711-a. Настройки кодеков индивидуальны для каждого случая, однако, большинство Российских и Украинских провайдеров используют g711a и g729. Последний — пропиетарный, и Астериском поддерживается лишь в Passthrough-режиме (то есть, невозможен транскодинг).

Эта строка заставляет Астериск опрашивать устройство или софтфон пакетами OPTIONS. Необходим для мониторинга и траблшутинга.

Запрещает пересылать медиа напрямую между устройствами. Рекомендую ставить «no», для упрощения настройки.

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

Тут мы задаем имя пира и берем настройки из шаблона. Единственные уникальные параметры в нашем примере — имя пира и пароль.
На этом мы закончили настраивать внутренних пиров, перейдем к настройке стыка с операторами. Добавим 2 записи в конец sip.conf:

Не буду расписывать значения каждой строки, т.к. все настройки идентичны настройкам внутренних пиров, за исключением поля host. В том случае, если Астериск выступает в роли клиента (а для сервера оператора наш астериск является клиентом), нам нужно указать адрес сервера оператора или его dns-имя.

Добавим второго оператора:

Отличий тоже никаких, за исключением отсутствия строк username и secret, так как, напомню, второй оператор не использует регистрацию.

Осталось настроить регистрацию на сервере оператора №1. Для этого в файле sip.conf, перед секцией описывающей настройки оператора вставим следующую строку:

Синтаксис, для неподготовленного человека, выглядит сложным, поэтому не заморачивайтесь и просто позвоните в саппорт провайдера и узнайте у них о том, как регистрироваться на сервере Астериском, либо попросите выслать настройки. Как правило, большинство операторов без проблем высылают пример конфигурации под свои софт-свитчи.

На этом настройка пиров закончена, ее достаточно для работы в минимальной конфигурации, сохраняем и закрываем файл и возвращаемся в шелл Астериска командой:

В шелле Астериска пишем команду:

Теперь вы можете зарегистрировать на своем Астериске пользователей с логинами 100 и 101. Проверяется состояние регистрации следующей командой:

Если вы все настроили правильно, то увидите примерно вот такой вывод:

Если вы это видите, то, поздравляю, ваши устройства или софтфоны успешно зарегистрировались и Астериск увидел сервера операторов.

Читайте также:  Настройка xiaomi yi action camera basic edition

Состояние регистрации проверяется командой:

Если регистрация прошла успешно, то вы должны увидеть вот такой вывод:

На этом настройка пиров закончена, перейдем к настройке диалплана. Диалплан — это сердце Астериска, с помощью него обрабатываются абсолютно все звонки. Астериск понимает несколько языков, но в нашем примере мы будем использовать стандартный, появившийся в самых первых релизах Астериска. Файл конфигурации хранится в файле /etc/asterisk/extensions.conf.

Откроем его командой:

В стандартных файлах конфигурации хранится много дефолтных правил. Они нам не нужны, поэтому очистим содержимое и пропишем следующее:

Это параметры необходимые для нормального чтения диалплана, поэтому менять их не следует.

Начнем с простого. Нам нужно позвонить с номера 100, на номер 101. Для этого нужно прописать правило, сразу после секции globals:

Разберем эту строку.
[office] — имя контекста, в котором обрабатываются звонки от пира.
exten => — указатель начала шага.
_1XX — маска. На маске остановимся чуть подробнее. С помощью нее сортируются все звонки, попадающие в контекст диалплана.

Маска использует набор паттернов для сортировки звонков по caller-id:

Маска начинается с символа “_”, который означает что это шаблон. В случае, если вы забудете указать его, Астериск примет 1XX за вызываемый номер и передаст Dial-у паттерны вместо номера телефона, и звонок не состоится.
1 — номер действия.

Dial — это приложение. В диалплане можно использовать более 200 различных приложений, которые используются для манипуляций со звонками. Сейчас, в самом начале, мы будем использовать только одно приложение — Dial. Из названия понятно, что оно используется для совершения звонков.

(SIP/$) — аргументы для приложения. В нашем примере, для внутренних пиров мы используем протокол SIP, поэтому первый аргумент, который мы передаем dial-у — указывает на используемый протокол сигнализации. $ — текущий экстеншен, его значение берется из заголовка (из поля destination).

/ — разделитель для передаваемых аргументов.

Каждый из параметров разделяется запятыми. В нашем примере используются трехзначные номера, поэтому в маске должно быть 3 паттерна. В случае, если вы захотите использовать иную длину нумерации, то пишите в маске нужное количество паттернов. Теперь сохраняем файл, открываем шелл астериска и пишем команду:

И снова перезагружаем диалплан через шелл Астериска.

Теперь пробуем звонить. Если вы все правильно настроили, то пир с номером 100 дозвонится до пира с номером 101. Сейчас мы можем звонить внутри офиса, между пирами, которые работают в контексте office. Для того что бы позвонить в город, нам нужно написать правило для исходящих звонков через первого оператора. Прописываем его в контекст office, выглядит оно так:

Перезагружаем диалплан и пробуем звонить в город.

Теперь нам надо принять входящий звонок. Сделаем новый контекст в диалплане, пишем в конец файла:

Поясню что означает «s». Это стандартная маска в Астериске, под которую попадают абсолютно все вызовы. То есть, если мы используем транк с регистрацией, входящий caller-id будет «s».

Сохраняемся и перезагружаем диалплан. Теперь мы можем принять входящий звонок через оператора, предоставляющего нам городской номер.

Сейчас нам понадобилось позвонить на сотовый телефон, с федеральным номером. Допишем еще одну строку в контекст [office]:

Сохраняемся, перезагружаем диалплан и звоним. Все. Теперь мы можем полноценно использовать услуги оператора, предоставляющего городской номер.

Однако, тут кроется небольшая проблема, которая возникнет при звонке на сотовые телефоны других регионов. Так как номер телефона федеральный, то все звонки пойдут через первого оператора. Поэтому уместно уменьшить размер масок в диалплане. К примеру:

С такой конструкцией все звонки на телефоны с кодами из диапазонов 890982XXXXX-890999XXXXX и 8901421XXXX-8901651XXXX пойдут через первого оператора. Не совсем удобно, соглашусь с этим. В будущих статьях выложу конфигурацию диалплана для автоматического выбора оператора в зависимости от направления звонка, так как подобное опять же выходит за рамки этой статьи.
Теперь нам осталось пустить междугородние звонки через второго оператора. Добавляем строку в контекст [office]:

Как вы заметили, тут появились новые приложения, которые обрабатывают звонки. Set(CALLERID(num)=74991234567) — так как мы используем транк без регистрации, то это значит что мы должны отсылать оператору caller-id. Этот номер не обязательно должен существовать. Тут мы просто представляемся провайдеру и не более. Какой номер подставлять — зависит от оператора. Некоторые предоставляют услугу подмены caller-id на номер другого оператора, для совершения исходящих вызовов по межгороду или для зоновуй связи. За подробностями обращайтесь к оператору. same => n — указатель, который позволяет не писать каждый раз маску и номер действия. К примеру:

Можно заменить на:

Во втором случае все гораздо проще, не так ли?

На этом все, мы настроили Астериск. Теперь мы можем звонить в город, на сотовые, по межгороду и у нас есть внутренняя связь между пирами. Получаем вот такой, вполне рабочий диалплан:

На этом базовая минимальная настройка завершена.

Источник

Adblock
detector