首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“按下*取消”日期与Nuance OSDM的日期?

“按下*取消”日期与Nuance OSDM的日期?
EN

Stack Overflow用户
提问于 2011-06-23 14:41:45
回答 1查看 395关注 0票数 1

我目前正在开发一个VXML2.0应用程序,它使用带有GRXML语法的Nuance OSDM。

我们的一个提示要求来电者输入出生日期,但如果他们没有方便的日期,他们可以说“取消”或按星号。这是一个日期OSDM,我添加了一个额外的命令语法,分别处理“取消”或星号的语音和DTMF条目。

说"cancel“是有效的;日期语法被绕过,命令语法被激活,代码就像我预期的那样运行。然而,星号却是另一回事。当我运行一个调试呼叫并按下我的电话上的星号键时,它作为一个游标符被处理。通过对OSDM手册的梳理,在Nuance Date OSDMs上的DTMF条目似乎是通过内置的DTMF数字语法运行的,其范围为2-8位数。

手册还指出:“如果指定了并行语法,则OSDM将DTMF输入与DTMF集合语法和并行语法相匹配。如果DTMF字符匹配两种语法,则返回并行语法匹配。”

因此,我认为数字语法有"*“作为一个烘焙的终止字符,它覆盖了我的明确声明,即只有"#”可以是终止字符:

  1. I按星号。
  2. DTMF数字语法被激活。DTMF数字语法
  3. 结果为空白,因为星号是一个术语字符,没有其他输入。
  4. 空格是OOG,因为返回长度为2-8

g 211

我不得不使用OSDM,因为它的操作对于我们的应用程序进行事件记录的方式至关重要。不过,我可以对星号做出有创意的回应。

是否有另一种方法可以将星号计算为有效的输入,或者让它达到我的自定义命令语法,或者绕过对OSDM的调用并自己处理它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-28 14:43:21

解决方案是使用自定义命令语法,与现有的全局命令语法分开。

OSDM的响应是“命令”,而不是“成功”,后者在后处理过程中需要一点愚蠢,但它并不太丑陋。

这是:

<date-osdm name="ClaimDate">

<dmname value="ClaimDate"/>

<collection_commandgrammar name="Generic_command.grxml"/>

<collection_dtmfcommandgrammar name="Generic_command_dtmf.grxml"/>

取而代之的是(语法的名称没有代码意义,它只是有不同的内容):

<date-osdm name="ClaimDate">

<dmname value="ClaimDate"/>

<collection_parallelgrammar1 name="Generic_inputs.grxml"/>

<collection_dtmfparallelgrammar1 name="Generic_inputs_dtmf.grxml"/>

还有中提琴!它起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6455927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档