Резервирование внутреннего канала — различия между версиями
Zilant (обсуждение | вклад) |
Zilant (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
[[Файл:2013-02-15_1609.png]] | [[Файл: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. Начинаем готовить систему к аварийному переключению на резервный канал. |
Версия 13:06, 15 февраля 2013
Все больше систем связи строиться по технологии VoIP, в офисах массово используются IP телефоны или софтфоны, а роль АТС выполняют компьютер в офисе или виртуальный облачный сервер с установленной программой. При этом, как правило канал подключения сервера к провайдеру более стабилен. А вот внутренние каналы подвержены потенциальному риску. Если в офисе пропадает интернет, то разговор прерывается. Но как это происходит: Абонент остается на внешней линии, подключенной к серверу через провайдера связи. Он просто перестает слышать своего собеседника, но с его каналом все в порядке. А вот внутренний канал действительно пропадает: нет интернета - нет связи. В итоге "поалёкав" ваш клиент просто положит трубку. Данную потенциальную проблему потери клиента решили в компании Телефонные Системы. Мы внедрили в oktell технологию, которая позволит не потерять разговор с клиентом, даже если в офисе отключили электроэнергию или интернет. Новая возможность oktell - возможность восстановить соединение при потере внутреннего канала. Данная возможность присутствует в версии начиная с 20130213
Рассмотрим настройку oktell, позволяющую реализовать такую возможность. На схеме представлен алгоритм взаимодействия между сценариями.
В первую очередь в сценарии IVR запускается асинхронный служебный сценарий, который и будет выполнять контроль за внутренним каналом. Запуск происходит через компонент "Запуск сценария", устанавливаемого:
- 1) в случае сценария входящей маршрутизации - любом месте сценария IVR.
- 2) в случае сценария исходящей маршрутизации - после компонента, обеспечивающего переключение на номер по внешней линии, до компонента "стоп"
В обоих случаях в сценарии IVR определяется номер внешней линии, и передается в качестве параметра в запускаемый ассинхронно служебный сценарий.
Ниже приведены описание основных компонентов служебного сценария, осуществляющего контроль за внутренним каналом.
Старт 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. Начинаем готовить систему к аварийному переключению на резервный канал.