微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 dtmf 响应从对话流中响应播放数字

如何解决使用 dtmf 响应从对话流中响应播放数字

我正在尝试使用 Google 的 DialogFlow api 做一些我认为不常见的事情。我正在编写一个 IVR,为监狱中的囚犯提供服务。

Dialogueflow 似乎假定麦克风在接到来电时始终打开。但是,当来自被关押在监狱中的人打来电话时,他们使用的是监狱系统呼叫系统之一,该系统会“说出”预先录制的消息,要求接收者按“接受”、“拒绝”或“阻止”,呼叫方电话上的麦克风将启用之前的数字,并且可以出现来自呼叫方的语音。

我已经设置了“认欢迎意图”的参数,并提供了一些预先录制的消息示例,这些示例与监狱电话系统将为接收者播放的内容一致。它看起来像这样:

“您好,您接到了马萨诸塞州惩教局囚犯 Bob Jones 的免费电话。您无需为此免费电话付费。要接受此免费电话,请按 1。要拒绝此免费电话,请按2. 要永久阻止此号码以后再接听电话,请按 3。"

我希望认欢迎意图做的是收听此消息,捕获接受数字以按下然后“按下”它以便启用呼叫者的麦克风,然后可以呈现真正的对话(主菜单IVR、响应捕获等)。

认为我会通过“自定义负载”返回此 dtmf 音调,但播放音调的场景似乎不是预期/可用的响应。

payload 将结果定义为 json 字符串,与我定义的不太一样。

{ "dtmf": {$param.accept-digit}}(将此json定义为有效负载时的语法错误消息)

有没有熟悉 Dialogueflow 的人知道我该怎么做?

解决方法

我不确定 Dialogflow 是否可以做到这一点,但您可以使用 Dasha 为此编写一个简单的应用程序。

示例 DSL (DashaScript) 代码:

start node root {
    do {
        #connectSafe($phone); //accept incoming call
    }
    transitions {
        accept: goto accept on #messageHasIntent(["press_one_to_accept"]); //listen to the message and use conversational AI to understand that it says "To accept this free call,press 1"
    }
}

node accept {
    do {
        #sendDTMF("1"); //make selection by sending DTMF code
    }
}

然后,您也可以使用 Dasha 设计其余的对话流程。

如果您需要任何帮助,请随时加入我们的 dev community 或发送电子邮件至 vlad@dasha.ai。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。