Переменная IVR имеет имя и значение.

Имя переменной

Имя переменной — произвольная регистронезависимая строка.

Значение переменной

Значение переменной — произвольная строка.

Разыменование переменной

Над переменной определена операция разыменования — подставление значения переменной на основании её имени.
Символ % в начале и в концу переменной означает, что нужно выполнить операцию разыменования над переменной.
Например, запись вида VARIABLE означает, что нужно выполнить операцию разыменования над переменной с именем VARIABLE.

В случае, если переменную разыменовать нельзя(переменная не определена), то запись операции разыменования переменной остается без изменений.

Примеры:

Пусть задана переменная CGPN, равная 1234

Тогда запись
/%CGPN%/prompt/alarm_prompt.wav
будет эквивалента записи
/1234/prompt/alarm_prompt.wav


Пусть перемена CGPN не задана

Тогда запись 
/%CGPN%/prompt/alarm_prompt.wav
останется без изменений

Предопределенные переменные

Предопределенные переменные — переменные с предопределенными именами, значения которых либо определенного типа, либо предопределены.

Предопределенные переменные:

  1. CDPN

    * имя      — CDPN
    * описание - номер вызываемого абонента;
    * тип      - номер телефона.
  2. CGPN

    * имя      - CGPN
    * описание - номер вызывающего абонента;
    * тип      - номер телефона.
  3. PRIORITY

    * имя      - PRIORITY
    * описание - приоритет вызова;
    * тип      - приоритет.
  4. PARK_SLOT_NUMBER

    * имя      - PARK_SLOT_NUMBER
    * описание - номер запаркованного вызова. Выставляется/изменяется сервисом парковки;
    * тип      - строка;
  5. YEAR 

    * имя      - YEAR
    * описание - год начала выполнения скрипта;
    * тип      - строка из 4 цифр c лидирующими нулями;
  6. MONTH 

    * имя      - MONTH
    * описание - месяц начала выполнения скрипта;
    * тип      - строка из 2 цифр c лидирующими нулями;
  7. DAY 

    * имя      - DAY
    * описание - день начала выполнения скрипта;
    * тип      - строка из 2 цифр c лидирующими нулями;
  8. HOUR 

    * имя      - HOUR
    * описание - час начала выполнения скрипта;
    * тип      - строка из 2 цифр с лидирующими нулями;
  9. MINUTE 

    * имя      - MINUTE
    * описание - минута начала выполнения скрипта;
    * тип      - строка из 2 цифр с лидирующими нулями;
  10. SECOND 

    * имя      - SECOND
    * описание - секунда начала выполнения скрипта;
    * тип      - строка из 2 цифр с лидирующими нулями;
  11. IVR_LAST_COLLECT 

    * имя      - IVR_LAST_COLLECT
    * описание - список dtmf задетектированный последним блоком ivr;
    * тип      - номер телефона;
  12. DOMAIN 

    * имя      - DOMAIN
    * описание - имя домена;
    * тип      - строка;
  13. EXTENSION

    * имя      - EXENSION
    * описание - данная переменная формируется в случае успешного донабора в блоке IVR и её значение равно цифрам донабора;
    * тип      - номер телефона.
  14. QUEUE_REACHED_LIMIT

    * имя      - QUEUE_REACHED_LIMIT
    * описание - данная переменная формируется в случае, если вызов не удалось поместить в очередь и содержит причину, по которой это не удалось.
    * тип      - строка;
    * значения - max_queue_length, max_predicted_time.
  15. LAST_BLOCK_BRANCH

    * имя      - LAST_BLOCK_BRANCH
    * описание - данная переменная формируется в случае выхода из блока по ветке;
                 значение переменной содержит имя ветки, по которой был совершен последний выход из блока;
    * тип      - строка.
  16. SKILLS

    * имя      - SKILLS
    * описание - данная переменная используется call-центром при определении наиболее подходящего оператора, если активировано skill-based распределение вызовов. Задать её значение может только IVR блок SET.
    * тип      - строка;
    * значения - список скиллов разделённых запятой, где каждый скилл - строка следующего формата:
      <имя скилла>[:<уровень скилла>]
    * пример   - product/softswitch,language/english:10,documentation

Более не предопределенные переменные

  1. RECORD_TIMEOUT

    * имя      - RECORD_TIMEOUT
    * описание - максимальная длительность записи сообщения в блоке Prompt Recorder (в миллисекундах);
    * тип      - целое число, > 0;
  2. RECORD_MAX_SILENCE

    * имя      - RECORD_MAX_SILENCE
    * описание - максимальный непрерывный период времени, пока блок Prompt Recorder детектирует тишину абонента, прежде чем прекратить запись сообщения (в миллисекундах). В случае, если значение равно 0, то детектор тишины выключен;
    * тип      - целое число, >= 0;

Типы переменных

Типы переменных:

  1. строка — произвольная строка;
  2. номер телефона — строка, состоящая из символов 0-9, A, B, C, D, *, #;
  3. приоритет — цифры 0-15
    (взято из acp_lib: '0 — flash_override' | '1 — flash' | '2 — immediate' | '3 — priority' | '4 — routine').

Использование переменных

Переменные могут быть использованы:

  1. для выставления приоритета вызова (указывается имя переменной);
  2. в качестве номера телефона (используется запись разыменования переменной) в блоках:
    1. Dial.

Раннее использование переменных

Раннее использование переменных:

  1. для проигрывания аудио ресурса (указывается имя переменной):
    1. в качестве URL;
    2. в качестве номера телефона.