Сегодня мы будем делать простой автосекретарь (IVR) для CUCM.
В нашем случае топология следующая - Кластер из двух серверов CUCM. К нему по MGCP подключен голосовой шлюз (Cisco ISRG2 3945). Шлюз по E1 подключен к оператору связи.
IVR делается на шлюзе, но тут мы вспоминаем, что шлюз у нас подключен по MGCP - поэтому он управляется со стороны CUCM. Ситуация на первый взгляд безвыходная. Но если подумать - то выход есть, во первых - использовать внешний сервер автосекретаря, но не у всех на складе завалялась лишняя циска или сервер с астериском. Во вторых, использовать имеющийся шлюз, но через дополнительное подключение через h323.
Реализуем второе решение.
Звонки из PSTN будут проходить через MGCP-шлюз, попадать на CUCM, там заворачиваться через H323 обратно на шлюз, где уже будет ждать IVR, и после донабора внутреннего номера - уходить по H323 обратно в CUCM. На первый взгляд немного муторно, но это только вначале, потом привыкаешь :)
Так-же необходимо не забывать, что серверов CUCM у нас два, и это надо учесть в написании Dial-peer, для поддержания отказоустойчивости.
Итак, на CUCM добавляем H323 шлюз.
Device->Gateway->Add New
Указываем IP нашего шлюза (Device Name), и его описание. Этого достаточно для нашей задачи.
Теперь надо настроить номер, по которому звонок будет уходить на IVR. В нашем случае это номер 6112 (вам естественно необходимо будет указывать номер в том формате, в котором он приходит из PSTN) Шлюзом для этого звонка указываем только созданный h323-шлюз.
Call Routing->Route/Hunt->Route Pattern-> Add New .
На этом настройка CUCM закончена. Переходим к настройкам шлюза и созданию IVR.
Наш IVR будет проигрывать приветствие и ждать набора номера из четырех цифр, причем первой цифрой могут быть только 6 или 7.
На шлюз надо будет закинуть два файла. Скрипт автоответчика
ivr.vxml и приветствие
hello.wav Активируем наш скрипт
#conf t
application
service ivr flash:/ivr.vxml
end
Создаем диал-пиры на прием звонков с обоих серверов кластера и запуск скрипта
dial-peer voice 6100 voip
service ivr
session target ipv4:1.1.1.1
incoming called-number 6112
codec g711ulaw
!
dial-peer voice 6101 voip
service ivr
session target ipv4:1.1.2.1
incoming called-number 6112
codec g711ulaw
!
И диал-пиры на отправку звонков к внутренним абонентам
dial-peer voice 6102 voip
preference 1
destination-pattern ....
session target ipv4:1.1.1.1
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad
!
dial-peer voice 6103 voip
preference 2
destination-pattern ....
session target ipv4:1.1.2.1
dtmf-relay h245-alphanumeric
codec g711ulaw
no vadВся настройка закончена.
PS: Маленькая хитрость. Звуковой файл приветствия после активации скрипта висит в памяти, и если просто его сменить на другой, то все равно будет проигрываться старый. Решается эта проблема командой
#audio-prompt load flash:/hello.wav рекомендую ее посадить на alias