Добрый день, коллеги.
Помогите разобраться в ситуации. Есть телефония на базе Cisco Unified Communications Manager 9.1. Из города приходит поток Е1 на голосовой шлюз, коим является cisco 3925, подключенный по MGCP. Все работает, все всюду дозваниваются. Входящий звонок отправляется на внутренний номер секретаря. Задача простая - настроить голосовое приветствие.Должно работать следующим образом:
При входящем звонке проигрывается приветствие и предлагается ввести добавочный номер абонента, набрать 1 для отправки факса или подождать, чтобы соединиться с секретарем.
В силу того, что в наличии нет модуля Unity, с помощью которого реализуется IVR в CUCM, делаем все на vxml скрипте.
Написал скрипт, залил во флэш-память на 3925, туда же положил звуковой файл приветствия.
В конфиг добавил следующее:
application
service ivr flash:/ivr_script.vxmldial-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>
Попробуй дать команду 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>
Перезагрузка не помогает.
Ни call application voice load ivr,Ни вариант
no service ivr flash:/ivr_script.vxml
service ivr flash:/ivr_script.vxmlУ меня два варианта:
1. Либо не правильно составлен диал-пир.
2. Либо не учтена какая-то деталь при настройке.Есть предположения по этим двум моментам?
Можно попробовать включить debug voice ccapi inout
посмотреть какой пир является входящим. А вдруг входящим является пир на котором не висит сервис, поэтмоу и не срабатывает.> Перезагрузка не помогает.
> Ни call application voice load ivr,
> Ни вариант
> no service ivr flash:/ivr_script.vxml
> service ivr flash:/ivr_script.vxml
> У меня два варианта:
> 1. Либо не правильно составлен диал-пир.
> 2. Либо не учтена какая-то деталь при настройке.
> Есть предположения по этим двум моментам?
В том то и дело, что шлюз подключен по mgcp и управляется с cucm'а. В конфиге на 3925 прописан один единственный диал-пир.
В дебаге про него ни слова. Соответственно он не матчится. Почему не матчится не понимаю.
> Можно попробовать включить debug voice ccapi inout
> посмотреть какой пир является входящим. А вдруг входящим является пир на котором
> не висит сервис, поэтмоу и не срабатывает.
> В том то и дело, что шлюз подключен по mgcp и управляется
> с cucm'а. В конфиге на 3925 прописан один единственный диал-пир.
> В дебаге про него ни слова. Соответственно он не матчится. Почему не
> матчится не понимаю.При управлении потоком по MGCP сигнализация обрабатывается UCM'ом, поэтому пиры с этими потоками работать не будут.
Да, похоже что так и есть.
Шлюз, управляемый по mgcp может исполнять vxml скрипт по команде call agent'а, однако он только может вернуть какой-нибудь параметр, и похоже, что только текстовый.http://www.cisco.com/en/US/docs/ios/voice/ivr/configuration/... документ 2007 года.
> При управлении потоком по MGCP сигнализация обрабатывается UCM'ом, поэтому пиры с этими
> потоками работать не будут.
Значит срабатывает пир по-умолчанию - нулевой. А это означает что входящий пир определен неправильно и условия не совпадают что бы он заматчился. Включить дебаг глянуть на какой номер приходит звонок, выставить правильный номер в incoming called-number или правильную маску.> В том то и дело, что шлюз подключен по mgcp и управляется
> с cucm'а. В конфиге на 3925 прописан один единственный диал-пир.
> В дебаге про него ни слова. Соответственно он не матчится. Почему не
> матчится не понимаю.
>> Можно попробовать включить debug voice ccapi inout
>> посмотреть какой пир является входящим. А вдруг входящим является пир на котором
>> не висит сервис, поэтмоу и не срабатывает.
Какой номер приходит мы уже определили, когда подключали е1 поток. Поэтому сомнений в том какой номер прописывать в incoming called-number нет.
Похоже, что действительно mgcp не позволяет запускать приложения.> Значит срабатывает пир по-умолчанию - нулевой. А это означает что входящий пир
> определен неправильно и условия не совпадают что бы он заматчился. Включить
> дебаг глянуть на какой номер приходит звонок, выставить правильный номер в
> incoming called-number или правильную маску.
> Должно работать следующим образом:
> При входящем звонке проигрывается приветствие и предлагается ввести добавочный номер абонента,
> набрать 1 для отправки факса или подождать, чтобы соединиться с секретарем.Для этого существует UCCX или Unity (не модуль, а софт), предполагаю что это можно сделать Unity Connection'ом, поставляемым с UCM'ом, но не пробовал.
Application'ы IOS'а не будут работать на шлюзе под управлением MGCP. Можно отдать обработку сигнализации IOS'у и прописать шлюз как H.323 шлюз или SIP транк.
Доброе время суток!В похожей ситуации пришлось отказаться от MGCP и сделать SIP-транк к CUCM. Из группы около 70 номеров, приходящих на поток, выбирается несколько для заворачивания на VXML IVR. Если использование вам MGCP не принципиально, сделайте так же. Проверено - работает.
> Доброе время суток!
> В похожей ситуации пришлось отказаться от MGCP и сделать SIP-транк к CUCM.
> Из группы около 70 номеров, приходящих на поток, выбирается несколько для
> заворачивания на VXML IVR. Если использование вам MGCP не принципиально, сделайте
> так же. Проверено - работает.В данной ситуции просто ргистрируем шлюз как н.323 и отдаем звонок обратно через роуте паттерн
и тогда IVR работает
у меня другая проблема - после приветствия никакой номер не добирается
сразу занято выдает
>> Доброе время суток!
>> В похожей ситуации пришлось отказаться от MGCP и сделать SIP-транк к CUCM.
>> Из группы около 70 номеров, приходящих на поток, выбирается несколько для
>> заворачивания на VXML IVR. Если использование вам MGCP не принципиально, сделайте
>> так же. Проверено - работает.
> В данной ситуции просто ргистрируем шлюз как н.323 и отдаем звонок обратно
> через роуте паттерн
> и тогда IVR работает
> у меня другая проблема - после приветствия никакой номер не добирается
> сразу занято выдаетЯ добился некоторого результата, сброса нет, звонки переводит. Проблемы только с этим ivr когда идет обработка звонка по аналоговой линии, а именно, если звонящий набрал добавочный и, не дождавшись ответа, положил трубку, то ivr не останавливается и порт висит в off-hook вечно. TAC помочь мне не смог за полгода переписки, в итоге открестился от меня, сказав, что они не будут помогать с самописными скриптами. С Е1 работает на ура.
Пришлите текст скрипта. И конфигурацию роутера, где этот скрипт вызывается.