Резервирование внутреннего канала — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 15: Строка 15:
 
[[Файл:2013-02-15_1609.png]]
 
[[Файл:2013-02-15_1609.png]]
  
Служебный сценарий, получив на вход номер внешней линии, обеспечивает мониторинг её состояния. Компонент "Статус обхекта 2" получает Состояние. ( 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей)
+
Ниже приведены описание основных компонентов служебного сценария, осуществляющего контроль за внутренним каналом.
 +
 
 +
Старт 1. В переменную НОМЕР ВНЕШНЕЙ ЛИНИИ сохраняется значение передаваемого из сценария IVR параметра.
 +
 
 +
Статус объекта 2. Определяет состояние внешней линии. Возвращаемые компонентом "Статус объекта" статусы линии описаны в разделе [[Общие компоненты сценариев]] Состояние. ( 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей) Состояние линии, возвращаемое компонентом, сохраняется в переменной СОСТОЯНИЕ ВНЕШНЕЙ ЛИНИИ.
 +
 
 +
Меню 1. Из всех возможных статусов внешнего канала нас интересуют только 64 - внешний канал находится во Флеше, и 32 - внешний канал находится в коммутации. Все остальные статусы приводят к завершению сценария. Если внешний канал находится в коммутации, управление передается на компонент Статус объекта 1.
 +
 
 +
Статус объекта 1. Получаемая с помощью компонента XML структура содержит всю историю по интересующему нас внешнему каналу. Записываем её в переменную ФУНКЦИЯ.
 +
 
 +
Парсер 1. Производит разбор XML структуры, содержащейся в переменной ФУНКЦИЯ поисковым запросом abonent:last>property_simple[key="linenumber"]  Полученный результат - есть номер линии, которая находится (или последней находилась) в коммутации с интересующим нас каналом. Сохраняем её в переменную LINE
 +
 
 +
Меню 2. В задаче, которую мы решали, необходимо контролировать только каналы некоторых сотрудников. По этому если скомутированный канал нас не интересует дальнейшае его обработка не производится. Если внешняя линия скоммутирована с интересующим нас каналом, по которому необходимо осуществлять контроль, управление передается компоненту "Статус объекта 4".
 +
 
 +
Статус объекта 4. Определяет время отсутствия звука в канале (номер канала содержится в переменной LINE). Возвращаемое значение записывается в ЧИСЛОВУЮ переменную ВРЕМЯ БЕЗ ЗВУКА.
 +
 
 +
Сравнение 1. Устанавливается предельное время нахождения канала без звука. В нашем примере установлено значение 2 секунды. Значение числовой переменной ВРЕМЯ БЕЗ ЗВУКА сравнивается с установленным пороговым значением. Если ВРЕМЯ БЕЗ ЗВУКА более 2 секунд, управление передается компоненту МЕНЮ 3. Начинаем готовить систему к аварийному переключению на резервный канал.

Версия 13:06, 15 февраля 2013

Все больше систем связи строиться по технологии VoIP, в офисах массово используются IP телефоны или софтфоны, а роль АТС выполняют компьютер в офисе или виртуальный облачный сервер с установленной программой. При этом, как правило канал подключения сервера к провайдеру более стабилен. А вот внутренние каналы подвержены потенциальному риску. Если в офисе пропадает интернет, то разговор прерывается. Но как это происходит: Абонент остается на внешней линии, подключенной к серверу через провайдера связи. Он просто перестает слышать своего собеседника, но с его каналом все в порядке. А вот внутренний канал действительно пропадает: нет интернета - нет связи. В итоге "поалёкав" ваш клиент просто положит трубку. Данную потенциальную проблему потери клиента решили в компании Телефонные Системы. Мы внедрили в oktell технологию, которая позволит не потерять разговор с клиентом, даже если в офисе отключили электроэнергию или интернет. Новая возможность oktell - возможность восстановить соединение при потере внутреннего канала. Данная возможность присутствует в версии начиная с 20130213

Видеоурок. настройка oktell от установки до первого звонка

Рассмотрим настройку oktell, позволяющую реализовать такую возможность. На схеме представлен алгоритм взаимодействия между сценариями.

2013-02-15 1550.png

В первую очередь в сценарии IVR запускается асинхронный служебный сценарий, который и будет выполнять контроль за внутренним каналом. Запуск происходит через компонент "Запуск сценария", устанавливаемого:

1) в случае сценария входящей маршрутизации - любом месте сценария IVR.
2) в случае сценария исходящей маршрутизации - после компонента, обеспечивающего переключение на номер по внешней линии, до компонента "стоп"

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

2013-02-15 1609.png

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

Старт 1. В переменную НОМЕР ВНЕШНЕЙ ЛИНИИ сохраняется значение передаваемого из сценария IVR параметра.

Статус объекта 2. Определяет состояние внешней линии. Возвращаемые компонентом "Статус объекта" статусы линии описаны в разделе Общие компоненты сценариев Состояние. ( 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей) Состояние линии, возвращаемое компонентом, сохраняется в переменной СОСТОЯНИЕ ВНЕШНЕЙ ЛИНИИ.

Меню 1. Из всех возможных статусов внешнего канала нас интересуют только 64 - внешний канал находится во Флеше, и 32 - внешний канал находится в коммутации. Все остальные статусы приводят к завершению сценария. Если внешний канал находится в коммутации, управление передается на компонент Статус объекта 1.

Статус объекта 1. Получаемая с помощью компонента XML структура содержит всю историю по интересующему нас внешнему каналу. Записываем её в переменную ФУНКЦИЯ.

Парсер 1. Производит разбор XML структуры, содержащейся в переменной ФУНКЦИЯ поисковым запросом abonent:last>property_simple[key="linenumber"] Полученный результат - есть номер линии, которая находится (или последней находилась) в коммутации с интересующим нас каналом. Сохраняем её в переменную LINE

Меню 2. В задаче, которую мы решали, необходимо контролировать только каналы некоторых сотрудников. По этому если скомутированный канал нас не интересует дальнейшае его обработка не производится. Если внешняя линия скоммутирована с интересующим нас каналом, по которому необходимо осуществлять контроль, управление передается компоненту "Статус объекта 4".

Статус объекта 4. Определяет время отсутствия звука в канале (номер канала содержится в переменной LINE). Возвращаемое значение записывается в ЧИСЛОВУЮ переменную ВРЕМЯ БЕЗ ЗВУКА.

Сравнение 1. Устанавливается предельное время нахождения канала без звука. В нашем примере установлено значение 2 секунды. Значение числовой переменной ВРЕМЯ БЕЗ ЗВУКА сравнивается с установленным пороговым значением. Если ВРЕМЯ БЕЗ ЗВУКА более 2 секунд, управление передается компоненту МЕНЮ 3. Начинаем готовить систему к аварийному переключению на резервный канал.