如何使用 twilio-python 处理拨号状态

How to handle dial call status with twilio-python

在 Twilio 的教程中,它将 action 参数设置为 /handleDialCallStatus,但我不知道当它重定向到 url 时会发生什么。如何处理呼叫状态。呼叫完成后如何重定向到另一个 url

这里是 Twilio 布道者。

<Dial> 调用结束时,action URL 告诉 Twilio 向何处发送 GETPOST 请求。 DialCallStatus 根据以下情况之一传递给操作 URL:

  • 无人接听,DialCallStatus=no-answer
  • 占线,DialCallStatus=busy
  • 当呼叫会议并接通电话时,DialCallStatus=answered
  • 有人接听电话并接通了来电,DialCallStatus=connected
  • 提供了无效的 phone 号码,DialCallStatus=failed
  • 呼叫在接听前通过 REST API 取消,DialCallStatus=canceled

您如何处理这些情况?在 Dial 动词的 action 属性 URL 中。

<Dial timeout='50' action='your_url'>

在此操作 URL 上托管的 Web 应用然后可以查看 DialCallStatus 并向 Twilio 发送响应,告诉它下一步该做什么。

您可以将your_url替换为另一个URL(绝对或相对)以重定向到那里,Twilio将在拨号方之后继续初始呼叫挂了。 <Dial> 之后包含的 TwiML 动词将无法访问,因此如果您想对该初始调用执行更多操作,您需要使用关于如何处理调用的 TwiML 说明来响应 Twilio 的请求。

在此 <Dial> 之后包含的任何 TwiML 动词都将无法访问,因为您对 Twilio 的响应将完全控制初始调用。如果您想对该初始调用执行更多操作,则必须使用有关如何处理该调用的 TwiML 说明来响应 Twilio 的请求。

希望这对您有所帮助。