Пример простого голосового меню IVR

Задача

При входящем вызове, проиграть приветствие. Если абонент ввел 1 - звонить на 101, если 2 - на 102, для всех других случаем - на 101 и 102 одновременно. Так же, необходимо использовать собственную мелодию вместо гудков.

Реализация

В разделе Media загрузим 2 Wav файла:

  1. myMusic.wav - мелодия вместо гудков

  2. myIVRfile.wav - файл с приветствием и предложением выбрать 1 или 2 (для IVR)

В разделе с public маршрутами добавить новую схему для входящего номера:

Пример схемы

[ { "ringback": { "call": { "name": "myMusic.wav", "type": "wav" }, "hold": { "name": "myMusic.wav", "type": "wav" }, "transfer": { "name": "myMusic.wav", "type": "wav" } } }, { "answer": "200" }, { "playback": { "name": "myIVRfile.wav", "type": "wav", "getDigits": { "setVar": "getIvrDigits", "min": "1", "max": "1", "timeout": "4000" } } }, { "recordSession": { "action": "start" } }, { "switch": { "variable": "${getIvrDigits}", "case": { "1": [ { "bridge": { "endpoints": [ { "type": "user", "name": "101" } ] } } ], "2": [ { "bridge": { "endpoints": [ { "type": "user", "name": "102" } ] } } ], "default": [ { "bridge": { "strategy": "multiple", "parameters": [ "instant_ringback=true" ], "endpoints": [ { "type": "user", "name": "101" }, { "type": "user", "name": "102" } ] } } ] } } } ]

Описание схемы

№ строки

Application

Описание

№ строки

Application

Описание

4

ringback

Установить мелодию вместо гудков

8

Установить мелодию вместо гудков на удержание

12

Установить мелодию вместо гудков при переводе

19

answer

Поднять трубку

22

playback

Проиграть звуковой файл

23

Название файла, загруженного в разделе Media

26

Имя переменной, в которую получаем донабор

27 - 28

Количество цифр

29

Ожидание ввода 4 секунды

34

recordSession

Начало записи разговора

39

SWITCH

Условный оператор выбора

40

Переменная, по которой будем производить сравнение

42, 54

Действия для выбора "1" и "2"

43, 55

bridge - на номера 101 либо 102

66

Условие по умолчанию. Если введено другое значение либо пусто.

67

bridge - на номера 101 и 102 одновременно