我已经编写了一个节点js服务器代码,以便dialog-flow可以通过Web挂钩和集成的dialog-flow电话网关连接到我的服务器。拨打该号码后,我可以获得语音笔录文本。但是,如果我在拨号盘上键入任何数字,我不会收到。我需要做些什么才能从通话中的拨号盘获取号码输入。
如果我在通话中说“你好”,响应就是这样。
{
“ responseId”:“ b5644842-75bf-41f3-bf84-cf7b4f02c71f”,
“ queryResult” :: {
“ queryText”:“您好。”,“ action”:
“ input.welcome”,
“参数”:{},
“ allRequiredParamsPresent”:true,
“意图”:{
“名称”:“ projects / maps-ec9e1 / agent / intents / 54f5f623-2011-4d95-92a7-b8e873cd55a7”,
“ displayName”:“默认欢迎意图”
},
“ intentDetectionConfidence”:1,
“ languageCode”:“ zh-cn”
},
“ originalDetectIntentRequest”:{
“来源”:“ GOOGLE_TELEPHONY”,
“有效载荷”:{
“电话”:{
“ caller_id”:“ REDACTED_IN_STANDARD_TIER_AGENT”
}
}
},
“会话”:“ projects / maps-ec9e1 / agent / sessions / l0vQqOpaSsq9rvJc0sMMYA”
}
}
答案 0 :(得分:0)
您正在寻找DTMF检测。 Google的Dialogflow电话网关不支持此功能,但是您可以从一些第三方Dialogflow网关产品中获得此功能,例如Voximplant,Audiocodes的VoiceAI网关和drachtio.org。
没有标准的方法来执行此操作,但是通常,电话网关需要检测到一个数字,然后将文本查询或事件发送到您的机器人可以处理的Dialogflow。
我在cogint.ai上发表了评论,详细介绍了如何针对Voximplant和Audiocodes执行此操作。