twilio - 在 Watson Voice Agent 上获取 SIP 邀请标头
问题描述
我正在用 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”,现在它工作正常。
推荐阅读
- vba - vba - 脱机检查 Active Directory 组成员资格
- batch-file - 检查 Windows 服务列表是否正在运行,如果不是从批处理文件启动
- amazon-web-services - AWS 服务器超时(OperationalError: (psycopg2.OperationalError) 无法连接到服务器:连接超时)
- php - 根据先前的字段选择获取要更新的 ACF 分类选择值
- go - 为什么在全局范围内声明通道会产生死锁问题
- java - 我的 java 方法返回语句有问题,我在 if-else 语句中为未初始化的变量赋值
- angular - 无法在 ngAfterViewInit 中检索 NgForm.value
- soap - “无法找到到所请求目标的有效证书路径”错误
- intellij-idea - 如何将默认终端的名称更改为 IntelliJ 中的动态名称?
- sql - 地理坐标格式