CommuniGate Pro
Версия 5.2
Сигналы
 
 
ТФОП

ТФОП

Сервер CommuniGate Pro может использовать разнообразные Шлюзы в ТфОП для соединения современных VoIP с традиционной Телефонной Сетью Общего Пользования. Хотя большинство Шлюзов выполнены как стандартные SIP устройства, в случаях, когда конечные пользователи соединяются с такими Шлюзами напрямую, могут возникать различные проблемы. Чаще всего возникают следующие проблемы:

  • Схема адресации ТфОП отличается от применяемой в VoIP сетях: в ТфОП используются традиционные цифровые адреса (E.164), а не VoIP адреса электронной почты типа account@domain.
  • ТфОП не является бесплатной сетью, и Шлюз может потребовать проведения аутентификации для выполнения звонка. Эта информация используется для выставления счетов.
  • ТфОП не является бесплатной сетью, и поэтому логика перевода звонков там существенно отличается. В результате, большинство Шлюзов не поддерживают операции перевода звонков.

Для решения всех этих проблем, в поставке с CommuniGate Pro содержится ряд Приложений Реального Времени.

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

Маршрутизация Звонков

В Маршрутизаторе сервера CommuniGate Pro обрабатывается каждый адрес, используемой системой для передачи Сигналов.


Исходящие звонки через B2BUA

Маршрутизатор может направлять звонки в ТфОП через Приложения Реального Времени.
Сервер CommuniGate Pro поставляется вместе с приложением gatewaycaller, которое может использоваться для ретрансляции всех исходящих в ТфОП звонков на один или несколько Шлюзов ТфОП. В этом разделе описываются функции этого приложения.

Когда приложение gatewaycaller получает входящий звонок, оно требует проведения аутентификации. В результате только Пользователи вашего Сервера или Кластера CommuniGate Pro смогут совершать звонки, используя это приложение.

При получении аутентифицированного запроса на звонок, приложение получает и использует следующие Установки ТфОП:

PSTNGatewayName (Имя Шлюза)
Имя Домена Шлюза. Используется как адрес, на который отправляются запросы на совершение звонков.
Если эта настройка имеет пустое значение, то Пользователю не разрешается производить ТфОП звонки и звонок отвергается.
PSTNGatewayVia (Адрес Шлюза)
Эта настройка является непустой строкой если запросы не должны отправляться в этот Шлюз напрямую (на адреса, разрешаемые с помощью DNS), а должны отправляться через другой прокси. В этой настройке должно содержаться имя домена или адрес такого прокси.
PSTNFromName (Номер Звонящего)
Эта настройка указывает адрес (обычно, номер ТфОП), который будет использоваться как Номер Звонящего (адрес From:) в запросе на звонок, отправляемом в Шлюз. Если эта настройка имеет пустое значение, то используется адрес From: из оригинальное запроса.
PSTNGatewayAuthName (Имя на Шлюзе)
PSTNGatewayPassword (Пароль для Шлюза)
Если Шлюз требует аутентификации, эти настройки задают данные для аутентификации, используемые в запросах, отправляемых в Шлюз.
PSTNBillingPlan (Тарифный План)
Входящее в поставку приложение gatewaycaller не использует эту настройку.

Пользователь CommuniGate Pro может использовать значение по умолчанию для каждой из этих настроек (они берутся либо из Общих для Домена, либо из Общих для Сервера/Кластера Установок по Умолчанию), или же значения настроек для этого Пользователя могут быть заданы явно. В результате все Пользователи во всех Доменах могут использовать один и тот же Шлюз и иметь одинаковые полномочия, но разные значения в Номере Звонящего, или же каждый Домен и/или каждый Пользователь могут использовать свой собственный Шлюз, с уникальными полномочиями как для Домена, так и для Пользователя.

Приложению необходимо получать эти Настройки от других Пользователей, так что оно должно запускаться от имени Пользователя, обладающего правами доступа Администратора Домена.
Для этой цели могут использоваться автоматически создаваемые при установке пользователи postmaster или pbx.

Приложение должно получить вызываемый номер в качестве параметра.
Следующая запись в Маршрутизаторе перенаправляет все адреса в фиктивном домене pstn на приложение gatewaycaller, запускаемое от имени Пользователя Главного Домена pbx и передаёт этому приложению "пользовательскую часть" адреса в домене pstn в качестве параметра:

<*@pstn> = gatewaycaller{*}#pbx

После обработки всех Установок Пользователя, приложение начинает новую Задачу и инструктирует эту Задачу на отправку запросов на звонок на выбранный, исходя из Установок Пользователя, Шлюз. Если звонок проходит успешно, то оригинальная и новая задачи образуют "мост" для медиа потоков.
Оригинальная задача обрабатывает запросы с Сигналами от Звонящего, а вторая задача обрабатывает запросы от Шлюза. Некоторые из этих запросов обрабатываются непосредственно в самой Задаче, а некоторые передаются на другую Задачу для дальнейшего ретранслирования Звонящему или шлюзу.

Технология, используемая для реализации такого способа настройки звонков (когда звонок устанавливается с помощью двух формально независимых сессий Сигналов) называется "Разводящий Агент Пользователя" (B2BUA).

Когда вызывающий абонент хочет Перевести звонок, запрос на Перевод отправляется оригинальной задаче. Эта Задача сама реализует запрашиваемый перевод звонка, переключаясь на другого участника/устройство VoIP. Вторая Задача не посылает никаких запросов на Перевод в Шлюз, а отправляет Шлюзу запрос на изменение звонка (запрос re-INVITE или UPDATE) для того, что бы перенаправить его медиа потоки на нового участника звонка.

Некоторые Шлюзы ТфОП не поддерживают даже простые запросы на изменения звонков. Указывайте первым символом в именах таких Шлюзов символ звёздочка (*). Приложение удалит этот символ из имени и не будет пытаться строить мост для медиа потоков. Приложение будет использовать канал Медиа Сервера CommuniGate Pro для ретрансляции медиа между вызывающим абонентом и Шлюзом. Если вызывающий абонент переключает свой медиа адрес, отправив запрос UPDATE, то канал Медиа Сервера изменяет внутреннюю информацию, Шлюзу никаких запросов не отправляется и он продолжает обмениваться медиа данными с каналом Медиа Сервера.

Если вам необходимо использовать различные шлюзы для пользователя или домена (в зависимости от набираемого номера), вы можете задавать PSTNxxxxxx настройки для gatewaycaller как словари. Например:

PSTNGatewayName:{gw1=provider1.com;gw2=provder2.com;}
PSTNFromName:{gw1=fromName1;gw2=fromName2;}

Вы можете Направлять разные номера ТфОП на различные Шлюзы, передавая его имя во втором параметре в приложение gatewaycaller:

<+46(5-12d)@pstn> = gatewaycaller{+46*,gw1}#pbx
<*@pstn>          = gatewaycaller{*,gw2}#pbx

Все звонки на необработанные номера в домене pstn будут перенаправляться в приложение gatewaycaller и это приложение получит в качестве второго параметра "gw1", если вызываемый абонент находится в Швеции (E.164 номер начинается с +46), и "gw2" во всех других случаях.
Приложение gatewaycaller получает все требуемые PSTNxxxxxx настройки. Если значение настройки - словарь, оно берёт из словаря либо элемент "gw1" либо "gw2".


Местные Звонки

Когда пользователь набирает "короткий" номер (номер без кода страны и кода города), то предполагается, что звонок будет доставлен на номер с тем же кодом города, что и у пользователя.

Запись в Маршрутизаторе, создаваемая во время установки Сервера CommuniGate Pro, направляет все звонки на 7-значные цифровые адреса во всех локальных Доменах на приложение localAreaCall.

Входящее в поставку приложение localAreaCall требует аутентификации вызывающего абонента и получает следующие ТфОП Установки Пользователя:

PSTNAreaCode (Местный код Города)
В этой настройке задаётся Код Страны Пользователя и Местный код Города.

Приложению необходимо получать эти Настройки от других Пользователей, так что оно должно запускаться от имени Пользователя, обладающего правами доступа Администратора Домена.
Для этой цели могут использоваться автоматически создаваемые при установке пользователи postmaster или pbx.

Приложение должно получить вызываемый номер в качестве параметра.
Следующая запись в Маршрутизаторе перенаправляет все 7-значные цифровые адреса во всех локальных Доменах на приложение localAreaCall, запускаемое от имени Пользователя Главного Домена pbx и передаёт этому приложению адреса (7-значные номера) в качестве параметра:

<(7d)@*> = localAreaCall{*}#pbx@localhost

Приложение получает Код Страны и Местный код Города вызывающего абонента из соответствующих Настроек Пользователя, удаляет все нецифровые символы из их значений, соединяет "очищенный" набираемый номер с именем домена @telnum и Перенаправляет запрос на совершение звонка на получившийся адрес.

Модуль Signal обрабатывает перенаправленный запрос используя Маршрутизатор, так что он может быть направлен в Шлюз ТфОП или (после успешного проведения маршрутизации) непосредственно на какой-нибудь адрес, поддерживающий VoIP.


Междугородние Звонки

В многих странах для междугородних и междугородних звонков традиционно используются некие разделяющие префиксы. Большое количество стран используют номера вида 0код города местный_номер для междугородних звонков, а номера вида 00код_страны код_города местный_номер используются для международных звонков.

Если все пользователи CommuniGate Pro находятся в одной стране, то маршрутизация для всех междугородних звонков может быть выполнена с использованием всего одной Записи в Маршрутизаторе. Например: если все пользователи CommuniGate Pro расположены в Германии (код страны 49, префикс для выхода на межгород 0), то может быть использована следующая запись в Маршрутизаторе (обратите внимание на порядок этих записей):

<0(7-20d)@*> = +49*@telnum
<00(8-20d)@*> = +*@telnum

Для правильной обработки местных звонков, вы также можете использовать приложение localAreaCall. Направьте все звонки с кодом межгорода на приложение localAreaCall, но укажите второй параметр - строку c:

<0(8-20d)@*> = localAreaCall{*,c}#pbx@localhost

Приложение localAreaCall выполнит такую же обработку звонка, как и для случая Местных Звонков. Но вместо использование полного значения из настройки PSTNAreaCode будет использоваться только:


Экстренные Вызовы

Звонки в в Службы Спасения выполняются по известным номерам, таким как 911 в Северной Америке или 112 в Западной Европе.

Используйте Маршрутизатор для направления звонков на эти номера (в любом Домене) в приложение emergency:

<911@*> = emergency#pbx@localhost

Входящее в поставку приложение emergency требует аутентификации вызывающего абонента и получает следующие ТфОП Настройки Пользователя:

PSTNEmergency (Код Скорой Помощи)
В этой настройке задаётся способ вызова Служб Спасения для этого Пользователя.

Приложению необходимо получать эти Настройки от других Пользователей, так что оно должно запускаться от имени Пользователя, обладающего правами доступа Администратора Домена.
Для этой цели могут использоваться автоматически создаваемые при установке пользователи postmaster или pbx.

Приложение обрабатывает полученные значения настройки PSTNEmergency:

Приложение перенаправляет звонок на указанные адрес(а).


Входящие Звонки

Шлюзы ТфОП могут направлять входящие звонки на Сервер CommuniGate Pro. Входящие Шлюзы обычно имеют те же проблемы, то и исходящие: неспособность перевода звонков, неспособность переключения медиа потоков и т.д.

Если входящие звонки направляются на приложение PBX CommuniGate Pro, то это приложение функционирует как B2BUA и разрешает эти проблемы.

Если входящие звонки направляются индивидуальным Пользователям CommuniGate Pro (или другим Объектам), то сессия может устанавливаться непосредственно между Шлюзом и конечным устройством клиента, и все проблемы в работе Шлюза будут сказываться на клиенте.

Для разрешения проблем в работе Шлюзов при направлении звонков на адреса, на которых необязательно отвечают Приложения Реального Времени CommuniGate Pro, вы можете перенаправлять все эти звонки на специальное приложение gatewayincoming. Это приложение, действуя как B2BUA, создаст отдельную Задачу ("плечо звонка") для вызова адреса назначения и создаст между ними мост, аналогично тому, как приложение gatewaycaller обрабатывает исходящие звонки.

Входящее в поставку приложение gatewayincoming должно получать вызываемый адрес в качестве параметра. Если Шлюз отправляет входящие запросы в вашу систему с использованием адресов в специальном домене incoming.company.dom, то следующая запись в Маршрутизаторе перенаправит их в приложение gatewayincoming:

<*@incoming.company.dom> = gatewayincoming{*}#pbx@localhost

Если Шлюз считает, что у всех ваших локальных Пользователей есть национальные номера (номера без кода страны), то вы можете исправить это при помощи записи в Маршрутизаторе. Например: если Шлюз использует 10-значные номера Северной Америки без кода страны 1, то вы можете использовать следующую запись в Маршрутизаторе:

<*@incoming.company.dom> = gatewayincoming{1*}#pbx@localhost

ТфОП Установки Пользователя

Установки ТфОП реализованы как Пользовательские Установки Пользователя. Основная страница Управления Пользователем в Веб Интерфейсе Администратора не показывает Пользовательские Установки, с именами, начинающимися с префикса PSTN. Вместо этого на страницах Установки Пользователя или Умолчания для Пользователя имеется ссылка на специальную страницу с Установками ТфОП.

Нажмите на ссылку ТфОП и откройте станицу с Установками ТфОП:

Местный код Города:
1(415)
Код Скорой Помощи:
call=911@our.local.dom
Домен Шлюза:
provider.com
Адрес Шлюза:
personal.provider.com
Номер Звонящего:
Boston
Имя на Шлюзе:
dmak
Пароль для Шлюза:
********
Тарифный План:

Администратор Домена должен иметь Права Доступа Может модифицировать PBX Приложения для того, что бы изменять настройки ТфОП.


Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.