如何过早结束twilio通话

如何过早结束twilio通话,twilio,Twilio,我想用twilio来测试我们的内部电话系统,并确保电话按应有的方式进行路由,因为我们的提供商在通知我们问题方面出了名的糟糕 我很抱歉,我可以从twilio发起一个电话,使用“聚集”动词记录讲话(以确保我们进入正确的队列),然后挂断。一切正常。除了收集最终需要花费超过2分钟的时间来收听来自我们电话系统的全部信息,收取我们8-15秒收集块的费用。我只需要前15秒,但不知道如何早点挂断。有没有一种简单的方法将呼叫限制在特定的时间 timeLimit和timeout在这里都不适用,因为timeLimit

我想用twilio来测试我们的内部电话系统,并确保电话按应有的方式进行路由,因为我们的提供商在通知我们问题方面出了名的糟糕

我很抱歉,我可以从twilio发起一个电话,使用“聚集”动词记录讲话(以确保我们进入正确的队列),然后挂断。一切正常。除了收集最终需要花费超过2分钟的时间来收听来自我们电话系统的全部信息,收取我们8-15秒收集块的费用。我只需要前15秒,但不知道如何早点挂断。有没有一种简单的方法将呼叫限制在特定的时间


timeLimit和timeout在这里都不适用,因为timeLimit只在拨号动词中起作用,timeout只对聚集期间的语音暂停起作用。

也许只需在代码中设置一个计时器15秒左右,然后使用at
/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}
取消呼叫(使用
Status=Completed
参数以取消通话,即使通话正在进行)。

如果您使用他们的Ruby SDK,并且您进行了正常通话(非会议通话),则可以使用
update
方法:

client=Twilio::REST::client.new(帐户sid、身份验证令牌)
#获取两个号码之间的所有正在进行的呼叫
client.calls.list(from:“+11231231234”,
致:‘+12312311234’,
状态:“正在进行中”)。每个do | c |#都应该只有一张唱片,但你可以放心
c、 更新(状态:“已完成”)
结束
  • 将状态更新为
    completed
    ,如果正在通话,则应挂断通话
  • 如果将状态更新为
    已取消
    ,则会在来电/排队时挂断电话
如果您确实知道呼叫正在进行,并且知道呼叫sid,则可以使用:

中有一些常规信息。另外,还提供了其他SDK的代码片段


您可以找到以获取更多详细信息。

为了让它更清楚一点,我使用rest API启动带有URL参数的调用,当访问该参数时,返回的只是一个通用的“聚集”TwiML中的响应。我必须等待收集所有2分钟的演讲。相反,我希望它收集15秒,将结果发送给我,然后挂断。我尝试了此操作,但没有得到收集的结果。让我再试一次,也许这是一次侥幸。也许你可以尝试使用,它将在如果过早结束调用,
操作
URL将永远不会被调用。
client = Twilio::REST::Client.new(account_sid, auth_token)
in_progress_call = client.calls(call_sid).fetch
in_progress_call.update(status: 'completed') if in_progress_call.present?