Подключите двух человек через Twilio client

#twilio #twilio-api

#twilio #twilio-api

Вопрос:

У меня есть задача с таким описанием:

Внедрите кнопку вызова:

  • При нажатии на значок вызова Twilio сначала набирает номер телефона # 1 (администратор)
  • Как только администратор поднимает трубку, вызывается номер # 2 (провайдер).
  • Оба подключены.

На данный момент я выяснил, как звонить через браузер на телефонные номера (например, администратор может звонить провайдеру в браузере).

Но я не могу найти никакой информации, как подключить людей через Twilio соответственно задаче. Есть ли какой-либо способ реализовать это решение?

Ответ №1:

Я не совсем понимаю, хотите ли вы щелкнуть номер телефона на веб-сайте или вы хотите полностью соединить два телефонных номера автоматически.

Сценарий 1: Пользователь набирает номер вашей учетной записи Twilio

Вы настраиваете URL обратного вызова для этого номера и веб-конечную точку, которая генерирует ответ, подобный следующему (XML, TwiML):

 <?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
  

В моем примере я использую шаблоны TypeScript / JavaScript для замены переменных callerId и targetNumber в соответствии с нашей системной логикой.

Раздел 2: Вы хотите соединить два телефонных номера через Twilio

В этом сценарии ваше программное обеспечение сначала проверяет, что Twilio вызывает вашего администратора. Это может быть сделано с помощью вызова REST или API Twilio. Существует множество вариантов в зависимости от того, какой язык программирования вы используете, и хотите ли вы использовать библиотеку из Twilio. Но основная идея задокументирована здесь:

https://www.twilio.com/docs/voice/make-calls

И в конечном итоге вы всегда будете выполнять вызов REST против /2010-04-01/Accounts/{AccountSid}/Calls , чтобы инициировать вызов.

В запросе вы снова указываете URL, по которому Twilio затем может считывать XML / TwiML, чтобы понять, что он должен делать с подключенным вызовом. И снова здесь вы можете использовать почти тот же TwiML, что и выше:

 <?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>Just a second you are going to be connected to your provider.</Say>
  <Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
  

В приведенном выше примере я также добавил <Say> инструкцию таким образом, чтобы администратор знал, что они будут подключены и должны быть терпеливы, пока вызов не будет окончательно подключен.

Важные замечания:

В сценариях наших приложений мы пытаемся скрыть номера телефонов подключенных сторон. Цель состоит в том, чтобы абонент, который набирает номер в нашей системе, при желании имел возможность оставаться полностью анонимным. Итак, мы указываем, с callerId помощью какого идентификатора вызывающего абонента мы хотим отправлять исходящий телефонный звонок. Имейте в виду, что это должен быть номер телефона, которым вы владеете (номер, арендованный через Twilio, или номер телефона, который вы зарегистрировали в Twilio).