首页 > 解决方案 > 用于来电的 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

解决方案


Twilio 开发人员布道者在这里。

要获得呼入呼叫更新的通知,包括电话呼叫完成时,您应该为您的号码设置状态回调 URL。您可以通过在仪表板中编辑您的号码并在此处设置字段来执行此操作:

您可以在此处查看发送到 StatusCallback URL的详细信息。


推荐阅读