Twilio用于来电如何检测来电者的挂断

Twilio用于来电如何检测来电者的挂断,twilio,Twilio,我在网上搜索过,但找不到这个 我用Python和Flask创建了一个应用程序,它接受传入呼叫并重定向到我在webhook中定义的地址。(与ngrok合作) 如果在通话过程中,来电者过早挂断电话,我如何检测到?。现在,我的应用程序在聚集期间挂起 为了获得调用的状态,我在初始化时添加了这个 strTwilio = sid + ":" + token acTokenTwilio = b64encode(strTwilio.encode()).decode("ascii") twilioHeaderA

我在网上搜索过,但找不到这个

我用Python和Flask创建了一个应用程序,它接受传入呼叫并重定向到我在webhook中定义的地址。(与ngrok合作)

如果在通话过程中,来电者过早挂断电话,我如何检测到?。现在,我的应用程序在聚集期间挂起

为了获得调用的状态,我在初始化时添加了这个

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。

Twilio开发者福音传道者

要获得入站呼叫更新的通知,包括电话呼叫完成时,您应该为您的号码设置一个状态回调URL。您可以通过和在此处设置字段来完成此操作:


您可以在此处看到。

对于上下文,用户正在通过传入电话号码资源设置语音和状态回调URL。要实现这一点,需要将staus回调URL作为参数传递。请参见下面的示例,了解如何使用Python助手库完成此操作

incoming_phone_number = client \
    .incoming_phone_numbers('PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
    .update(
            voice_url='https://xxxxxxx.ngrok.io/voice',
            status_callback='https://xxxxxxx.ngrok.io/status_callback' 
     )

你能更具体地说一下在哪里以及如何去做吗?举个例子会有帮助。非常感谢,这很有帮助。我使用的是python,它在初始化时自动执行所有操作,包括ngrok webhook地址。那么,你能给我一个我将如何做的示例代码吗?假设呼叫状态的重定向url为/call\u status。在大多数情况下,我的代码在收集语音和播放DTMF或文本到语音方面工作良好。但是,有时当我处于收集模式时,如果调用方挂起,我的代码将挂起。因此,我希望向我发送一个http req,指示调用方挂断。您可以。谢谢,我尝试了-->HTTPO Post-->api.twilio.com/2010-04-01/Accounts/AC。。。。。。其中Post数据={'status_callback':'xxxxx.ngrok.io/status_callback',“status_callback_event:[“completed”]}我的python烧瓶中的状态代码是200,我有一个条目-->@app.route(“/status_callback”,methods=['Post'])def status_callback():resp=VoiceResponse()打印(“status_callback resp-->”+str(resp))resp.redirect('/begining'))返回str(resp),但当触发传入呼叫时,我看不到此url-->xxxxx.ngrok.io/status\u callback中有任何命中。这里有两件事。而不是JSON,因此您需要一个不同的HTTP请求,我也看不到您向该请求添加任何身份验证。第二件事,用TwiML响应状态回调webhook不会有任何作用,因为状态回调与调用本身是异步的。很抱歉,我原来有标题,以便更简单地说,我在上面的原始帖子中添加了代码,请帮助我验证
incoming_phone_number = client \
    .incoming_phone_numbers('PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
    .update(
            voice_url='https://xxxxxxx.ngrok.io/voice',
            status_callback='https://xxxxxxx.ngrok.io/status_callback' 
     )