首页 > 解决方案 > 在 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 但语音代理没有说明该值应该在哪里。

标签: twilioibm-watsonwatson-assistant

解决方案


我已经解决了,由于某种原因,如果我使用带有“_”的标头参数,TwinML Bin 似乎无法正确发送值,我将参数更改为“dataSent”,现在它工作正常。


推荐阅读