Автор |
Сообщение |
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
Добрый день. Для начало представлюсь, меня зовут Василий и я инженер пакетной сети. Сейчас занимаюсь настройкой IVR на cme. Но увы в «решенных вопросах по голосу» на форуме ответа не нашёл и за сегодняшний день понял только что IVR бывает tcl и vxml. Полистав cisco.com….. понял что освоить быстро именно у меня не получится. А поэтому есть вопросы и прошу помощи… Есть ли где библиотека с конкретными примерами по IVR? Ну что то вроде: Дано: человек позвонил на номер… Ему сказали – переведи в тон свою трубу и набери внутренней номер или нажми 0 для связи с девочкой (ну а девочка потом может соединить с нужным абонентом) Решение: - ну а тут родимый скрипт и желательно с пояснениями, чтоб можно было под себя заточить получше. Ну а если такого нет, то помогите пожалуйста со скриптом. Нужен достаточно простой: При звонке голос говорит – переведи в тон и набери внутренний номер, или нажми 0 для связи с оператором. Фраза зациклена, если абонент тупит 3 минуты, то ему отбой. Если абонент нажал 0 и оператор не берет трубку, то опять отбой через 3 минуты. Если оператор взял трубку, то дальше уже он сам соединит с кем нужно. Заранее благодарен за любой ответ. П.С. anticisco.ru - молодой проект, мне кажется что создать библиотеку ivr с подробными комментариями было бы классно , я в рунете такой не встречал.
_________________ С уважением, Василий
|
19 фев 2011, 22:45 |
|
|
_2e_
Зарегистрирован: 14 май 2009, 12:57 Сообщения: 2067 Откуда: Волгоград
|
Очень известная статья: Создание и настройка IVR для голосовых шлюзов Cisco Systems Михаил Заграевский Лежит где не попадя, например тут: http://www.av5.com/journals-magazines-online/1/44/421
|
19 фев 2011, 23:31 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
спасибо за ответ, но......перед тем как написать сюда, я нашёл эту статью и многие другие, это не мой вариант......ну не программист я
_________________ С уважением, Василий
|
20 фев 2011, 07:55 |
|
|
komuccap
Зарегистрирован: 20 июл 2009, 11:31 Сообщения: 565
|
mormishkaна самом деле vxml не так страшен как может показаться..если понять его основные концептуальные моменты, то вполне можно без проблем что-то простенькое писать самому ниже пример моего скрипта: звонящему предлагается набрать внутренний номер, либо 0 для связи с секретарем, либо 9 для отправки факса, либо ждать тоже для связи с секретарем Код: <?xml version="1.0"?> <vxml version="2.0" base="flash:/vxml-ivr/My.vxml">
<var name="number" expr="100"/>
<menu id="main" dtmf="false"> <property name="timeout" value="4s"/> <prompt><audio src="flash:/vxml-ivr/newfirst_announcement.wav"/></prompt> <catch event="com.cisco.fax.cng"><goto next="#fax"/></catch> <catch event="noinput"><goto next="#sek"/> </catch> <catch event="nomatch"><prompt bargein="false"><audio src="flash:/vxml-ivr/absent_number.wav"/></prompt><goto next="#sek"/></catch> <choice dtmf="0" next="#sek"/> <choice dtmf="4" next="#nm1"/> <choice dtmf="9" next="#fax"/> </menu> <form id="nm1"> <catch event="noinput"> <goto next="#sek"/> </catch> <field name="num"> <grammar type="application/grammar+regex">[0-9][0-9][0-9][0-9]</grammar> <filled> <assign name="number" expr="'phone://4'+num"/> <goto next="#main_nm"/> </filled> </field> </form> <form id="main_nm"> <transfer connecttimeout="20s" name="mycall" destexpr="number" bridge="true"> <catch event="error.connection.noroute error.connection.baddestination error.connection.noauthorization "> <prompt><audio src="flash:/vxml-ivr/absent_number.wav"/></prompt> <goto next="#sek"/> </catch> <filled> <if cond="mycall == 'busy'"> <prompt><audio src="flash:/vxml-ivr/number_busy.wav"/></prompt> <goto next="#sek"/> <elseif cond="mycall == 'noanswer'"/> <prompt><audio src="flash:/vxml-ivr/no_answer.wav"/></prompt> <goto next="#sek"/> </if> </filled> </transfer> </form> <form id="sek"> <transfer name="mycall" dest="phone://44200" bridge="false"> </transfer> </form> <form id="fax"> <transfer name="mycall" dest="phone://14354" bridge="false"> </transfer> </form> </vxml>
|
22 фев 2011, 11:50 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
Вот! большое спасибо! сейчас буду пробовать
_________________ С уважением, Василий
|
22 фев 2011, 18:14 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
не записывается файл на флешку а кто знает какой ios нужен для ivr vxml на 28 киску?
_________________ С уважением, Василий
|
24 фев 2011, 11:45 |
|
|
komuccap
Зарегистрирован: 20 июл 2009, 11:31 Сообщения: 565
|
что значит не записывается? скопироваться в любом случае должен
|
24 фев 2011, 12:23 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
мой косяк, уже получилось. Сейчас вот с 4002 набираю 4444 и через секунду сразу трубку бросает, а музона нет:(
voice register global mode cme source-address 10.150.95.129 port 5060 max-dn 3 max-pool 3 ! voice register dn 1 number 4001 ! voice register dn 2 number 4002 ! voice register dn 3 number 4444 ! voice register pool 1 id mac 0000.0000.4001 number 1 dn 1 max registrations 36 username ciscovas password ciscovas codec g711alaw ! voice register pool 2 id mac 0000.0000.4002 number 1 dn 2 max registrations 36 username cisco password cisco codec g711alaw
application service ivrr flash:ivrr.vxml
dial-peer voice 4 voip description IVR service ivrr incoming called-number 4444 codec g711alaw
<?xml version="1.0"?> <vxml version="2.0" base="flash:ivrr.vxml">
<menu id="main" dtmf="true"> <prompt> <audio src="flash:privet.au"/> </prompt> <choice next="#abn"> <grammar type="application/grammar+regex">1</grammar> </choice> </menu> <form id="abn"> <transfer name="mycall" dest="phone://4001" bridge="false"> </transfer> </form> </vxml>
_________________ С уважением, Василий
|
24 фев 2011, 13:05 |
|
|
komuccap
Зарегистрирован: 20 июл 2009, 11:31 Сообщения: 565
|
навскидку что бросается в глаза: во-первых, нужно еще раз проверить на соответствие формат звукового файла..попробовать, к примеру, сконвертить его в *.wav во-вторых, добавьте в конфиге строчку "vxml version 2" - так, на всякий случай.. в-третьих, если я правильно понял, у вас не совсем корректно проходит тестирование...в диал-пире прописан called-number 4444, а это значит, что скрипт запустится только в том случае, если номер звонящего будет 4444..т.е. в вашем случае вы должны звонить с номера 4444, а не 4002
|
24 фев 2011, 14:15 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
и так. уже есть кое что 1. звук не работает 2. стал делать строчку vxml version 2, а киска её не ест, пришлось на другой делать IVR. которая съела 3. по диал пиру. На мой взгляд всё правильно прописано. Если любой набирает 4444, то он попадает на IVR. Вот только что проверил и работает.
Осталось сделать звук. И тут вопрос. Можно делать и wav? вообще в каком формате нужно делать, если у меня везде жёстко стоит g711alau.....
П.С. на первой киски стоит софт c2800nm-advipservicesk9-mz.124-4.XC5.bin на второй - на которой IVR пошёл, но пока без звука c2800nm-adventerprisek9_ivs-mz.124-24.T2.bin может кому пригодится эта инфа
_________________ С уважением, Василий
|
24 фев 2011, 15:11 |
|
|
komuccap
Зарегистрирован: 20 июл 2009, 11:31 Сообщения: 565
|
можно и wav и au..формат должен быть одинаков: 8khz 8bit mono ulaw..соответственно, в диал-пире кодек тоже поменять на ulaw
|
24 фев 2011, 16:02 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
ура!!! заработало....СПАСИБО а теперь ещё вопрос, такое ощущение что киска записывает в память звуковой файл и скрипт и если даже стереть с флаша, то всё равно IVR работает, я пока киску перегружаю и только тогда могу записать новый файлы которые будут работать. Есть команда чтоб рестартовать IVR с новыми файлами?
_________________ С уважением, Василий
|
24 фев 2011, 21:54 |
|
|
komuccap
Зарегистрирован: 20 июл 2009, 11:31 Сообщения: 565
|
да, ivr сидит в памяти..варианта рестартануть его два: 1. ребутнуть саму железку 2. делаете Код: application no service ivrr flash:ivrr.vxm
потом после внесения изменений включаете сервис обратно
|
25 фев 2011, 08:55 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
ага спасибо, работает...
музон играет, а вот дтмф не работает:(
для простоты отлаживания поставил пока вот такой скрипт
<?xml version="1.0"?> <vxml version="2.0" base="flash:ivr-for-kontora.vxml">
<var name="number"/>
<menu id="main" dtmf="true"> <property name="timeout" value="5s"/> <catch event="noinput"> <goto next="#call"/> </catch> <catch event="nomatch"> <goto next="#call"/> </catch>
<prompt> <audio src="flash:privet.au"/> </prompt>
<choice next="#call"> <grammar type="application/grammar+regex">1</grammar> </choice> <choice next="#tech"> <grammar type="application/grammar+regex">2</grammar> </choice>
</menu>
<form id="call"> <transfer name="mycall" dest="phone://5001" bridge="false"> </transfer> </form>
<form id="tech"> <transfer name="mycall" dest="phone://5002" bridge="false"> </transfer> </form>
</vxml>
по таймауту перекидывает на 5001, а вот если набирать 1 или 2, то нет нуда смотреть? где косяк?
_________________ С уважением, Василий
|
25 фев 2011, 13:26 |
|
|
komuccap
Зарегистрирован: 20 июл 2009, 11:31 Сообщения: 565
|
для dtmf отдельную конструкцию прописать надо и встроить её, к примеру, в <menu>..что-то типа: Код: <choice dtmf="1" next="#call"/>
|
25 фев 2011, 13:58 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
спасибо, сейчас попробую. я вообще решил только что проблему путём прописывания на диалпире dtmf-relay rtp-nte и сейчас всё стало работать. Но предложенный вариант тоже испробую ................ууу ...хоть немного приблизился к результату
_________________ С уважением, Василий
|
25 фев 2011, 14:21 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
и так <choice dtmf="1" next="#call"/> в чистом виде не пошёл...нужно что то подкрутить...ну да ладно...раз заработало подругому.
Теперь следющий момент, я для тестов использую eyeBeam - софт спипфон, но у меня не работает трансфер. Я звоню на номер IVR и меня соединяют с секретарём, но секретарь не может сдлеать трансфер на другой номер, что нужно подкрутить? П.С. а вот конференцию сделать может
_________________ С уважением, Василий
|
25 фев 2011, 18:13 |
|
|
mormishka
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 217
|
а вот нашёл call-forward system redirecting-expanded в voice register global если можно подругому или чем дополнить нужно, прошу говорите.
Заранее благодарен
_________________ С уважением, Василий
|
25 фев 2011, 18:41 |
|
|