如何使用TwiML而不是URL在Twilio中使用Java进行出站呼叫?

时间:2018-02-18 00:46:26

标签: java twilio twilio-api

我希望使用Twilio在Java应用程序中进行出站呼叫。我发现的所有教程都使用了托管在URL上的静态TwiML文件。我还没有找到任何关于如何传递TwiML作为拨出电话参数的文档。

我在此链接中找到了这个,但它没有解释如何动态呈现TwiML:https://www.twilio.com/docs/guides/how-to-make-outbound-phone-calls-in-java#where-to-next

  

当然,用于进行出站呼叫的TwiML不需要像本例中那样是静态文件。您控制的服务器端Java代码可以动态呈现TwiML以用于出站呼叫。

我尝试过以下方法:

PhoneNumber to = new PhoneNumber(toPhone); // Replace with your phone number
PhoneNumber from = new PhoneNumber(fromPhone); // Replace with a Twilio number
TwiML twiml = new VoiceResponse.Builder()
        .say(new Say.Builder(message).build())
        .build();
Call call = Call.creator(to, from, twiml.toXml()).create(client);

虽然Call.creator()有一些(PhoneNumber, PhoneNumber, String)的重载方法,但它们都不会接受TwiML,也不接受XML。

如何使用TwiML在Java中进行出站呼叫? 感谢

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

您不能make an outbound call with Twilio并且可以直接传递您希望呼叫同时关注的TwiML。

当您拨打外拨电话时,您需要传递一个网址。该URL不必返回静态TwiML。如果要返回动态TwiML,则需要将调用的URL设置为可以使用TwiML响应请求的Web应用程序的URL。

如果你查看一些动态教程,它可能会让我更明显。 building an automated phone survey上的这个动态生成下一个问题并从响应中获取用户的输入。当呼叫连接时,此click to call implementation in Java也会动态生成<Dial>

让我知道这是否有帮助。