【问题标题】:Keep track of active call status - Twilio跟踪活动通话状态 - Twilio
【发布时间】:2017-02-02 12:59:21
【问题描述】:

我想知道是否可以使用 twilio 跟踪活动呼叫的状态。我正在尝试使用以下代码:

Map<String, String> callParams = new HashMap<String, String>();
callParams.put("To", "***********"); 
callParams.put("From", "***********");
callParams.put("Url", "https://**************/");
callParams.put("Method", "GET");
Call call = null;
try {
    call = callFactory.create(callParams);
    System.out.println("Call was " + call.getDuration() + " long.");
    System.out.println("Status " + call.getStatus());            
} catch (TwilioRestException ex) {
    System.out.println(ex);
}

呼叫后的两个打印语句是尝试获取呼叫状态(已回答、已完成等),但它们当前分别生成 null 和 queued。

是否有可能以某种方式跟踪通话状态,甚至在通话结束时而不是在通话开始时获取状态持续时间。

谢谢

【问题讨论】:

    标签: java twilio twilio-api


    【解决方案1】:

    这里是 Twilio 开发人员宣传员。您在通话期间获得 null 的原因是因为我们只能在通话完成后报告通话时长。正如您所说,您正在查看一个仍在排队的呼叫,因为您刚刚发起了请求。

    我们提供call status callback,这似乎正是您想要的。

    当你开始一个新的通话时,有几个optional parameters你可以通过。其中一个称为StatusCallback,是一个 URL,Twilio 将在 StatusCallbackEvent 中指定的每个调用事件上向其发送异步 webhook 请求。

    当 Twilio 向您提供的 URL 发出此请求时,它将传递 following variables。然后,您可以使用此变量来获取有关您的呼叫的所有信息。其中一个变量称为CallDuration,即刚刚完成的调用的持续时间(以秒为单位)。

    您还可以在this blog post 中阅读有关状态回调事件的更多信息。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多