python - 如何使用 twilio-python 处理拨号状态
问题描述
在 Twilio 的教程中,它将action
参数设置为,/handleDialCallStatus
但我不知道重定向到 url 时会发生什么。如何处理呼叫状态。呼叫完成后如何重定向到另一个 url
解决方案
Twilio 布道者在这里。
当<Dial>
呼叫结束时,action
URL 会告诉 Twilio 在哪里发送一个GET
或POST
请求。DialCallStatus
根据以下场景之一将A传递给操作 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 上的 Web 应用程序可以查看DialCallStatus
并向 Twilio 发送响应,告诉它下一步要做什么。
您可以将your_url替换为另一个 URL(绝对或相对)以重定向到那里,Twilio 将在被叫方挂断后继续初始呼叫。此后将无法访问任何包含的 TwiML 动词<Dial>
,因此,如果您想对该初始调用采取更多操作,则需要使用 TwiML 说明如何处理该调用来响应 Twilio 的请求。
在此之后包含的任何 TwiML 动词<Dial>
都将无法访问,因为您对 Twilio 的响应将完全控制初始调用。如果您想对该初始呼叫采取更多操作,您必须使用有关如何处理呼叫的 TwiML 说明来响应 Twilio 的请求。
希望这可以帮助。
推荐阅读
- azure - IoTEdge 有时会重新创建容器
- json - 在 Angular 中,如何避免“类型 'Object' 上不存在属性 'json'”错误?
- c# - 连接到域后验证域用户无法访问 C#
- deployment - 即使在剧本结束后,Ansible 也能继续破坏进程吗?
- r - 在 R studio 中训练数据集
- c# - C# 在繁重工作量期间保持 UI 响应的最佳方法
- javascript - 如何使用 Javascript 在 Canvas 上绘制 SVG?
- python - 检查命令作者是否具有角色 ID 列表中的特定角色
- design-patterns - 实现工厂模式 - 移除开关
- python - 如何将 1D numpy 数组元素线转换为新的 1D numpy 数组?