我正在寻找使用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中打出电话?
谢谢
最佳答案
Twilio开发人员布道者在这里。
您不能make an outbound call with Twilio并直接直接传递您希望同时进行呼叫的TwiML。
拨出电话时,您需要传递一个URL。该URL不必返回静态TwiML。如果要返回动态TwiML,则需要将调用的URL设置为可以使用TwiML响应请求的Web应用程序的URL。
如果您查看一些动态教程,可能会更清楚我的意思。 building an automated phone survey上的这个动态生成下一个问题,并从用户那里获得输入作为响应。呼叫连接时,此click to call implementation in Java还会动态生成<Dial>
。
让我知道是否有帮助。
关于java - 如何使用TwiML而不是URL使用Java在Twilio中进行出站调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48847380/