Резервирование внутреннего канала

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

Наверх

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

Резервирование внутреннего канала

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

2013-02-15 1550.png

ОПИСАНИЕ СЦЕНАРИЯ IVR МАРШРУТИЗАЦИИ ЗВОНКА

В первую очередь в сценарии 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. Начинаем готовить систему к аварийному переключению на резервный канал.

Присвоение 1 - 5. В зависимости от линии, в ГЛОБАЛЬНУЮ переменную АВАРИЙНОЕ ПЕРЕКЛЮЧЕНИЕ присваивается номер, который будет резервным. В нашем примере трехзначный внутренний номер, в правиле звонка содержит также номер мобильного телефона сотрудника, закрепленного за каналом. Подробное описание такой настройки внутреннего номера приведено на странице Если звонок принят на мобильном. Как переключить его обратно в офис

Статус объекта 3. Действие разрыв для внутренней линии. (номер канала содержится в переменной LINE)

2013-02-15 1626.png


НАСТРОЙКА ПОВЕДЕНИЯ СИСТЕМЫ "ВМЕСТО ОТБОЯ ВНЕШНЕЙ ЛИНИИ"

Сценарий IVR вместо отбоя внешней линии. Позволяет активировать режим соединения внешней линии с указанным IVR-сценарием вместо отбоя при разрыве связи по инициативе сервера. В момент, когда разрывается соединение по инициативе оператора или любого пользователя системы, стандартно внешняя линия получает отбой. При активации режима в этом случае внешняя линия будет переведена на указанный IVR-сценарий, где можно проанализировать глобальные переменные, задать вопрос анкеты о качестве связи или обслуживания, или даже переключить ее снова на любого абонента. Источник Сценарии АТС.

2013-02-15 1716.png

ОПИСАНИЕ СЦЕНАРИЯ ВМЕСТО ОТБОЯ

Основные компоненты сценария ВМЕСТО ОТБОЯ ВНЕШНЕЙ ЛИНИИ

Сравнение 3. Делается проверка глобальной переменной АВАРИЙНОЕ ПЕРЕКЛЮЧЕНИЕ. Если переменная не пустая (содержит значение), то осуществляется переход на компонент Воспроизведение 2.

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

Сравнение 4. Определяется длина номера, содержащегося в глобальной переменной АВАРИЙНОЕ ПЕРЕКЛЮЧЕНИЕ. Если номер трехзначный, осуществляется набор внутреннего номера через компонент Переключение 1. Если номер не трехзначный, производится его набор через внешние линии.

2013-02-15 1725.png