我正在尝试做一些我不认为是使用谷歌DialogFlow api的常见场景的事情。我正在写一个为监狱里的囚犯服务的IVR。
对话流似乎假设当接收到呼叫时麦克风总是开着的。但是,当一个被关押在监狱里的人打来电话时,他们使用的是监狱系统呼叫系统中的一个系统,该系统“通话”一条预先录制的信息,要求接收者按下一个“接受”、“拒绝”或“阻塞”数字,然后激活来电者的话筒,并进行通话。
我已经设置了“默认欢迎意图”的参数,并举例说明了这些预先记录的信息与监狱电话系统将为接收者播放的内容一致。看起来是这样的:
“你好,你收到了马萨诸塞州教养局囚犯鲍勃·琼斯的免费电话。这个免费电话不收费。要接受这个免费电话,请按1。若要拒绝这个免费电话,请按2。若要永久阻止这个号码,请按3。”
我想要默认的欢迎意图是听这条消息,捕获接受数字按下,然后“按”它,以便来电者的麦克风被启用,然后可以显示一个真正的对话( IVR的主菜单,响应捕获等)。
我认为会通过“自定义有效负载”返回这个dtmf音调,但是播放音调的场景似乎不是一个预期的/可用的响应。
有效负载定义了要作为json字符串传递的结果,与我所定义的不太一样。
{ "dtmf":{$参数. as位}}(当此json被定义为有效负载时,语法错误消息)
熟悉对话框的人知道我会怎么做吗?
发布于 2021-04-21 06:53:21
我不确定是否可以使用对话框流,但您可以使用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社区或在vlad@dasha.ai上给我打电话。
https://stackoverflow.com/questions/66843377
复制相似问题