我正在尝试使用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号码的电话,但没有将其定向到我的助手
答案 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>
让我知道是否有帮助。