Захват имени вызывающего абонента перед подключением вызова

#twilio

#twilio

Вопрос:

Я ищу руководство / указатель о том, как создать twilio webhook, который будет перехватывать вызовы на мой twilio #, запрашивать имя вызывающего абонента, а затем звонить мне, чтобы проверить, хочу ли я подключиться (объявить имя вызывающего абонента). Если я отвечу «да», вызов подключен, в противном случае он мог бы перейти на мою голосовую почту. Я вижу различные функции, такие как очередь, конференция, условная пересылка и т.д., Но я не уверен, какая из них решит мою проблему. Какие-либо указания здесь?

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

1. Что вы уже пробовали?

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

Ответ №1:

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

Хорошо, для этого вам нужно выполнить несколько шагов.

Когда поступает вызов, вам нужно спросить имя вызывающего абонента. Для этого я бы использовал <Gather> with input="speech" для захвата их имени и вложенный <Say> , чтобы задать вопрос.

С помощью <Gather> вам нужно предоставить action атрибут, который является URL-адресом, который будет вызван, когда пользователь ответит на вопрос. При вызове URL-адреса вы получаете результат речи в SpeechResult параметре в теле запроса.

Теперь у вас есть имя, с которым вы хотите связать его с кем-то для ответа. Для этого вы могли бы использовать <Enqueue> , но для начала мы можем поработать немного проще. В ответе на запрос на ваш action URL-адрес вы можете вернуть <Dial> .

Чтобы сообщение было передано отвечающему, нам также необходимо использовать <Number> внутри <Dial> . <Number> можно использовать url атрибут, который будет запрошен, когда абонент ответит на телефонный звонок. Вы можете вернуть больше TwiML в этот запрос, и этот TwiML будет воспроизводиться до подключения вызовов. Это называется шепотом.

В этом TwiML вы можете вернуть другой, <Gather> с вложенным <Say> , который спрашивает, хотите ли вы принять вызов, используя собранное имя. Наконец, в результате этого вы можете принять вызов (завершив эту строку TwiML) или <Hangup> .

Если вы <Hangup> захотите перейти на прием голосовой почты. Вам нужно вернуться к вашему TwiML, в котором <Dial> уже есть a, и добавить еще TwiML после <Dial> . Теперь вы можете использовать <Say> , а затем <Record> принимать голосовую почту.

Я надеюсь, это даст вам представление о том, на какие функции следует обратить внимание, и схему того, как их объединить.

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

1. Спасибо, это именно то, что я искал.

2. смогу ли я сделать это в Studio? Я пытаюсь быстро исправить это с помощью Studio. Но, как я вижу, он, похоже, не поддерживает whisper или подключение получателя к вызову с запросом на ответ / отклонение. Если только я чего-то не упустил.

3. Нет, не похоже, что в Studio есть какие-либо функции whisper. Это достаточно сложный процесс, который вам нужно будет запрограммировать на данный момент.

4. Спасибо за руководство, мне действительно удалось быстро собрать кое-что воедино, и оно отлично работает!