#python #twilio #twilio-api
#python #twilio #twilio-api
Вопрос:
в руководстве Twilio он устанавливает action
параметр в /handleDialCallStatus
, но я понятия не имею, что происходит, когда он перенаправляет на URL. Как я могу обрабатывать статус вызовов.Как я могу перенаправить на другой URL-адрес после завершения вызова
Ответ №1:
Евангелист Twilio здесь.
Когда <Dial>
вызов заканчивается, action
URL сообщает Twilio, куда отправить GET
или POST
запрос. DialCallStatus
Передается URL-адрес действия в соответствии с одним из следующих сценариев:
- Никто не берет трубку,
DialCallStatus
=no-answer
- Линия занята,
DialCallStatus
=busy
- При вызове конференции и соединении вызова,
DialCallStatus
=answered
- Кто-то ответил на вызов и был подключен к вызывающему абоненту,
DialCallStatus
=connected
- Был указан неверный номер телефона,
DialCallStatus
=failed
- Вызов отменен через REST API до того, как на него был дан ответ,
DialCallStatus
=canceled
Как вы справляетесь с этими сценариями? В action
атрибутивном URL-адресе Dial
глагола.
<Dial timeout='50' action='your_url'>
Веб-приложение, размещенное по этому URL-адресу действия, может затем просмотреть DialCallStatus
и отправить Twilio ответ, сообщающий ему, что делать дальше.
Вы можете заменить your_url другим URL (абсолютным или относительным) для перенаправления туда, и Twilio продолжит первоначальный вызов после того, как набранный абонент повесит трубку. Никакие глаголы TwiML, включенные после этого <Dial>
, не будут доступны, поэтому, если вы хотите выполнить дополнительные действия при этом первоначальном вызове, вам нужно ответить на запрос Twilio инструкциями TwiML о том, как обработать вызов.
Любые глаголы TwiML, включенные после этого <Dial>
, будут недоступны, поскольку ваш ответ Twilio полностью контролирует первоначальный вызов. Если вы хотите выполнить дополнительные действия при этом первоначальном вызове, вы должны ответить на запрос Twilio инструкциями TwiML о том, как обработать вызов.
Надеюсь, это поможет.
Комментарии:
1. таким образом, просмотр URL-адреса «/ handleDialCallStatus» будет принимать параметр «request», а параметр «request» будет иметь атрибут «DialCallStatus», верно?
2. да! Более подробную информацию об этом можно найти здесь: twilio.com/docs/voice/twiml#request-parameters