Подключите исходящий звонок Twilio к Watson Assistant - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь совершить исходящий вызов, используя API Twilio, и подключить номер, по которому я звоню, к моему Watson Voice Agent (который связан с моим Watson Assistant). Я могу позвонить по телефону, но звонок не перенаправляется помощнику.

Я использую Twilio API для Java. Я установил SIP-линию моего номера Twilio для использования 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);

Iмне звонят с моего номера Twilio, но он не направляется моему помощнику

1 Ответ

0 голосов
/ 13 октября 2019

Twanio Developer Evangelist здесь.

Проблема здесь в том, что вы создаете два отдельных вызова, которые не соединяются.

Вместо создания двух вызовов с использованием REST API, вам нужноверните TwiML из URI в параметре URI, который соединяет вызов с человеком с агентом Уотсона. Таким образом, вы должны установить URI в вашем методе callPhone на URL в вашем собственном приложении. И этот URI должен возвращать TwiML, который включает <Dial> для подключения к агенту в этом случае, используя <Sip>.

TwiML должен выглядеть примерно так:

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

Дайте мне знать, поможет ли это вообще.

...