Twilio Evangelist здесь. Итак, во-первых, вы можете задать прямые вопросы Twilio, обратившись к [email protected]
Итак, это довольно сложный вопрос для работы. Но я боюсь, что ответ заключается в том, что вы не можете. Позвольте мне объяснить:
Если вы используете API REST для исходящего вызова, у вас есть 2 конца вызова. Первый - это номер, на который вы набрали (вызываемый), второй - TwiML, который действует как ваш вызывающий. Вы можете быть роботом (используя <Say>
, <Gather>
и т. Д.), Или может быть <Dial>
другому номеру.
Если вы посмотрите на documentation, когда Twilio выполняет исходящий вызов, вы используете атрибут ifMachine
, чтобы определить, как обращаться с вызовом. Затем Twilio отправит вам дополнительный параметр AnsweredBy
, указав, был ли он человеком или автоответчиком.
На данный момент запрашивается TwiML, который действует как ваш вызывающий. Вы можете <Hangup>
(или установить ifMachine=Hangup
, так что вы won't be charged for this call) или хотите оставить сообщение.
Но то, что я думаю, что вы просите сделать в этот момент, - это отбросить исходящий звонок, а затем набрать новый вызов вызывающему. Моя первая мысль состоит в том, что нет изящного способа разрешить это, не создавая новый исходящий вызов.
Следует помнить, что когда Twilio запрашивает TwiML, он ожидает, что он что-то сделает с вызывающим (в этом случае будет машина ответа), и если вы попытаетесь набрать номер на другом, с автоответчиком, подключенным к этому другому номеру!
Я думаю, что ваш лучший выбор - <hangup>
в TwiML и сделать новый исходящий звонок с вашего сервера на этом этапе.
Удачи!