Взаимосвязанная работа серверов Oktell — различия между версиями
Peter (обсуждение | вклад) |
|||
(не показано 11 промежуточных версии 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | [[Интеграции|Наверх]] | ||
+ | |||
В настоящее время идет развитие и разработка направления связи между несколькими серверами. Настоящая статья призвана отражать реальные возможности по объединению нескольких серверов в группу. | В настоящее время идет развитие и разработка направления связи между несколькими серверами. Настоящая статья призвана отражать реальные возможности по объединению нескольких серверов в группу. | ||
− | Oktell позволяет производить объединение нескольких серверов в группу. | + | Oktell позволяет производить объединение нескольких серверов в группу (Доступно начиная с релиза 12.12.2012.) |
+ | |||
Серверы при этом не являются и не становятся взаимозаменяемыми, однако это помогает расширить охват распределенной телефонной сети. | Серверы при этом не являются и не становятся взаимозаменяемыми, однако это помогает расширить охват распределенной телефонной сети. | ||
Строка 16: | Строка 19: | ||
Для связи между серверами Oktell существует специальный тип SIP-каналов, принадлежащих [[Свойства компонентов#ExchangeSip|шлюзу с типом «Взаимодействие между серверами»]]. | Для связи между серверами Oktell существует специальный тип SIP-каналов, принадлежащих [[Свойства компонентов#ExchangeSip|шлюзу с типом «Взаимодействие между серверами»]]. | ||
− | Через один и тот же набор межсерверных линий звонки осуществляются на любое количество входящих в группу серверов | + | Через один и тот же набор межсерверных линий звонки осуществляются на любое количество входящих в группу серверов, поскольку они не привязываются к шлюзу/серверу с определенным адресом. |
− | + | ||
Требуемое их количество можно оценить по максимально ожидаемому количеству одновременных соединений с другими серверами. | Требуемое их количество можно оценить по максимально ожидаемому количеству одновременных соединений с другими серверами. | ||
Строка 34: | Строка 36: | ||
− | ==Номерной план== | + | ===Номерной план=== |
Строка 47: | Строка 49: | ||
Вызов [[Внутренние номера|внутреннего номера]] другого сервера осуществляется автоматически с использованием каналов межсерверного шлюза. При этом серверы обмениваются информацией о звонке. | Вызов [[Внутренние номера|внутреннего номера]] другого сервера осуществляется автоматически с использованием каналов межсерверного шлюза. При этом серверы обмениваются информацией о звонке. | ||
В итоге после коммутации каждый из серверов имеет точную [[Звонки_и_сервис_автодозвона|информацию об абоненте]], находящемся за другим сервером. | В итоге после коммутации каждый из серверов имеет точную [[Звонки_и_сервис_автодозвона|информацию об абоненте]], находящемся за другим сервером. | ||
− | Всякий раз при постановке на | + | Всякий раз при постановке на удержание, при переводе звонка абонент удаленного сервера получает информацию о новом абоненте. |
Записи разговоров удаленного сервера при этом также разделяются на блоки, синхронно соответствующие отдельным коммутациям. | Записи разговоров удаленного сервера при этом также разделяются на блоки, синхронно соответствующие отдельным коммутациям. | ||
− | При поступлении входящего вызова на сервер, его обработка производится в сценарии IVR межсерверного взаимодействия. | + | При поступлении входящего вызова на сервер, его обработка производится в [[Сценарии_АТС#ScrExchange|сценарии IVR межсерверного взаимодействия]]. |
Если таковой не задан, то в главном сценарии IVR входящей маршрутизации. | Если таковой не задан, то в главном сценарии IVR входящей маршрутизации. | ||
При этом в качестве вызываемого номера CalledId определяется вызываемый извне внутренний номер сервера. | При этом в качестве вызываемого номера CalledId определяется вызываемый извне внутренний номер сервера. | ||
Строка 57: | Строка 59: | ||
Если звонок был организован в сценарии IVR вручную, то CallerId и CalledId определяются настройками компонента-инициатора. | Если звонок был организован в сценарии IVR вручную, то CallerId и CalledId определяются настройками компонента-инициатора. | ||
+ | |||
+ | |||
+ | |||
+ | <div id="Service"></div> | ||
+ | ===Служба обмена сообщениями=== | ||
+ | |||
+ | |||
+ | Серверы используют единую службу для обмена служебными сообщениями между собой. Эта служба может быть инсталлирована и запущена на отдельном компьютере, или на одном из серверов АТС в зависимости от масштабов взаимодействия. Для службы требуется набор библиотек из каталога службы Oktell, а запуск производится исполнимым файлом ''oktell.ConnectorService.exe'', используемым совместно с конфигурационный файлом ''oktell.ConnectorService.exe.config''. Установка службы производится стандартно утилитой ''installutil'', входящей в комплект .NET Framework. | ||
+ | |||
+ | Адрес, порт, логин и пароль для подключения к службе определяются параметрами серверного конфигурационного файла: ''SrvConnectorDomain'', ''SrvConnectorPort'', ''SrvConnectorLogin'', ''SrvConnectorPass''. | ||
+ | |||
+ | Дополнительно в серверном конфигурационном файле должны быть указаны параметры ''SrvConnector_Id'' и ''SrvConnector_Name'', определяющие уникальный идентификатор текущего сервера в рамках совместно работающей сети, а также его название для отображения на других серверах. | ||
Текущая версия на 10:53, 19 декабря 2014
В настоящее время идет развитие и разработка направления связи между несколькими серверами. Настоящая статья призвана отражать реальные возможности по объединению нескольких серверов в группу.
Oktell позволяет производить объединение нескольких серверов в группу (Доступно начиная с релиза 12.12.2012.)
Серверы при этом не являются и не становятся взаимозаменяемыми, однако это помогает расширить охват распределенной телефонной сети.
Предполагается, что серверы в группе отвечают за обслуживание различных подразделений, контакты между абонентами которых существенно реже по сравнению с контактами внутри подразделений. В некоторых случаях в отдельные серверы могут быть выделены задачи предоставления доступа к одним и тем же внешним ресурсам, например к одному провайдеру телефонной связи.
SIP-транки
Для связи между серверами Oktell существует специальный тип SIP-каналов, принадлежащих шлюзу с типом «Взаимодействие между серверами». Через один и тот же набор межсерверных линий звонки осуществляются на любое количество входящих в группу серверов, поскольку они не привязываются к шлюзу/серверу с определенным адресом. Требуемое их количество можно оценить по максимально ожидаемому количеству одновременных соединений с другими серверами.
Для нормального осуществления звонков внутри группы во всех направлениях, при настройке соответствующих шлюзов на всех серверах должна быть указана одна и та же кодовая строка.
Звонки через такие линии могут осуществляться как автоматически, так и в сценариях. При этом требуется указание полного 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 телефонов создавать специальные номера, осуществляющие вызов других серверов через сценарии.
Постепенно с развитием этого направления связи будут решаться вопросы участия в единой конференции, доступа к единому хранилищу с записями разговоров, а также в целом ведение общей статистики.