Сегодня речь пойдет о голосовом меню ( IVR ) для маршрутизаторов Cisco, которые мы напишем на TCL и подключим к Cisco 3845. Итак, сначала давайте разберемся с основами Cisco, начиная с версии iOS 12 поддерживает оба VXML так и ТКЛ скрипты для работы с голосовым меню.
Однако в отличие от VXML , сценарии на ТКЛ иметь гораздо больше возможностей для взаимодействия Cisco IVR API .
Также возможно подключение гибрида.
IVR скрипты со встроенными частями VXML код внутри ТКЛ сценарий.
Все полученные мной документы по IVR от Cisco можно скачать Здесь .
ФСМ
Первое - это ФСМ переходы.Конечные автоматы — это абстрактные автоматы, возможные внутренние состояния которых конечны.
Это выглядит примерно так:
Таких переходов может быть сколько угодно, и располагаются они в конце ТКЛ сценарий.set ivr_fsm(CALLCOMES,ev_setup_indication) "act_Setup same_state"
Давайте разберемся, что это вообще такое.
Общий синтаксис этой команды: set array(CURRSTATE, curr_event) “act_proc NEXTSTATE”
Где: множество - Это имя ФСМ множество.
CURRSTATE – название текущего состояния, в котором было получено событие curr_event .
act_proc – имя функции, которая должна быть выполнена при поступлении события curr_event .
NEXTSTATE — название состояния, которое будет установлено после исполнения act_proc .
Другими словами, ФСМ это маркер, по которому Cisco сравнивает событие, полученное от API, с curr_event и текущий статус с CURRSTATE , если они описаны в каком-либо автоматном переходе, то процедура называется act_proc и состояние изменится на NEXTSTATE .
Самое главное при этом то, что текущее событие и состояние сравниваются со всеми описанными ФСМ переходы одновременно .
Те.
Для Cisco порядок расположения переходов FSM не имеет значения; все они обрабатываются асинхронно.
Функции
Второй момент — это сами функции, которые необходимо описать до инициализации скрипта.
Назначение всех команд и состояний подробно описано в файле tcl_ivr_2.0_programming_guide, который вы можете скачать Здесь , подробнее остановлюсь только на тех, которые буду использовать непосредственно в скрипте
1) Инициализация скрипта
В начале любого сценария TCL IVR содержится процедура в этом , в моем примере эта функция выглядит так: proc init { } {
puts "\n proc Init start"
global param
}
Здесь команда по сути выводит на экран ставит ".
" и определение глобальной переменной параметр Скрипт инициализируется после описания всех функций и начинается с запуска функции.
в этом .
На этом простые вещи заканчиваются; то, что произойдет дальше, гораздо интереснее.
Последняя строка выполняемого скрипта должна быть строкой, определяющей начало ФСМ переходное и исходное состояние.
В нашем случае это: fsm define ivr_fsm CALLCOMES
Это означает, что имя ФСМ массив указан как ivr_fsm , и начальное состояние ЗВОНКИ .
Давайте закончим с инициализацией, тогда станет понятнее, что происходит (надеюсь).
2) Приветствие proc Play_Welcome { } {
Теги: #cisco #cisco #ivr #tcl/tk #tcl/tk #tcl/tk #tcl/tk #Cisco IVR API #Разработка систем связи
-
Рация Для Личной И Офисной Радиосвязи
19 Oct, 24 -
Анонс Geisenbug 2017 Москва: Удвоение Выгоды
19 Oct, 24 -
Google Maps Предлагает Похвалу И Ругань
19 Oct, 24 -
Qiwi Глазами Пользователя
19 Oct, 24