1. Главная страница » Компьютеры » Elastix настройка sip транка

Elastix настройка sip транка

Автор: | 16.12.2019

Содержание

ShareIT — поделись знаниями!

Полезно

Узнать IP — адрес компьютера в интернете

Онлайн генератор устойчивых паролей

Онлайн калькулятор подсетей

Калькулятор инсталляции IP — АТС Asterisk

Руководство администратора FreePBX на русском языке

Руководство администратора Cisco UCM/CME на русском языке

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

Настройка внутренних номеров на Elastix

Маршрутизация вызовов в Elastix 4

Обработка вызова по времени в Elastix

Настройка Follow Me в Elastix 4

Настройка транка на Elastix 4

Простой процесс подключения к провайдеру

3 минуты чтения

В данной статье пойдет речь о модуле создания SIP — транков в Elastix последней версии (4.0). Процесс создания подключения проиллюстрируем на примере оператора Celecom.

Настройка в интерфейсе Elastix 4

Если вы когда-нибудь настраивали SIP — транк в FreePBX, то вы не найдете для себя ничего нового – интерфейс практически идентичен.

Для начала необходимо зайти на веб-интерфейс, и далее нужно пройти по следующему пути: PBXPBX ConfigurationTrunksAdd SIP Trunk

После клика на кнопку создания нового транка (Add SIP Trunk) появятся поля настройки подключения по протоколу SIP:

Рассмотрим поля по порядку:

  • Trunk Name – название вашего транка, лучше всего выбирать наиболее понятное и простое название, например – такое же как и название вашего оператора. По сути это поле является просто описанием, с помощью которого, вам будет проще ориентироваться во множественных подключениях.
  • Outbound CallerID – ваш исходящий CID, чаще всего номер, выданный вам оператором
  • CID Options – типы CID, которые могут выходить из этого транка, например, при звонке из-за границы, который был переведен на другой номер. Для базовой настройки можно оставить по умолчанию.
  • Maximum Channels – количество каналов, можно оставить по умолчанию
  • Asterisk Trunk Dial Options – правила набора номера через этот транк, для изменения необходимо кликнуть чекбокс. Можно оставить по умолчанию.
  • Continue if Busy – по умолчанию вызов будет идти через другой транк только в случае возникновения коллизии (congestion). Если кликнуть чекбокс, то звонок будет уходить на другой транк, даже если номер был занят или был неверно набран. Можно оставить по умолчанию.
  • Disable Trunk – выключение транка. Опция, полезная при траблшутинге (решении проблем с подключением) или при необходимости отключения определенного SIP — транка.

Дальнейшие поля при базовой настройке транка можно пропустить, перейдем к исходящим и входящим настройкам SIP — транка

Рассмотрим подробнее поля:

  • Trunk Name – уникальное название вашего транка, например mytrunk1
  • PEER Details — настройки, выданные вашим оператором
  • USER Context — как правило, это номер, выданный вашим оператором, но часто данную строку оставляют пустой
  • USER Details – настройки, выданные вашим оператором
  • Register String – строка регистрации, часто может быть различна у каждого оператора или не требоваться вовсе

Кнопка Duplicate Trunk – копирует транк и все его настройки, удобно использовать при создании нескольких транков у одного оператора. Далее приведем пример настройки транка на примере оператора Celecom:

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

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Читайте также:  Amd ryzen 3 2200g am4 box

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

FreePBX 13 — настройка SIP транка

Настройки поделены на три основных секции:

General

Определяет основные параметры SIP транка:

Trunk name

Имя транка для веб интерфейса. Сугубо описательное значение, для идентификации транка в веб интерфейсе FreePBX. Не используется непосредственно для вызовов. Назначьте удобное для вас имя, для легкого распознавания среди других транков.

Hide CallerID

Не сообщать удаленной стороне исходящий CallerID.
В большинстве случаев требуется передавать CallerID, но если вдруг понадобиться…
Yes No

Outbound CallerID

Задайте исходящий CallerID для данного транка. Во FreePBX Outbound CallerID может быть задан или модифицирован, в нескольких местах по пути обработки исходящего вызова.

CID Options

Но если выбрано другое значение CID Options, то Outbound CallerID внутреннего номера, или переназначенный в Outbound Routes, может быть модифицирован одним из перечисленных ниже значений в настройках транка.

Maximum Channels

Максимальное количество одновременных соединений через данный транк.

Asterisk Trunk Dial Options

Опции команды Dial для исходящих вызовов, через транк. По умолчанию, значение заданное в Asterisk Dial Options. Переопределяет системные опции, если выбрано override на заданные здесь.
Override System

Continue if Busy

Искать следующий доступный транк, если этот переполнен.
Yes No

Disable Trunk

Выключить, т.е. вывести транк из обслуживания. Обратите внимание, что на Register String этот триггер не распространяется.
Yes No

Dial Number Manipulation Rules

Преобразование набираемого номера
Преобразование набираемого номера в транке, происходит по тем же правилам, что и в Dial Patterns исходящей маршрутизации. Сначала выполняется преобразование в Outbound Routes, затем вызов попадает в модуль транка и выполняется последнее преобразование, если задано. Рассмотрим пример использования двух-этапного преобразования: Задан маршрут с шаблоном _8[09]XXXXXXXXX, который обслуживают несколько транков от разных провайдеров.
Один требует набирать ‘8’, а в другом надо отправлять ‘+7’.
Оставим транк требующий ‘8’, без преобразования.
В транке же, требующем ‘+7’, заменим 8-ку.

Prepend Prefix Match Pattern Caller ID
+7 8 [09]XXXXXXXXX

Вариантов может быть масса, но общий принцип, надеюсь ясен.

sip Settings

И, наконец, ключевые наcтройки sip пира. Во FreepBX они разделены на Outgoing и Incoming
Которые отвечают за исходящие type=peer и входящие вызовы type=user, соответственно.
Подробно с настройками sip.conf в Asterisk вы можете ознакомиться по ссылке
Здесь же рассмотрим основные параметры.

Outgoing

Большинство параметров указываются здесь.

username и secret

Основные параметры sip аутентификации, имя пользователя и пароль, как правило сообщаются провайдером.

Предполагается, что здесь должно быть peer — набор свойств для исходящих вызовов.
Однако можно написать и friend и не назначать никакие параметры в секции Incoming (кроме register string, которая хоть и расположена во FreePBX в секции incoming настроек транка, прямой связи с ним не имеет и может существовать вообще без sip пира, хоть и нуждается в нем, для аутентификации входящего вызова, как доверенного, а не анонимного).
Так тоже будет работать.

Также здесь могут быть заданы любые параметры, доступные SIP пиру:

context

— контекст обработки входящих вызовов. Стандартный контекст входящих вызовов Freepbx для цифровых транков- from-trunk. Вызовы из него обрабатываются в модуле FreePBX 13 входящая маршрутизация. Но вы можете указать собственный контекст и написать его в extensions_custom.conf. См. также FreePBX custom context

Для многих новичков значение контекста по отношению к транку и к внутреннему номеру вызывает некоторую путаницу. Для простоты можно сказать, что контекст транка определяет, как обрабатывать входящие вызовы, а контекст внутреннего номера — исходящие. Когда внутренний абонент куда-то звонит, в назначенном ему контексте определяется, через какие транки и на какие екстеншены он может позвонить. Исходящая связь через транк определяется в контекстах внутренних номеров и никак не упоминается в контексте, назначенном непосредственно транку. Напротив, когда внешняя система, связанная с транком, вызывает некий екстеншен (расширение), тогда и используется контекст, назначенный транку.

Но если несколько углубиться в данный вопрос, можно вспомнить, что для Asterisk, по сути, нет разницы между внутренним номером и транком. Когда внешняя система вызывает некий номер, она является sip устройством, которое совершает исходящий вызов через контекст, назначенный транку, так же, как телефон совершает исходящий вызов через контекст, назначенный пиру. Поэтому, как нет разницы между sip транком и внутренним номером, так нет разницы и между использованием контекстов, им назначенных.

insecure

insecure=invite — практически обязательное условие, для приема входящих вызовов.

disallow

— запретить использование кодеков, чтобы назначить разрешенные в параметром allow.

allow

— разрешить перечисленные через запятую кодеки.

— задать свойства использования rport , media при работе за nat. Если не указано, будут использованы настройки из модуля FreePBX Asterisk SIP Settings.

Читайте также:  Batman arkham city зависает в самом начале
qualify

— Посылать запросы Options = yes/no

qualifyfreq

— частота запросов в секундах. и тд.

Incoming

Данная секция должна иметь уникальное название, т.к. является, в некотором роде, независимым объектом, не пиром, но часовым пира, который требует пароль (secret) и указывает путь (context), если проверка пройдена. Не отображается в консоли, при вводе команды sip show peers, так как type=user. Как и следует из названия, отвечает за входящие вызовы. Основные параметры: context и secret те же, что указаны в outgoing.

Здесь же задается строка регистрации, которая в чистом Asterisk, вынесена в категорию sip.conf — [general].
Это очень важный параметр, отвечающий за посылку Register SIP серверу регистраций. Если вы подключаетесь к SIP серверу провайдера и требуется получать входящие вызовы, в большинстве случаев, надо посылать Register.

Файл ‘sip.conf’ отвечает за настройку внутренних и внешних каналов SIP в Asterisk. Объекты конфигурации — пиры, описываются в отдельных секциях, которые обозначаются именами в [квадратных скобках]. Действует принцип наследования, как и в большинстве конфигов Asterisk: все что задано после имени в квадратных скобках, относится к одному объекту, пока не будет объявлен следующий.
Предопределенная категория — [general], задает глобальные настройки драйвера SIP Asterisk, которые распространяются на все объекты, но могут быть переопределены для отдельных пиров в их категориях.

Asterisk SIP trunk

Соединение обозначенное как user, это определение любой системы или оконечной точки (endpoint), которой мы разрешаем входящие вызовы на наш сервер Asterisk. Соединение type=user не обозначает никакого пользователя, а только создает канал и указывает контекст, для входа в диалплан аутентифицированных входящих вызовов.
Через соединение обозначенное как peer совершаются исходящие вызовы.

Asterisk Register String

register ⇒ sipuser[:secret[:authuser]]@host[:port][/extension]

Вышеприведенный пример, упрощенный вариант строки регистрации. Полный вариант содержит больше информации:
register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][

Обратите внимание на параметр transport, например tls:
register => tls://user:password@host

Строка регистрации имеет напрямую связанные с ней параметры [general]:

Для получения подробной информации о командах смотрите Asterisk CLI — интерфейс командной строки.

Пример вывода команды sip show registry в консоли Asterisk:

Возможные состояния (state):

Asterisk SIP peer

Для совершения исходящих вызовов должен быть создан объект type=peer.

Нажмите, чтобы отобразить

Нажмите, чтобы скрыть

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

Конфигурация пиров осуществляется при помощи текстовых блоков, отделенных друг от друга квадратными скобками. Имя в квадратных скобках может совпадать с параметром ‘defaultuser’, но не обязательно.

Приведенный пример, являет собой типовой, самый распространенный вариант конфигурации sip транка с регистрацией через публичную сеть:

Входящая и исходящая маршрутизация sip транка в диалплане Asterisk

В диалплане (extensions.conf ) можно использовать разнообразный синтаксис для вызова (dial ) SIP устройств.

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

Пример контекста для входящих вызовов в файле ‘extensions.conf’:

Где from-siptrunk контекст заданный user или friend объекту.

Настройка SIP пира для регистрации внутренних абонентов

Как уже отмечалось Asterisk не делает особых различий между транками и абонентами, поэтому конфиг телефона будет похож на SIP транк, но все же немного другой.

Рассмотрим некоторые опции:

‘call-limit’ опция признана устаревшей и заменена на ‘callcounter’. Установить ограничение одновременных вызовов теперь можно переменной канала function ‘GROUP_COUNT’
пример использования данного метода можно помотреть здесь: Ограничение количества одновременных вызовов по набранному номеру.

Настройка нескольких SIP пиров по шаблону

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

Полный список параметров general sip.conf

Следующие параметры используются в общей [general] секции sip.conf:

allowexternalinvites

Если установлено ‘no’, запрещает INVITE и REFER от внешних (не из localnet) доменов. См domain

allowguest

Если ‘no’, запрещает гостевые(без аутентификации) подключения. По умолчанию sipguest подключения разрешены.

allowoverlap

Вкл. или Выкл набор по одной цифре (т.е. каждая набранная цифра будет сразу отправляться в канал)

allowsubscribe

Разрешить ли внешним устройствам подписку (SUBSCRIBE) на информацию о статусе екстеншена. По умолчанию — ‘yes’:

allowtransfers

Когда установлено ‘no’, запрещает любые трансферы, если не переопределено в настройках пира.

alwaysauthreject

autodomain

Установите эту опцию ‘yes’, чтобы добавить локальное HOSTNAME и локальный IP адрес в список доменов:

bindaddr and bindport

Эти параметры определяют IP адрес и порт на которых Asterisk будет слушать SIP запросы. Для драйвера канала SIP Asterisk ‘chan_sip’ можно назначить только один адрес и порт для всех подключений для UDP и один порт для TCP транспорта, в отличии от нового драйвера PJSIP. По умолчанию адрес не задан и лучше так и оставить. Некоторые рекомендуют изменять порт по умолчанию 5060, на другой, в целях безопасности. Но помните, что это только одна из мер безопасности, не самая важная, и не гарантирует вам полной защиты от злоумышленников.

Вы можете задать независимые для UDP, TCP и TLS транспорта значения udpbindadd, tcpbindaddr и tlsbindaddr

Читайте также:  Asus geforce gt 710 обзор

buggymwi

Вкл. эту опцию, чтобы избежать ошибок при сообщении с некоторыми ip телефонами при отправке MWI сообщений.

callevents

Установите ‘yes’, если хотите генерировать информацию о SIP событиях для AMI (asterisk manager interface)

checkmwi

Время в секундах, между проверками голосовой почты :

compactheaders

Использовать или нет компактные SIP заголовки.

defaultexpiry

Срок действия регистрации в секундах для входящих и исходящих регистраций. При входящей регистрации, этот параметр задается клиентской стороной, и заданное здесь значение используется, только если клиент не сообщил свое занчение. Для исходящих регистраций этот параметр сообщается удаленной стороне UAS (user agent server)

directrtpsetup

domain

Задает имя домена сервера Asterisk по умолчанию. Командой CLI ‘sip show domains’ выводится список локальных доменов.

dumphistory

externhost

externip

externrefresh

Если все же используется ‘externhost’, указывает промежуток времени в секундах между запросами DNS .

g726nonstandard

Значения: yes/no, по умолчанию: no. Если клиент собирается для сеанса связи «договориться» использовать звуковой кодек G726-32, с использованием компрессии AAL2, вместо RFC3551 (что требуется для аппаратов фирмы Sipura и шлюзов от Grandstream, и может другим). То это противоречит спецификации RFC3551, клиент должен вместо этого «договориться» использовать AAL2-G726-32

ignoreregexpire (global)

Если ignoreregexpire установлен ‘yes’, Asterisk сделает одно из двух, в зависимости от настроек пиров: 1)Non-realtime peer Когда регистрация истекает, информация не удаляется из памяти или БД Asterisk и вызовы будут разрешены несмотря на то, что время регистрации истекло.

2)Realtime peers Когда peer сконфигурирован в режиме реального времени, информация о регистрации используется независимо от defaultexpiry

jbenable

jbforce

Принудительное использование jitter buffer принимающей стороной SIP канала.

jbimpl

Использовать фиксированный или подстраиваемый (адаптивный) jitter buffer. fixed jitter buffer всегда использует значение из jbmaxsize adaptive может принимать значение больше jbmaxsize По умолчанию ‘fixed’:

Из личного опыта, вкл. ‘adaptive’ может приводить к весьма плачевным результатам.

jblog

Вкл./выкл jitter buffer frame лог. По умолчанию ‘no’:

jbmaxsize

Установите максимальную длину буфера в миллисекундах:

jbresyncthreshold

Джиттер буфер порог синхронизации. По умолчанию 1000:

icesupport

limitonpeers

Применять call-limit только для type=peer Это улучшит использование call-limit для устройств настроенных, как type=friend, отделив ограничение call-limit от входящих вызовов.

localnet

укажет серверу Asterisk какие подсети являются локальными, прозрачными для использования IP адресов сервера, SIP запросы к которым не требуют модификации поля Contact: c использованием externip или externhost

matchexterniplocally

Сверять ‘externip’ с ‘localnet’ и производить подстановку, только если ‘externip’ из локальной подсети. Не совсем ясно, зачем это может понадобиться? Возможно при очень нестандартной топологии сети.

maxexpiry

Максимальная продолжительность регистрации в секундах.

minexpiry

Минимальная продолжительность регистрации в секундах.

notifymimetype

Указывает MIME тип используемый для message-waiting indication (MWI) в SIP NOTIFY сообщении.

notifyringing

Сообщать подписчикам о состоянии вызов (RINGING):

notifyhold

Сообщать подписчикам (subscribers) о состоянии удержание (HOLD):

pedantic

realm

recordhistory

Вкл. или Выкл историю sip для всех каналов.

registerattempts

Сколько попыток внешних регистраций произведет Asterisk, прежде чем откажется от продолжения. По умолчанию стоит ‘0’, что значит бесконечно.

registertimeout

Таймаут между попытками регистрации на другом устройстве.

relaxdtmf

rtautoclear

(global) Конфигурация Realtime Peers Указывает должен ли Asterisk обнулять созданные на лету friends по истечении времени регистрации. Если установлено ‘yes’, по истечении срока регистрации, удалять friends до нового запроса. Если задано число, то оно используется вместо обычного времени регистрации.

rtcachefriends

Если rtcachefriends включен, Asterisk будет кэшировать friends(реалтайм пиры), которые приходят из realtime engine, так же, как если бы они сконфигурированы в «sip.conf».

rtsavesysname

(global) Определяет, должен ли Asterisk сохранить SystemName в базе данных в режиме реального времени во время регистрации:

rtupdate

(global) Если установлено ‘yes’ Asterisk будет обновлять IP-адрес, порт и период регистрации пиров при регистрации. По умолчанию ‘yes’:

sipdebug

sendrpid

ОТправлять или нет Remote-Party-ID header:

srvlookup

transport

Задает транспорт по умолчанию. По умолчанию ‘udp’, но может быть ‘tcp’, ‘tls’, ‘ws’ или ‘wss’. Если задано TCP а tcpenable=no будет использован UDP транспорт.

tcpenable

Включить поддержку TCP транспорта chan_sip Asterisk.

tcpbindaddr

Адрес на котором Asterisk «слушает» TCP подключения.

tcpauthtimeout

tcpauthtimeout указывает максимальное время в секундах данное клиенту на аутентификацию. Если за заданное время клиент не прошел проверку он отключается. (По умолчаннию 30 секунд)

tcpauthlimit

Максимальное кол-во неаутентифицированных сессий в момент любой времени.

t1min

Минимальная задержка туда-обратно (minimum round-trip) для сообщения контролируемого хоста. По умолчанию 100 миллисеунд:

subscribecontext

Ограничить запросы SUBSCRIBE только указанным контекстом, если не переопределено в настройках пира.

t38pt_udptl

tos_sip, tos_audio, andtos_video

trustrpid

Доверять или нет Remote-Party-ID header: Asterisk SIP trustrpid

useragent

Если вы не желаете сообщать, что используете Asterisk, напишите Cisco или Avaya, или abyrvalg v2.0.

usereqphone

usereqphone опция говорит Asterisk добавить «user=phone» в SIP URIs которые содержат действующий номер телефона:

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

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