URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 772
[ Назад ]

Исходное сообщение
"Помогите с vxml ivr "

Отправлено turpanov.a , 23-Май-13 14:42 
Добрый день, коллеги.
Помогите разобраться в ситуации. Есть телефония на базе Cisco Unified Communications Manager 9.1. Из города приходит поток Е1 на голосовой шлюз, коим является cisco 3925, подключенный по MGCP. Все работает, все всюду дозваниваются. Входящий звонок отправляется на внутренний номер секретаря. Задача простая - настроить голосовое приветствие.

Должно работать следующим образом:

При входящем звонке проигрывается приветствие и предлагается ввести добавочный номер абонента, набрать 1 для отправки факса или подождать, чтобы соединиться с секретарем.

В силу того, что в наличии нет модуля Unity, с помощью которого реализуется IVR в CUCM, делаем все на vxml скрипте.

Написал скрипт, залил во флэш-память на 3925, туда же положил звуковой файл приветствия.

В конфиг добавил следующее:

application
service ivr flash:/ivr_script.vxml

dial-peer voice 1 voip
service ivr out-bound
incoming called-number 4957777777
session targer ipv4:1.1.1.1

В результате, звонок как прилетал на номер секретаря, так и прилетает туда же, приветствия нет.
Дебаг vxml молчит.

Т.е. дело до выполнения скрипта не доходит.

Пробовал делать следующий диал-пир

dial-peer voice 1 pots
service ivr
incoming called-number 4957777777
port 0/0/0:15

Результат тот же.
Блуждая по интернету, нашел очень много примеров, однако ощущение, что у всех все работает.
Подскажите, пожалуйста, что я упускаю? Может ли он не запускаться из-за ошибки в коде?


сам скрипт:

<?xml version = "1.0" encoding="UTF-8"?>
<vxml version = "2.0">

<var name="DestNumber"/>

<property name="termmaxdigits" value="true" />
<property name="interdigittimeout" value="3s" />

<form id="Main">

<field name="Getdigits" type="digits?maxlength=4">
<grammar type="application/grammar+regex">[0-9][0-9][0-9][0-9]</grammar>

<noinput>
<assign name="DestNumber" expr="'phone://1001'"/>
<goto next="#TransferToSecretary"/>
</noinput>

<prompt bargein="true">
<audio src="flash:/greeting.wav" />
</prompt>
<filled>

<if cond="getdigit=='1'">
<assign name="DestNumber" expr="'phone://1101'"/>
<goto next="#TransferToFax"/>
<else/>
<assign name="DestNumber" expr="'phone://' + Getdigits"/>
<goto next="#TransferToDestNumber"/>
</if>                    

</filled>                

</field>

<form id="TransferToDestNumber">

<transfer connecttimeout="20s" name="mycall" destexpr="DestNumber" bridge="false"> </transfer>
<block>
<disconnect/>
</block>
</form>

<form id="TransferToFax">

<transfer connecttimeout="20s" name="mycall" destexpr="DestNumber" bridge="false"> </transfer>
<block>
<disconnect/>
</block>
</form>

<form id="TransferToSecretary">
<transfer connecttimeout="20s" name="mycall" destexpr="DestNumber" bridge="false"> </transfer>
<block>
<disconnect/>
</block>
</form>


</vxml>


Содержание

Сообщения в этом обсуждении
"Помогите с vxml ivr "
Отправлено юа , 23-Май-13 15:16 
Попробуй дать команду call application voice load ivr


>[оверквотинг удален]
> </block>
> </form>
> <form id="TransferToSecretary">
> <transfer connecttimeout="20s" name="mycall" destexpr="DestNumber" bridge="false">
> </transfer>
> <block>
> <disconnect/>
> </block>
> </form>
> </vxml>


"Помогите с vxml ivr "
Отправлено turpanov.a , 23-Май-13 15:42 
Перезагрузка не помогает.
Ни call application voice load ivr,

Ни вариант
no service ivr flash:/ivr_script.vxml
service ivr flash:/ivr_script.vxml

У меня два варианта:
1. Либо не правильно составлен диал-пир.
2. Либо не учтена какая-то деталь при настройке.

Есть предположения по этим двум моментам?


"Помогите с vxml ivr "
Отправлено wireless digger , 23-Май-13 16:23 
Можно попробовать включить debug voice ccapi inout
посмотреть какой пир является входящим. А вдруг входящим является пир на котором не висит сервис, поэтмоу и не срабатывает.

> Перезагрузка не помогает.
> Ни call application voice load ivr,
> Ни вариант
> no service ivr flash:/ivr_script.vxml
> service ivr flash:/ivr_script.vxml
> У меня два варианта:
> 1. Либо не правильно составлен диал-пир.
> 2. Либо не учтена какая-то деталь при настройке.
> Есть предположения по этим двум моментам?


"Помогите с vxml ivr "
Отправлено turpanov.a , 23-Май-13 16:47 
В том то и дело, что шлюз подключен по mgcp и управляется с cucm'а. В конфиге на 3925 прописан один единственный диал-пир.
В дебаге про него ни слова. Соответственно он не матчится. Почему не матчится не понимаю.


> Можно попробовать включить debug voice ccapi inout
> посмотреть какой пир является входящим. А вдруг входящим является пир на котором
> не висит сервис, поэтмоу и не срабатывает.


"Помогите с vxml ivr "
Отправлено mdenisov , 23-Май-13 16:54 
> В том то и дело, что шлюз подключен по mgcp и управляется
> с cucm'а. В конфиге на 3925 прописан один единственный диал-пир.
> В дебаге про него ни слова. Соответственно он не матчится. Почему не
> матчится не понимаю.

При управлении потоком по MGCP сигнализация обрабатывается UCM'ом, поэтому пиры с этими потоками работать не будут.


"Помогите с vxml ivr "
Отправлено turpanov.a , 23-Май-13 17:35 
Да, похоже что так и есть.
Шлюз, управляемый по mgcp может исполнять vxml скрипт по команде call agent'а, однако он только может вернуть какой-нибудь параметр, и похоже, что только текстовый.

http://www.cisco.com/en/US/docs/ios/voice/ivr/configuration/... документ 2007 года.

> При управлении потоком по MGCP сигнализация обрабатывается UCM'ом, поэтому пиры с этими
> потоками работать не будут.


"Помогите с vxml ivr "
Отправлено wireless digger , 23-Май-13 17:27 
Значит срабатывает пир по-умолчанию - нулевой. А это означает что входящий пир определен неправильно и условия не совпадают что бы он заматчился. Включить дебаг глянуть на какой номер приходит звонок, выставить правильный номер в incoming called-number или правильную маску.

> В том то и дело, что шлюз подключен по mgcp и управляется
> с cucm'а. В конфиге на 3925 прописан один единственный диал-пир.
> В дебаге про него ни слова. Соответственно он не матчится. Почему не
> матчится не понимаю.
>> Можно попробовать включить debug voice ccapi inout
>> посмотреть какой пир является входящим. А вдруг входящим является пир на котором
>> не висит сервис, поэтмоу и не срабатывает.


"Помогите с vxml ivr "
Отправлено turpanov.a , 23-Май-13 17:39 
Какой номер приходит мы уже определили, когда подключали е1 поток. Поэтому сомнений в том какой номер прописывать в incoming called-number нет.
Похоже, что действительно mgcp не позволяет запускать приложения.

> Значит срабатывает пир по-умолчанию - нулевой. А это означает что входящий пир
> определен неправильно и условия не совпадают что бы он заматчился. Включить
> дебаг глянуть на какой номер приходит звонок, выставить правильный номер в
> incoming called-number или правильную маску.


"Помогите с vxml ivr "
Отправлено mdenisov , 23-Май-13 16:41 
> Должно работать следующим образом:
> При входящем звонке проигрывается приветствие и предлагается ввести добавочный номер абонента,
> набрать 1 для отправки факса или подождать, чтобы соединиться с секретарем.

Для этого существует UCCX или Unity (не модуль, а софт), предполагаю что это можно сделать Unity Connection'ом, поставляемым с UCM'ом, но не пробовал.
Application'ы IOS'а не будут работать на шлюзе под управлением MGCP. Можно отдать обработку сигнализации IOS'у и прописать шлюз как H.323 шлюз или SIP транк.


"Помогите с vxml ivr "
Отправлено ddmitr , 24-Май-13 18:03 
Доброе время суток!

В похожей ситуации пришлось отказаться от MGCP и сделать SIP-транк к CUCM. Из группы около 70 номеров, приходящих на поток, выбирается несколько для заворачивания на VXML IVR. Если использование вам MGCP не принципиально, сделайте так же. Проверено - работает.


"Помогите с vxml ivr "
Отправлено Александр , 16-Окт-14 19:21 
> Доброе время суток!
> В похожей ситуации пришлось отказаться от MGCP и сделать SIP-транк к CUCM.
> Из группы около 70 номеров, приходящих на поток, выбирается несколько для
> заворачивания на VXML IVR. Если использование вам MGCP не принципиально, сделайте
> так же. Проверено - работает.

В данной ситуции просто ргистрируем шлюз как н.323 и отдаем звонок обратно через роуте паттерн

и тогда IVR работает

у меня другая проблема - после приветствия никакой номер не добирается
сразу занято выдает


"Помогите с vxml ivr "
Отправлено turpanov.a , 16-Окт-14 22:28 
>> Доброе время суток!
>> В похожей ситуации пришлось отказаться от MGCP и сделать SIP-транк к CUCM.
>> Из группы около 70 номеров, приходящих на поток, выбирается несколько для
>> заворачивания на VXML IVR. Если использование вам MGCP не принципиально, сделайте
>> так же. Проверено - работает.
> В данной ситуции просто ргистрируем шлюз как н.323 и отдаем звонок обратно
> через роуте паттерн
> и тогда IVR работает
> у меня другая проблема - после приветствия никакой номер не добирается
> сразу занято выдает

Я добился некоторого результата, сброса нет, звонки переводит. Проблемы только с этим ivr когда идет обработка звонка по аналоговой линии, а именно, если звонящий набрал добавочный и, не дождавшись ответа, положил трубку, то ivr не останавливается и порт висит в off-hook вечно. TAC помочь мне не смог за полгода переписки, в итоге открестился от меня, сказав, что они не будут помогать с самописными скриптами. С Е1 работает на ура.
Пришлите текст скрипта. И конфигурацию роутера, где этот скрипт вызывается.