【问题标题】:Twilio hangup call through REST API not working?通过 REST API 的 Twilio 挂断电话不起作用?
【发布时间】:2018-08-03 23:10:57
【问题描述】:

当通话处于排队状态(正在振铃或已启动)时,如何挂断电话?以下代码对呼叫没有任何影响,呼叫会继续响铃,直到接听者接听为止。有时当座席意识到他们拨打了错误的号码时,他们需要一种方法在响铃过程中挂断电话。

PHP 代码

$client->calls($callRecord->call_sid)->update([
  'status' => 'canceled'
]);

$client->calls($callRecord->call_sid)->update([
  'status' => 'completed'
]);

$client->calls($callRecord->call_sid)->update([
   'url' => 'mywebsite.com/tw-hangup'
]);

【问题讨论】:

    标签: twilio twilio-api twilio-php


    【解决方案1】:

    请参阅以下 Twilio 文档:

    语音 API:调用(最后一段最相关) https://www.twilio.com/docs/voice/api/call

    当您将活动呼叫重定向到另一个电话号码时,Twilio 会为该新电话号码创建一个全新的呼叫实例。原始呼叫是父呼叫,拨打的任何附加号码都会建立子呼叫。父子呼叫将具有唯一标识呼叫 SID。

    请注意,当前执行 a 的任何父调用都被 Twilio 视为正在进行中。即使您已将初始呼叫重定向到新号码,父呼叫仍处于活动状态,因此您必须使用 Status=completed 来结束它。

    无法通过 REST API 取消未应答的子调用,但可以修改父调用以指向新的 TwiML。此操作将结束子呼叫。

    【讨论】:

    • 感谢 “无法通过 REST API 取消未应答的子调用,但可以修改父调用以指向新的 TwiML。此操作将结束子调用。”这似乎解决了
    • 如果 <Response><Hangup/></Response> 在父调用中更新,它会结束可能已经启动的子调用吗?我看到的行为是呼叫被取消,但每隔一段时间,在父呼叫挂断后,子呼叫就会响起 2 或 3 次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多