我正在用Java编写的应用程序,它通过Twilio将到Watson Voice Agent的电话连接到我的用户,我需要将一些信息传递给Voice Agent并使它对助手可用。我在sip邀请标头上传递信息,但在助手对话框上却无法获得信息。我的Twilio通话课程:
public String callPhone(String to, String from,String data)throws URISyntaxException{
Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
Call call = Call.creator(
new com.twilio.type.PhoneNumber(to),
new com.twilio.type.PhoneNumber(from),
new URI("https://handler.twilio.com/twiml/xxxx?data_sent="+data))
.create();
return call.getSid();
}
我的TwinML Bin码:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:{{From}}@us-south.voiceagent.cloud.ibm.com?X-data={{data_sent}}</Sip>
</Dial\>
</Response>
在我的语音代理配置中,我将“自定义SIP INVITE标头”作为“数据”(不带引号),在助手中,我尝试访问$ vgwSIPCustomInviteHeader,但语音代理未说明该值应在何处。
我已经解决了,由于某种原因,如果我将标头参数与“ _”一起使用,则TwinML Bin似乎无法正确发送该值,我将该参数更改为“ dataSent”,现在它可以工作了很好。