将Twilio呼出电话连接到Watson Assistant

时间:2019-10-10 13:55:30

标签: twilio watson-assistant

我正在尝试使用Twilio的API进行出站呼叫,并将正在呼叫的号码连接到我的Watson Voice Agent(已链接到我的Watson Assistant)。我可以拨打电话,但呼叫没有转接到助手。

我正在使用Java的Twilio API。我已经将Twilio号码的SIP中继设置为使用我的语音代理的SIP

这是方法的实现

public String callPhone(String to, String from)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("http://www.example.com/sipdial.xml"))
                .create();

        return call.getSid();

这是我的电话:

tw.callPhone(phoneIWantToCall,TwilioPhoneNumber);
tw.callPhone("sip:TwilioPhoneNumber@us-south.voiceagent.cloud.ibm.com",TwilioPhoneNumber);

我收到了来自我的Twilio号码的电话,但没有将其定向到我的助手

1 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

这里的问题是您要创建两个不连接的单独呼叫。

您需要从URI参数中的URI返回TwiML,而不是使用REST API生成两个呼叫,该参数将呼叫与人员连接到Watson代理。因此,您应该将callPhone方法中的URI设置为您自己的应用程序中的URL。并且该URI应该返回包含<Dial>的TwiML,以便在这种情况下使用<Sip>连接到代理。

TwiML应该看起来像这样:

<Response>
  <Dial>
    <Sip>sip:TwilioPhoneNumber@us-south.voiceagent.cloud.ibm.com</Sip>
  </Dial>
</Response>

让我知道是否有帮助。