Приложение О. Переменные IVR
Переменная IVR имеет имя и значение.
Имя переменной
Имя переменной — произвольная регистронезависимая строка.
Значение переменной
Значение переменной — произвольная строка.
Разыменование переменной
Над переменной определена операция разыменования — подставление значения переменной на основании её имени.
Символ % в начале и в концу переменной означает, что нужно выполнить операцию разыменования над переменной.
Например, запись вида VARIABLE означает, что нужно выполнить операцию разыменования над переменной с именем VARIABLE.
В случае, если переменную разыменовать нельзя(переменная не определена), то запись операции разыменования переменной остается без изменений.
Примеры:
Пусть задана переменная CGPN, равная 1234 Тогда запись /%CGPN%/prompt/alarm_prompt.wav будет эквивалента записи /1234/prompt/alarm_prompt.wav
Пусть перемена CGPN не задана Тогда запись /%CGPN%/prompt/alarm_prompt.wav останется без изменений
Предопределенные переменные
Предопределенные переменные — переменные с предопределенными именами, значения которых либо определенного типа, либо предопределены.
Предопределенные переменные:
CDPN
* имя — CDPN * описание - номер вызываемого абонента; * тип - номер телефона.
CGPN
* имя - CGPN * описание - номер вызывающего абонента; * тип - номер телефона.
PRIORITY
* имя - PRIORITY * описание - приоритет вызова; * тип - приоритет.
PARK_SLOT_NUMBER
* имя - PARK_SLOT_NUMBER * описание - номер запаркованного вызова. Выставляется/изменяется сервисом парковки; * тип - строка;
YEAR
* имя - YEAR * описание - год начала выполнения скрипта; * тип - строка из 4 цифр c лидирующими нулями;
MONTH
* имя - MONTH * описание - месяц начала выполнения скрипта; * тип - строка из 2 цифр c лидирующими нулями;
DAY
* имя - DAY * описание - день начала выполнения скрипта; * тип - строка из 2 цифр c лидирующими нулями;
HOUR
* имя - HOUR * описание - час начала выполнения скрипта; * тип - строка из 2 цифр с лидирующими нулями;
MINUTE
* имя - MINUTE * описание - минута начала выполнения скрипта; * тип - строка из 2 цифр с лидирующими нулями;
SECOND
* имя - SECOND * описание - секунда начала выполнения скрипта; * тип - строка из 2 цифр с лидирующими нулями;
IVR_LAST_COLLECT
* имя - IVR_LAST_COLLECT * описание - список dtmf задетектированный последним блоком ivr; * тип - номер телефона;
DOMAIN
* имя - DOMAIN * описание - имя домена; * тип - строка;
EXTENSION
* имя - EXENSION * описание - данная переменная формируется в случае успешного донабора в блоке IVR и её значение равно цифрам донабора; * тип - номер телефона.
QUEUE_REACHED_LIMIT
* имя - QUEUE_REACHED_LIMIT * описание - данная переменная формируется в случае, если вызов не удалось поместить в очередь и содержит причину, по которой это не удалось. * тип - строка; * значения - max_queue_length, max_predicted_time.
LAST_BLOCK_BRANCH
* имя - LAST_BLOCK_BRANCH * описание - данная переменная формируется в случае выхода из блока по ветке; значение переменной содержит имя ветки, по которой был совершен последний выход из блока; * тип - строка.
SKILLS
* имя - SKILLS * описание - данная переменная используется call-центром при определении наиболее подходящего оператора, если активировано skill-based распределение вызовов. Задать её значение может только IVR блок SET. * тип - строка; * значения - список скиллов разделённых запятой, где каждый скилл - строка следующего формата: <имя скилла>[:<уровень скилла>] * пример - product/softswitch,language/english:10,documentation
Более не предопределенные переменные
RECORD_TIMEOUT
* имя - RECORD_TIMEOUT * описание - максимальная длительность записи сообщения в блоке Prompt Recorder (в миллисекундах); * тип - целое число, > 0;
RECORD_MAX_SILENCE
* имя - RECORD_MAX_SILENCE * описание - максимальный непрерывный период времени, пока блок Prompt Recorder детектирует тишину абонента, прежде чем прекратить запись сообщения (в миллисекундах). В случае, если значение равно 0, то детектор тишины выключен; * тип - целое число, >= 0;
Типы переменных
Типы переменных:
- строка — произвольная строка;
- номер телефона — строка, состоящая из символов 0-9, A, B, C, D, *, #;
- приоритет — цифры 0-15
(взято из acp_lib: '0 — flash_override' | '1 — flash' | '2 — immediate' | '3 — priority' | '4 — routine').
Использование переменных
Переменные могут быть использованы:
- для выставления приоритета вызова (указывается имя переменной);
- в качестве номера телефона (используется запись разыменования переменной) в блоках:
- Dial.
Раннее использование переменных
Раннее использование переменных:
- для проигрывания аудио ресурса (указывается имя переменной):
- в качестве URL;
- в качестве номера телефона.