【问题标题】:How to get Conference Sid at the time of dialing twilio call如何在拨打 twilio 电话时获取 Conference Sid
【发布时间】:2019-05-13 16:44:31
【问题描述】:

我一直在使用 twilio,使用 Node.js,并在两个 Web 端点之间拨打电话。一个是客户,另一个是代理。我正在使用以下代码拨打电话。

    function dialCall(calledNumber, url) {

    client.calls.create({
        to: `client:${calledNumber}`,
        from: twilioNumber,
        url: url
      })
      .then(call => call.sid));
}

我正在使用以下 twiml 来建立通话。

 const generateTwiml = (conferenceName) => {
      let twimlResponse = new VoiceResponse();
  twimlResponse.say(`Welcome to unity dialer.`, {
    voice: 'alice',
  });
  const dial = twimlResponse.dial({
    timeLimit: '600',
  });
  dial.conference({
  startConferenceOnEnter: true,
  endConferenceOnExit: true
}, "Test Room");
  return twimlResponse.toString();
};

我已经成功地呼叫了代理和客户,并获得了两个呼叫的 callSid。但是,我的问题是,此时我还想获得会议 Sid 以及将呼叫作为会议进行拨号。得到它的方法是什么。根据文档,有一种方法可以使用会议名称和状态来获取会议。但是,如果我有时使用它,由于竞争条件不会返回相同的值,我必须为相同的任意延迟实现设置超时功能。我已经得到了结果,但有没有其他可用的解决方案。

【问题讨论】:

    标签: node.js twilio twilio-api


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    在您返回 TwiML 以创建会议时,还没有会议资源,因此在那个阶段无法获取会议 SID。

    正如您所描述的,您可以使用会议资源到list conferences and filter,按您提供的名称。但是,您无法在返回 TwiML 时列出会议,因为那时尚未创建该会议。

    我建议您使用<Conference> TwiML 的statusCallback attribute 设置一个URL,而不是设置一个可能会不稳定的超时,以设置一个URL,以便在会议开始时回调。在该回调的参数中,您将获得ConferenceSid

    【讨论】:

    • 感谢您的好建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多