Pull to refresh
0
3CX Ltd.
Windows VoIP АТС с видеоконференциями Webmeeting

Создание шаблона VoIP провайдера в 3CX Phone System

Reading time9 min
Views4.3K
В данной статье, предназначенной для инженеров VoIP операторов, мы расскажем о том, как создать шаблон VoIP оператора для 3CX Phone System. Шаблон содержит основные параметры подключения, значительно упрощающие подключение линии оператора к системе.

Введение


Большинство VoIP операторов сегодня используют более менее стандартный набор параметров, который описан в универсальном шаблоне VoIP провайдера Generic. Шаблон Generic мы и возьмем за основу при создании индивидуального пользовательского шаблона. Прежде всего объясним различие между двумя типами VoIP операторов, используемыми в 3CX:

VoIP Provider – VoIP оператор, использующий авторизацию по имени пользователя и паролю. Большинство шаблонов VoIP операторов в 3CX рассчитаны на этот тип подключения.

SIP Trunk – VoIP оператор, использующий авторизацию по публичному IP адресу сервера 3CX. Публичный IP адрес сервера должен быть указан у оператора как адрес, на который оператор маршрутизирует вызовы, и с которого он ожидает вызовы.

После установки системы, файлы шаблонов VoIP операторов расположены в папке c:\ProgramData\3CX\Data\Http\Templates\provider\. Универсальные шаблоны называются:

GenericVoIPProvider.pv.xml – VoIP оператор с авторизацией по имени пользователя и паролю

GenericSIPTrunk.pv.xml – VoIP оператор с авторизацией по IP адресу (SIP Trunk)

Выбирайте шаблон в зависимости от типа авторизации, который вы поддерживаете!

Создание пользовательского шаблона


Прежде всего, сделайте копию универсального шаблона и назовите файл по имени вашего оператора (например, myprovider.pv.xml).

Файл содержит следующие разделы:

Заголовок файла оператора (Header)


В заголовке XML файла шаблона указывается имя VoIP оператора, страна, название файла иконки логотипа и веб сайт.

im1

Версия (Version)


Этот параметр определяется поставщиком шаблона (как правило, VoIP оператором) и может содержать только число. Начинается с 1 и увеличивается при каждом обновлении шаблона. Обновление может потребоваться при выходе новой версии 3CX или при изменении параметров оператора.

URL


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

Логотип (Image)


Важно соблюсти простые правила создания логотипа провайдера:

Логотип должен иметь формат PNG 16×16

Имя графического файла должно совпадать с именем файла провайдера (без расширения), т.е. myprovider.pv.xml > myprovider.png

Адреса и порты серверов VoIP провайдера (Hostmames and Port Numbers)


В этом разделе указаны адреса и порты SIP серверов VoIP оператора, к которым будет подключаться 3CX Phone System.

im2

RegistrarHost


Здесь указывается IP адрес или FQDN имя сервера VoIP оператора. Если параметр ProxyHost/Port не указан, а RegistrarHost указан как FQDN, 3CX попытается определить IP адрес SIP сервера VoIP оператора через SRV запись (_sip._udp.myprovider.com) DNS сервера:

Если будет получен ответ с SRV записями, 3CX будет использовать серверы с указанным приоритетом.

Если SRV записей не существует, 3CX будет использовать А запись DNS сервера.

RegistrarPort


Обычно здесь указывается SIP порт сервера VoIP оператора 5060. Если сервер оператора работает на нестандартном порту, укажите номер порта в шаблоне.

ProxyHost (опционально)


Если определен параметр ProxyHost, 3CX Phone System не делает поиск по SRV записям, а использует А запись ProxyHost. Запрос регистрации от 3CX Phone System будет направлен на RegistrarHost через прокси сервер ProxyHost. Часто SIP прокси сервер и SIP сервер регистрации совмещены в одном сервере

ProxyPort (опционально)


Обычно здесь указывается SIP порт прокси сервера VoIP оператора 5060. Если прокси сервер оператора работает на нестандартном порту, укажите номер порта в шаблоне.

Параметры регистрации (Registration Settings)


В этой части шаблона указываются тип и параметры авторизации 3CX Phone System на сервере VoIP провайдера.

im3

RegistrationExpiry


Этот параметр указывает период подтверждения регистрации 3CX Phone System на SIP сервере провайдера. Минимально допустимое значение – 60 сек. Однако 3CX принимает значение, переданное сервером VoIP оператора, т.е. время VoIP оператора всегда имеет приоритет. Время в шаблоне 3CX по умолчанию — 600 сек. Если тип подключения SIP Trunk, этот параметр не применяется, однако все равно должен присутствовать в шаблоне.

RequiredAuthFor


Этот параметр указывает, требуется ли аутентификация подключения к VoIP оператору. Как было сказано, если оператор использует авторизацию по IP адресу, аутентификация не требуется. Значение 1 означает, что аутентификация не требуется. Как правило, все же, аутентификация требуется как для исходящих, так и для входящих вызовов. В этом случае, значение должно быть 4. Значение 2 – аутентификация только входящих вызовов. Значение 3 — аутентификация только исходящих вызовов.

Подключения типа Trunk (авторизация по IP адресу)


Параметры аутентификации не должны вводится пользователем, если 3CX Phone System использует авторизацию по IP адресу. Поэтому им следует присвоить статус “только для чтения”.

<field name=”LineAuthenticationPassword” status=”readonly”></field>
<field name=”3wayauthenticationid” status=”readonly”></field>

Возможности VoIP оператора (Provider Capabilities)


Данные параметры необходимо определять для всех VoIP операторов, поскольку 3CX Phone System также выступает прокси сервером для своих внутренних пользователей.

im4

IsBindToMS


Этот параметр определяет, будет ли медиапоток RTP от VoIP оператора проходить через сервер 3CX, либо направляться напрямую на конечное SIP устройство внутри сети (т.е. на IP телефон пользователя). Настоятельно рекомендуется оставить значение по умолчанию 1 (пропускать через сервер 3CX).

IsSupportReinvite


Параметр, определяющий, поддерживает ли VoIP оператор SIP метод Re-invite. Включение или отключение этого параметра помогает, если удержание, восстановление или перевод вызова от провайдера работает нестабильно. Возможные значения Yes=1 и No=0, однако рекомендуется оставить по умолчанию 0.

IsSupportReplaces


Параметр, определяющий, поддерживает ли VoIP оператор SIP заголовок Replaces. Включение или отключение этого параметра помогает, если удержание, восстановление или перевод вызова от провайдера работает нестабильно. Возможные значения Yes=1 и No=0, однако рекомендуется оставить по умолчанию 0.

Disable Video


Этот параметр позволяет убрать SDP описание видео в медиапотоке. Если VoIP сервер поддерживает передачу видео в медиапотоке RTP, вы можете явно отключить эту возможность. Возможные значения Yes=1 и No=0

Доступные кодеки (Codecs)


В этом разделе определяются голосовые кодеки и их приоритет в SDP описании потока. Приоритет кодеков определяется расположением соответствующих строк. Вы можете определить до трех кодеков, но если требуется меньше – просто удалите лишние строки.

im5

Доступные параметры: pcmu, pcma, gsm, g729, g722.

Идентификация источника вызова (Source Identification)


При получении входящего INVITE запроса, 3CX пытается идентифицировать источник вызова и сопоставить ему соответствующий VoIP транк. Процедура идентификация источника производится различными способами.

im6

Рекомендации


Лучше всего сохранить настройки идентификации источника без изменений. Как правило, INVITE запрос включает поле, идентифицирующее транк, для которого этот запрос направлен. Это поле должно быть уникальным. Для VoIP провайдеров, использующих имя пользователя и пароль, как правило, используется параметр AuthenticationID в одном из стандартных SIP полей. Поэтому рекомендуется раскомментировать параметр Match Strategy и присвоить ему значение 1. Далее укажите, в каком SIP поле (например, Contact User Part), VoIP оператор передает AuthID.

Если VoIP оператор передает AuthID в поле Contact User Part, вы можете создать несколько VoIP подключений к одному и тому же оператору с разными параметрами регистрации (т.е. несколько независимых VoIP линий), и 3CX будет корректно определять источник вызова.

<field name=”MatchStrategy”>1</field>
<field name=”Source” parameter=”ContactUser” custom=””>$AuthID</field>

Если регистрация на VoIP операторе не производится (т.е. используется подключение типа Trunk), придется выбрать статический параметр идентификации источника, например IP адрес или FQDN имя узла, отправившего INVITE запрос. В шаблоне он соответствует описанному выше параметру RegistrarHost.

В этом случае пользователь 3CX может использовать только единственное VoIP подключение к данному оператору, поскольку идентификатор источника при нескольких однотипных  подключениях будет дублироваться.

field name=”MatchStrategy”>1</field>
<field name=”Source” parameter=”FromHostPart” custom=””>$GWHostPort</field>

Здесь параметр GWHostPort должен приходить от VoIP провайдера в том же формате, в каком он указан в параметре RegistrarHost и RegistrarPort шаблона.

Входящие/Исходящие параметры (Inbound/Outbound Parameters)


Секция Входящих и Исходящих SIP параметров определяет, как 3CX Phone System формирует исходящий INVITE запрос к VoIP провайдеру, либо обрабатывает входящий INVITE запрос от VoIP провайдера.

im7

SIP параметры (Parameter)


SIP параметры – это SIP поля по RFC, в которых ожидается определенное значение от VoIP оператора, либо куда 3CX должна поместить SIP значение при создании INVITE запроса. В шаблон включены все доступные поля, поэтому не добавляйте никакие X или P заголовки – 3CX их просто проигнорирует.

Все SIP поля представлены в стандартном SIP формате.

Invite: RequestLineURIUser@RequestLineURIHost
ContactUser@ContactHost
ToDisplayName: ToUserPart@ToHostPart
FromDisplayName: FromUserPart@FromHostPart
RemotePartyIDCalledPartyDisplayName: RemotePartyIDCalledPartyUserPart@RemotePartyIDCalledPartyHostPart
RemotePartyIDCallingPartyDisplayName: RemotePartyIDCallingPartyUserPart@RemotePartyIDCallingPartyHostPart
P-AssertedIdentityDisplayName: P-AssertedIdentityUserPart@P-AssertedIdentityHostPart
ProxyAuthID@ProxyAuthRealm


Используйте только необходимые и достаточные (для вашего VoIP оператора) SIP поля для формирования исходящего INVITE запроса. Например, не определяйте RPID поле, если оно не используется оператором.

Во входящих INVITE запросах самые важные поля для 3CX Phone System – расположение номера звонящего абонента CallerNum и идентификатор транка VoIP оператора. Пример таких полей приведен ниже, однако для различных VoIP операторов может быть расширен.

<field name=”ParameterIn” custom=”” parameter=”ToUserPart”>$CalledNum</field>
<field name=”ParameterIn” custom=”” parameter=”FromUserPart”>$CallerNum</field>
<field name=”ParameterIn” custom=”” parameter=”RequestLineURIHost”>$DevHostPort</field>

XML переменные (Variables)


XML переменные шаблона VoIP оператора заключены в теги > <. Вместо них ядро 3CX подставляет фактические SIP значения, либо считывает из них нужные значения. Для парсинга входящих SIP сообщений необходимо, чтобы переменная использовалась единожды, т.е. не встречалась в нескольких SIP полях. При формировании исходящих SIP сообщений, переменная может указываться в различных частях INVITE запроса, в соответствии с требованиями VoIP оператора.

Важно! Некоторые VoIP операторы поддерживают функцию Clip No Screening, при которой можно передавать оригинальный номер абонента, а не номер линии VoIP оператора. Например, на ваш добавочный номер 3CX позвонил внешний абонент, вас не оказалось на месте, и вызов пошел на ваш мобильный. В таком случае вы увидите не номер линии VoIP оператора, через которого вышел вызов, а изначальный Caller ID позвонившего абонента. В этом случае в Исходящих параметрах используйте Originator Caller ID, а не Outbound Caller ID.

Соответствие переменных


Имейте ввиду, что не все переменные можно комбинировать в SIP запросах. Мы рекомендуем проверить возможность совместного использования тех или иных переменных в соответствующем разделе настройки VoIP оператора в интерфейсе 3CX.

Переменная
Описание
§GWHostPort Сервер и порт VoIP провайдера, устанавливаемый при создании подключения в интерфейсе 3CX
$OutHostPort Сервер и порт VoIP прокси, устанавливаемый при создании подключения в интерфейсе 3CX
§DevHostPort Сервер и порт VoIP провайдера, от которого приходит запрос INVITE
$ContactURI Содержимое поля Contact
$CalledName Имя получателя вызова (по умолчанию: To → display name)
$CalledNum Номер получателя вызова (по умолчанию: To → User)
$CallerName Имя источника вызова (по умолчанию: From → display name)
$CallerNum Номер источника вызова (по умолчанию: From → User)
$LineNumber Внешний номер линии
$LineID Внутренний номер линии (Virtual extension)
$AuthID ID аутентификации
$OrginatorCallerID Caller ID оригинального источника вызова
$OutboundLineId Исходящий Caller ID линии, взятый из поля Исходящий Caller ID в параметрах VoIP оператора в интерфейсе 3CX
$OutboundCallerID Исходящий Caller ID линии, взятый из поля Исходящий Caller ID в параметрах добавочного номера в интерфейсе 3CX
$CallerDispName Отображаемое имя звонящего из заголовка From, передаваемого SIP телефоном
$CustomField Пользовательское поле

Пользовательские переменные


Если 3CX не предлагает подстановку значения для переменной в интерфейсе управления (используется во входящих и исходящих параметрах, а также при идентификации источника), вы можете установить значение вручную (Custom value). В примере, приведенном ниже, вручную установлено значение mysource.com для идентификации источника. To:HostPart – это пользовательское значение, установленное в соответствии с требованиями VoIP оператора.

<field name=”Source” parameter=”ToHostPart” custom=”mysource.com”>$CustomField</field>

Заключение


Очевидно, что представленная информация будет полезна не только инженерам оператора, организующего подключение систем 3CX Phone System, но и администраторам 3CX, поскольку помогает понять назначение различных опций в интерфейсе настройки нового внешнего подключения.

После завершения редактирования файла оператора, разместите xml файл шаблона и png файл логотипа в том же каталоге, в котором хранятся остальные шаблоны. Вы также можете выложить эти файлы на своем веб сайте, сопроводив инструкциями для пользователей. Если вы хотите включить файлы VoIP оператора в дистрибутив системы для того, чтобы пользователь сразу мог выбрать вас, как рекомендованного оператора, свяжитесь с представителем 3CX в вашем регионе.

Дополнительная информация


Tags:
Hubs:
+6
Comments0

Articles

Information

Website
3cx.ru
Registered
Founded
Employees
51–100 employees
Location
Кипр