Как получить Conference Sid во время набора twilio call - PullRequest
0 голосов
/ 12 декабря 2018

Я работал с twilio, использовал Node.js и набирал вызов между двумя конечными точками сети.Один - клиент, а другой - агент.Я использую следующий код для набора номера.

    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 для конференции, а также набираю вызов в качестве конференции.Какой способ получить это.В соответствии с документацией существует способ получения конференции с использованием названия и статуса конференции.Однако, если я использую это некоторое время, то же самое не возвращается из-за состояния гонки, и я должен реализовать функцию установленного времени ожидания для той же произвольной задержки.Я получил результат, но есть ли другое решение для этого.

1 Ответ

0 голосов
/ 17 декабря 2018

Twanio developer evangelist здесь.

В то время, когда вы возвращаете TwiML для создания конференции, еще нет ресурса конференции, поэтому на этом этапе нет возможности получить SID конференции.

Как вы описываете, вы можете использовать ресурс конференции для перечисления конференций и фильтрации по названию, которое вы ему дадите.Однако вы не можете перечислить конференции во время возврата TwiML, потому что к тому времени эта конференция еще не была создана.

Вместо установки времени ожидания, которое может быть нестабильным, я рекомендую использовать statusCallback атрибут из <Conference> TwiML для задания URL-адреса для обратного вызова при запуске конференции.В параметрах этого обратного вызова вы получите ConferenceSid.

...