Основной случай : Система вызовет человека А. Если человек А поднимет трубку, он позвонит человеку В, и 2 будет подключен

#node.js #twilio

Вопрос:

 
    


   const accountSid = 'ACf36...'
   const authToken = '094...'
   const client = require('twilio')(accountSid, authToken)
   const VoiceResponse = require('twilio').twiml.VoiceResponse;

   client = Client()

   twiml = VoiceResponse()
  twiml.dial(' 912345674127')
  call = client.calls.create(
  from_ = ' 14809078750',
  to = ' 916395545354',
  twiml = str(twiml),
  )
  console.log(call)
 

Я пытаюсь позвонить для подтверждения, используя этот код и функцию набора номера twilio.

Комментарии:

1. Из документов Twilio: You can initiate an outbound call by POSTing to the Call resource, creating a new call. You can also initiate a call from an active call (e.g., forwarding to another number or dialing into a conference) by including TwiML’s <Dial> verb in your TwiML application. However, the only way to initiate a call directly from Twilio is with an API request. Ссылки: * twilio.com/docs/voice/api/call-resource * twilio.com/docs/voice/twiml/conference#examples-5

Ответ №1:

Евангелист-разработчик Twilio здесь.

Во-первых, похоже, что вы включили в свой вопрос идентификатор учетной записи и токен аутентификации. Эти учетные данные предоставляют полный доступ к вашей учетной записи, и их публикация публично означает, что любой, кто столкнется с ними, может использовать их для злоупотребления вашей учетной записью. Пожалуйста, не делайте этого в будущем и измените свой токен аутентификации с помощью этого процесса.

Итак, код, который вы опубликовали, не далек от того, чтобы быть правильным для подключения двух человек во время разговора. Объект console.log вызова не будет регистрироваться, однако, в результате client.calls.create обещания, которое разрешается в вызов. Кроме того, str это не функция JavaScript.

Попробуйте выполнить следующие действия:

 const twilio = require('twilio');
const client = twilio(accountSid, authToken);
const VoiceResponse = twilio.twiml.VoiceResponse;

const twiml = new VoiceResponse();
twiml.dial(' 912345674127');

client.calls.create({
  from: ' 14809078750',
  to: ' 916395545354',
  twiml: twiml.toString()
})
  .then(call => {
    console.log(call);
  })
  .catch(error => {
    console.log(error);
  });
 

Если вы хотите создать конференц-связь, к которой могут присоединиться более 2 человек, то вам предстоит немного больше работы. Во время конференц-связи конференция действует как комната, к которой присоединяются люди. Поэтому, когда один человек подключается к конференции, вам необходимо сгенерировать новый исходящий вызов с помощью API, чтобы подключить другого человека к конференции. Существует руководство по созданию конференц-звонков с помощью Twilio, которое я рекомендую вам пройти.

Комментарии:

1. Я использовал приведенный выше код, который вы предоставили, но есть ошибка типа

2. twiml = twiml.toString(), ^ Ошибка типа: Присвоение постоянной переменной.

3. Ого, этот код выглядит так, как будто он был смесью Python и JavaScript. Я исправил это сейчас, так что теперь это должно работать для JavaScript. Я отредактировал свой ответ, попробуйте еще раз 🙂

4. Я действительно ценю вашу помощь. Спасибо.

5. Не за что! И если ответ помог, пожалуйста, отметьте его как правильный, чтобы другие могли видеть, что он тоже был полезен. Спасибо!