有没有办法在 vxml 中设置通话持续时间的时间限制?例如,如果调用者订购了一段时间(比如 10 分钟),10 分钟后,是否可以在 vxml 脚本中添加一个计时器,然后挂断调用,或宣布调用结束?我正在寻找的主要功能(希望是示例)是能够在 vxml 中设置时间限制。
最佳答案
您不能直接在 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,并且通过使用延迟属性,您可以设置时间段。 CCXML 基于 Web 标准,因此您可以在适当的延迟时间段内动态创建 XML 文档。当事件触发时,您将在 CCXML 中捕获它并终止 VoiceXML 应用程序。
<transition state="'dialogActive'" event="user.timeout">
<log expr="'A timeout occured'" />
<dialogterminate sessionid="theDialog" />
</transition>
关于javascript - 如何在vxml中设置通话持续时间限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895299/