JavaScript — как установить ограничение продолжительности звонка в VXML

Есть ли способ установить ограничение по времени для звонка в VXML? Например, если вызывающий заказывает интервал времени (скажем, 10 минут), через 10 минут можно ли добавить таймер в скрипт vxml, чтобы затем отбросить вызов или объявить, что вызов заканчивается? Основная функция, которую я ищу и, надеюсь, пример, это возможность установить ограничение по времени в vxml.

2

Решение

Вы не можете сделать это напрямую в VoiceXML, но вы можете использовать бесплатный стандарт CCXML для достижения этой цели. CCXML управляется событиями и может быть настроен как конечный автомат, который выполняет переход по событиям.

Вы можете настроить событие на тайм-аут после определенного периода.

 <transition state="'init'" event="connection.CONNECTION_CONNECTED" name="evt">
<log expr="'ave liftoff.'"/>

<dialogstart src="'gimme.vxml'" dialogid="theDialog"type="'application/xml+vxml;platform=motorola'"/>

<assign name="state0" expr="'dialogActive'" />

<send event="'timeout'" target="session.id" delay="'20000'" />
</transition>

Элемент dialogstart запускает приложение VoiceXML. CCXML продолжает работать в фоновой обработке событий. Элемент send отправляет событие обратно в CCXML, и с помощью атрибута delay вы можете установить период времени. CCXML основан на веб-стандартах, поэтому вы можете динамически создавать XML-документ с соответствующим периодом задержки. Когда событие сработает, вы поймаете его в CCXML и закроете приложение VoiceXML.

<transition state="'dialogActive'" event="user.timeout">
<log expr="'A timeout occured'" />
<dialogterminate sessionid="theDialog" />
</transition>
2

Другие решения

Если ограничение по времени строгое, то ответ Кевина с CCXML — лучший выбор, поскольку он может прервать диалог. В противном случае вы можете программно проверять каждый переход формы или заполнение поля.

0

По вопросам рекламы [email protected]