Previous Entry Share Next Entry
Cisco CUE: настройка IVR для дозвона на внешние номера через голосовой шлюз. Основные моменты
maxalion
В данной статье речь пойдет о CUE версии 8.6, установленном как ПО на платформе Service Ready Engine модуле ISM-SRE-300.
Модуль, соотв., установлен в шасси Cisco ISR G2 2911 через PCX Express слот. Версия софта роутера: 15.2(3)

Задача стояла: средствами функционала IVR (нужна соотв. IVR лицензия на CUE)  обеспечить дозвон до абонента и проиграть ему звуковое оповещение.

Для активации задачи используется http request, отправленный на адрес CUE в формате:

    http(s)://CUE_address:8080/application_name?param1=value1&param2=value2

данный запрос активирует http триггер, созданный на IVR, который запускает привязанный к нему аппликейшен. Более подробно про эту кухню можно прочесть, найдя в сети документ, описывающий работу демо скрипта placecall.aef для CUE IVR. Сдесь же остановлюсь на наиболее значимых моментах в настройке, а также упомяну о граблях, на которые успел наступить в процессе.

Итак:

1) Функционал IVR лицензируется отдельно, без привязки к лицензии Voicemail. Согласно конфиг гайду, CUE IVR  работает либо с CUCM (интеграция через jtapi), либо с CUCME (sip). Т.е. это означает, что без CUCM или CUCME данный функционал работать не будет. В моем случае никакого CUCM нет, а есть только ISR 2911 с установленным в него модулем ISM, на котором крутится CUE, и E1 PRI интерфейс в сторону корпоративной телефонной станции, которая принимает входящие вызовы от шлюза. Если у нас стоит задача генерировать c помощью IVR вызовы, отправляя их на голосовой шлюз 2911, то на самом шлюзе необходимо поднять функционал CUCME,  а для этого там должна быть активирована лицензия UC.

2) на флеше роутера обязательно должны лежать файлы GUI именно для текущей версии CME. проверяем версию командой:

router# show telephony-service
CONFIG (Version=9.5)
=====================
Version 9.5
.

Далее указываем местоположение файлов GUI на флеше (заодно включаем сервис hhtp):

ip http server
ip http authentication local
ip http path flash:/gui


а также задаем минимальный уровень привилегий для операций с файлами:

file privilege 0

если таких файлов на флеше шлюза нет (обычно лежат в директории flash:/gui/ ), то лезем на cisco.com, далее идем по пути:
Downloads Home > Products > Unified Communications > Call Control > Mid-Market Call Control > Unified Communications Manager Express > Unified Communications Manager Express Complete Support File Set s, откуда  скачиваем tar архив для нашей версии CME

Если этот архив большой (cme-153-2Tv1), то распаковываем его с помощью 7-zip, и файлы, лежащие в субдиректории CME GUI, запаковываем снова в tar (кстати, в этой же папке лежит файл CME_GUI_README, который расскажет, к какой версии CUCME применим данный набор файлов). Далее копируем и разворачиваем этот архив по TFTP на флеш шлюза в папку flash:/gui командой:

archive tar /xtract tftp://X.X.X.X/gui.tar flash:/gui

Пункт 2 я выполнил в самую последнюю очередь. При этом сначала залил на флеш GUI файлы для версии CME выше той, что была установлена у меня. Несмотря на то, что вроде как интеграция CUE с CUCME через Web консоль прошла успешна, результа не последовало: SIP Invite, который должен генерироваться CUE в сторону CUCME в результате выполнения команды "Place Call" в скрипте IVR, отсутствовал. Т.е. со стороны CUE не быо даже попыток установить соединение.  Перезагрузка модуля также не помогла.  Наконец, прочитав  CME_GUI_README, я осознал, что данный набор к моей версии неприменим. Удалив старый набор с флеша, я залил туда новый, соответствующий версии CUCME, и только после очередной перезагрузки модуля SIP наконец пошел.

3) на шлюзе:

interface ISM0/0
 ip unnumbered GigabitEthernet0/0                     ! маппим IP процессинг данного интерфейса к существующему IP интерфейсу
 service-module ip address X.X.X.2 255.255.255.0
 !Application: CUE Running on ISM
 service-module ip default-gateway X.X.X.1         ! адрес шлюза, либо адрес другого устройства, который использует шлюз для резолва сети 0.0.0.0 /0


4) задаем CUCME web administrator. потом используем его на CUE для проведения интеграции с CUCME

telephony-service
 web admin system name cisco password cisco


5) заодно не забываем  создать дайл-пиры для обработки вход./исход. вызовов.

dial-peer voice 10 voip
 destination-pattern 9999
 session protocol sipv2 
 session target ipv4:X.X.X.2         ! адрес CUE, указанный как  service-module ip address
 dtmf-relay sip-notify                    ! sip-notify - хорошо)
 codec g711ulaw                          ! помним: CUE понимает только G711 u-law

dial-peer voice 20 pots
 description Internal phones
 destination-pattern ^98..........$
 port 0/0/0:15
 forward-digits all


6) сервер, с которого шлется http request на CUE, должен находиться в IP сегменте, отличном от сегмента, в котором находится CUE. Т.е. между сервером и CUE должен быть как минимум один IP hop. Во всяком случае, у меня заработало только так.

7) проверяем, что CUE установлен  в режим интеграции с CUCME:
CUE# sh call-agent

либо меняем на нужный командой:
CUE# call-agent cme

Учитываем, что после этого потребуется перезагрузка модуля, и все существующие настройки, связанные с интеграцией CUE с CUCM (jtapi) будут удалены. Также эту процедуру можно выполнить из Web консоли (меню Administration)

Важно! Если версия софта CUE ниже 7.1(x) (например, мы говорим о CUE модуле для ISR G1), то команда call-agent там отсутствует, и для изменения типа интеграции потребуется делать как минимум reset to factory default модуля, а как максимум Re-image софта.

8) если для голосового уведомления пользователя требуется проигрывать файлы с разным (заранее не предопределенным) содержимым, то можно заранее положить сгенерированный звуковой файл на сам модуль CUE. Как это сделать? Например, так: сервис, использующий наш IVR для дозвона, перед тем как активировать ЕГО выполнение через http запрос , сначала выполняет свой внутренний скрипт, задача которого - открыть телнет (ssh) сессию на голосовой шлюз , далее из IOS CLI  шлюза провалиться на CLI модуля CUE (CUE не поддерживает ни telnet, ни ssh), и там выполнить команду:

ccn copy url ftp://X.X.X.X/Welcome.wav prompt Welcome.wav

..., скопировав  т.о. новый звуковой файл с  ftp сервера на флеш СUE. Далее уже IVR скрипт сможет проиграть данный файл со своего флеша пользователю.
К сожалению, приходится изголяться таким образом, т.к. IVR сам не умеет забирать звуковые файлы удаленно.


В общем как-то так.
Tags: , , , , ,

?

Log in

No account? Create an account
Error running style: S2TIMEOUT: Timeout: 4, URL: maxalion.livejournal.com/4717.html at /home/lj/src/s2/S2.pm line 531.