Взаимосвязанная работа серверов Oktell

Материал из Oktell
Перейти к: навигация, поиск

В настоящее время идет развитие и разработка направления связи между несколькими серверами. Настоящая статья призвана отражать реальные возможности по объединению нескольких серверов в группу.


Oktell позволяет производить объединение нескольких серверов в группу (Доступно начиная с релиза 12.12.2012.)

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

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



SIP-транки

Для связи между серверами Oktell существует специальный тип SIP-каналов, принадлежащих шлюзу с типом «Взаимодействие между серверами». Через один и тот же набор межсерверных линий звонки осуществляются на любое количество входящих в группу серверов, поскольку они не привязываются к шлюзу/серверу с определенным адресом. Требуемое их количество можно оценить по максимально ожидаемому количеству одновременных соединений с другими серверами.


MultiSrv1.png


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

Звонки через такие линии могут осуществляться как автоматически, так и в сценариях. При этом требуется указание полного URI (sip:username@address).

Все объединяемые в группу серверы могут быть подключены к службе обмена сообщениями. В этом случае серверы доступны друг для друга не только по SIP протоколу для звонков, организованных в сценариях IVR, а также для автоматизированного решения других общих задач.



Номерной план

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

В случае, если на серверах множества номеров пересекаются (имеются одинаковые), приоритет отдается собственному номеру сервера, затем в порядке подключения серверов к группе. Объединяются также и отделы.

При выходе сервера из группы или потере связи с ним, его номера удаляются с других серверов и становятся недоступны. В свою очередь на отключившемся сервере становятся недоступны номера всех остальных серверов.

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

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

При поступлении входящего вызова на сервер, его обработка производится в сценарии IVR межсерверного взаимодействия. Если таковой не задан, то в главном сценарии IVR входящей маршрутизации. При этом в качестве вызываемого номера CalledId определяется вызываемый извне внутренний номер сервера.

Если звонок был организован в сценарии IVR вручную, то CallerId и CalledId определяются настройками компонента-инициатора.



Служба обмена сообщениями

Серверы используют единую службу для обмена служебными сообщениями между собой. Эта служба может быть инсталлирована и запущена на отдельном компьютере, или на одном из серверов АТС в зависимости от масштабов взаимодействия. Для службы требуется набор библиотек из каталога службы Oktell, а запуск производится исполнимым файлом oktell.ConnectorService.exe, используемым совместно с конфигурационный файлом oktell.ConnectorService.exe.config. Установка службы производится стандартно утилитой installutil, входящей в комплект .NET Framework.

Адрес, порт, логин и пароль для подключения к службе определяются параметрами серверного конфигурационного файла: SrvConnectorDomain, SrvConnectorPort, SrvConnectorLogin, SrvConnectorPass. Дополнительно в серверном конфигурационном файле должны быть указаны параметры SrvConnector_Id и SrvConnector_Name, определяющие уникальный идентификатор текущего сервера в рамках совместно работающей сети, а также его название для отображения на других серверах.


Разрыв петель

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



Ограничения

Каждый из серверов обслуживает отдельную часть телефонной инфраструктуры: имеет собственные настройки, а также

  • набор учетных записей пользователей,
  • набор подключаемых клиентских мест,
  • набор учетных записей телефонов всех видов,
  • сценарии маршрутизации,
  • статистику соединений,
  • права доступа и контроля.

Каждый сервер вполне может работать независимо от группы, и это является одним из преимуществ подобной схемы организации по сравнению с единым сервером. Исключение могут составить случаи доступа к общим ресурсам ТФОП, обслуживаемым на обособленных серверах-маршрутизаторах Oktell.

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

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

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