twilio - 用于来电的 Twilio 如何检测来电者的挂断
问题描述
我已经搜索了互联网,但我找不到这个。
我用 Python 和 Flask 创建了一个应用程序,它接受来电并重定向到我在 webhook 中定义的地址。(与 ngrok)
@app.route("/incomingCall", methods=['GET', 'POST'])
def incomingCall():
......
....
@app.route("/gather", methods=['GET', 'POST'])
def gather():
@app.route("/status_callback", methods=['POST'])
def status_callback():
print("-->/status_callback")
resp = VoiceResponse()
resp.redirect('/beginiing')
return str(resp)
如果在通话过程中,来电者过早地挂断了电话,我该如何检测到呢?现在我的应用程序在聚会期间挂起。
为了获得通话状态,我在初始化时添加了这个
strTwilio = sid + ":" + token
acTokenTwilio = b64encode(strTwilio.encode()).decode("ascii")
twilioHeaderAcc1 = {'Authorization': 'Basic %s' % acTokenTwilio, 'Content-Type':'application/x-www-form-urlencoded'}
payLoad = {"status_callback":myNgrokUrl, "status_callback_event":["completed"]}
twilioStatusCallbackUrl = "https://api.twilio.com/2010-04-01/Accounts/" + "AC......" # AC... is my account SID
resp = s.post(twilioStatusCallbackUrl, data=json.dumps(payLoad), headers=twilioHeaderAcc1, timeout=15)
解决方案
Twilio 开发人员布道者在这里。
要获得呼入呼叫更新的通知,包括电话呼叫完成时,您应该为您的号码设置状态回调 URL。您可以通过在仪表板中编辑您的号码并在此处设置字段来执行此操作:
您可以在此处查看发送到 StatusCallback URL的详细信息。
推荐阅读
- google-apps-script - 如何创建返回上次修改单元格的函数?
- validation - 如何使用机器人框架迭代拆分数据。基于此功能,我有 3 个场景要验证
- javascript - Adonis js 迁移时删除列:回滚
- r - 如何有条件地减去r中的行值
- matlab - 一维 KdV 方程的光谱解
- xslt - 基于 XML 属性对 XML 值进行分组 (XSLT)
- java - 如果 lombok.log.fieldIsStatic 设置为 false,则记录静态方法
- javascript - 使用 array.splice() 时如何编写添加元素的实例?
- elasticsearch - 用于生产部署的 bitnami elasticsearch helm 图表与官方弹性 helm 图表与 ECK
- pandas - 将两个数据框与特定列结合起来