我正在研究用java构建的语音呼叫应用程序,我需要知道在挑选,拒绝或编译时的呼叫状态。我的服务器端是在java中。
我在twilio docs中提到调用时设置了状态回调网址。我的问题是在该代码中添加哪个url并且我还需要为该端点url添加功能。
那个功能中的代码应该是什么,比如打印呼叫状态所需的参数
com.twilio.type.Client clientEndpoint = new com.twilio.type.Client("client:" + to);
PhoneNumber from = new PhoneNumber(CALLER_ID);
// Make the call
Call call = Call.creator(clientEndpoint, from, uri).setMethod(HttpMethod.POST)
.setStatusCallbackMethod(HttpMethod.POST)
.setStatusCallback(URI.create("https://57fb8b2c.ngrok.io/events"))
.setStatusCallbackEvent(
Arrays.asList(Call.Event.ANSWERED.toString(), Call.Event.COMPLETED.toString(),
Call.Event.INITIATED.toString(), Call.Event.RINGING.toString()))
.create(client);
// Print the call SID (a 32 digit hex like CA123..)
System.out.println(call.getSid() + "//" + call.getStatus());
return call.getSid();
答案 0 :(得分:0)
Twilio开发者传道者在这里。
我不是特别擅长Java,但我可以帮助您设置statusCallback
URL时会发生什么。
对于您设置为statusCallbackEvent
的每个事件,当呼叫进入该状态时,您将收到对statusCallback
网址的HTTP请求。
您需要实现一个端点(在您的情况下,路径为/events
,因为您正在设置的URL)可以接收这些传入的HTTP请求。
当Twilio发出状态回叫请求时,它包含all the regular webhook parameters,例如CallSid
,因此您可以将请求与已知的呼叫sid绑定。
请求还将包含一些其他参数,最重要的是在您的情况下为CallStatus
参数。该值将是排队,启动,响铃,正在进行,忙碌,失败或无应答之一。有more on what they mean here。
我希望有所帮助。