Входящее текстовое сообщение Twilio на исходящий голосовой вызов

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

Я бы предпочел сделать это с помощью функции TwiML Bin или Twilio или чего-то еще, размещенного на Twilio, поэтому мне не нужно запускать собственный веб-сервер.

Как я могу это сделать?

2 ответа

Решение

Я нашел справочную документацию по функциям, которая заставила меня двигаться в правильном направлении.

У меня есть корзина TwiML "SMS на голосовой ящик TwiML":

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say loop="3">{{Body}}</Say>
</Response>

И функция "SMS в голос", которая использует этот TwiML:

exports.handler = function(context, event, callback) {
  const client = context.getTwilioClient()
  client.calls.create({
    to:   '+...', 
    from: '+...', 
    url:  'https://handler.twilio.com/twiml/...?Body=' + encodeURIComponent(event.Body) }, // SMS to Voice TwiML Bin
    function(err, res) {
      callback(err, "OK")
    })
};

А в консоли Twilio для моего номера Twilio в разделе "Сообщения" у меня для моего СООБЩЕНИЯ установлено значение "Функция" и "Функция SMS на голос".

Это работает. Если номер Twilio получает текст, Twilio звонит на мой номер мобильного телефона и произносит исходное текстовое сообщение.

Если я понимаю, что вы делаете, это ответ от входящего SMS-сообщения.

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

Ознакомьтесь с документацией для совершения звонков, чтобы узнать, как начать звонить. Скорее всего, вам понадобится SMS для вызова функции (функция Twilio или ваш собственный код), которая может затем выполнить вызов REST Twilio, чтобы начать новый вызов.

Другие вопросы по тегам