Здравствуйте, мне поставили задачу написать ivr скрипт под голосовое меню. Более менее изучил и простенький смог сделать. Осталась одна загвоздка, к которой ума не приложу. Надо, чтоб при звонке абонента с городской АТС на cisco 1751 был вызов на "Секретаря" (внутренний номер 101) и сразу срабатывало голосовое меню. Если абонент нажимает цифру 1, то звонок переводится на сотовый номер через sip провайдера, при этом линия "Секретаря" освобождается (типо секретарь не успел ответить). Если без "Секретаря", то абонент звонит по городскому, идет ivr он нажимает цифру и его перекидывает на sip провайдера или на внутренний номер, все работает.
Вот ivr скрипт:
<?xml version="1.0"?>
<vxml version="2.0" base="flash:/vxml-ivr/My.vxml"><var name="DestNumber"/>
<form id="Start">
<block>
<prompt bargein="false">
<audio src="flash:/newfirst_announcement.wav"/>
</prompt>
<goto next="#Main"/>
</block>
</form><form id="Main">
<field name="getdigit" type="digits?length=1">
<grammar type="application/grammar+regex">[12345]</grammar>
<noinput>
<prompt>
<audio src="flash:/absent_number.wav"/>
</prompt>
</noinput><nomatch>
<prompt bargein="true">
<audio src="flash:/absent_number.wav"/>
</prompt>
</nomatch>
<filled>
<if cond="getdigit=='1'">
<assign name="DestNumber" expr="'phone://номер 1'"/>
<goto next="#TransferToDestNumber"/>
<elseif cond="getdigit=='2'"/>
<assign name="DestNumber" expr="'phone://номер 2'"/>
<goto next="#TransferToDestNumber"/>
<elseif cond="getdigit=='3'"/>
<assign name="DestNumber" expr="'phone://номер 3'"/>
<goto next="#TransferToDestNumber"/>
<elseif cond="getdigit=='4'"/>
<assign name="DestNumber" expr="'phone://номер 4'"/>
<goto next="#TransferToDestNumber"/>
<elseif cond="getdigit=='5'"/>
<assign name="DestNumber" expr="'phone://номер 5'"/>
<goto next="#TransferToDestNumber"/>
<disconnect/>
<else/>
</if>
</filled>
</field>
</form>
<form id="TransferToDestNumber">
<transfer connecttimeout="20s" name="mycall" destexpr="DestNumber" bridge="false"> </transfer>
<block>
<disconnect/>
</block>
</form>
</vxml>
Вот настройки порта:
voice-port 1/1
supervisory disconnect dualtone mid-call
supervisory answer dualtone
supervisory custom-cptone 1
supervisory dualtone-detect-params 1
pre-dial-delay 0
disc_pi_off
input gain 10
cptone RU
timeouts initial 0
timeouts interdigit 2
timeouts ringing 20
timing hookflash-out 300
Тут неплохо расписано по VXML http://vxml.ru/
а зачем вызов на секретаря, если в итоге там будет ivr? Может пусть будет ivr и вызов на секретаря, если выбрал секретаря, то идет ему звонок.
> а зачем вызов на секретаря, если в итоге там будет ivr? Может
> пусть будет ivr и вызов на секретаря, если выбрал секретаря, то
> идет ему звонок.Конечно удобнее так сделать. Просто "Секретарь" это 4 сотрудника компании, которые всегда в разъездах, и не факт, что человек будет около телефона. Ну и если абоненту надоест ждать ответа секретаря, он сам переведет звонок на sip по цифре.
Тогда другой вопрос. Как сделать, чтобы ivr срабатывал через 30 секунд или N-ое количество гудков после звонка (секретарь не берет трубку)?
>> а зачем вызов на секретаря, если в итоге там будет ivr? Может
>> пусть будет ivr и вызов на секретаря, если выбрал секретаря, то
>> идет ему звонок.
> Конечно удобнее так сделать. Просто "Секретарь" это 4 сотрудника компании, которые всегда
> в разъездах, и не факт, что человек будет около телефона. Ну
> и если абоненту надоест ждать ответа секретаря, он сам переведет звонок
> на sip по цифре.
> Тогда другой вопрос. Как сделать, чтобы ivr срабатывал через 30 секунд или
> N-ое количество гудков после звонка (секретарь не берет трубку)?Может тогда как полагается, научить отсутствующих сотрудников ставить аппараты в режим отсутствия в офисе, когда они уезжают?
Только это совет теоретика - с телефонными цисками я дела не имел. Но такое явно должно быть - на старых атс-ках было, в айпишных легко реализуется - должно быть и в циске.
> Тогда другой вопрос. Как сделать, чтобы ivr срабатывал через 30 секунд или
> N-ое количество гудков после звонка (секретарь не берет трубку)?подозреваю, что вам надо смотреть в сторону hunt group