【问题标题】:Twilio outgoing browser call getting disconnected on holdTwilio 传出浏览器呼叫在保持时断开连接
【发布时间】:2017-07-06 15:29:00
【问题描述】:

我在我的项目中使用Twilio Outgoing Browser Calls。拨打电话的 twiml 是这样的:

<Response>
    <Dial action="hold_twiml.php" callerId="xxxxxxxxxx">
          xxxxxxxxxx
    </Dial>
</Response>

hold_twiml.php

if ( $_REQUEST['DialCallStatus'] == 'completed' ) { ?>
<Response>
    <Hangup/>
</Response>
<?php
}
else {
?>
<Response>
    <Play>http://demo.twilio.com/docs/classic.mp3</Play>
    <Redirect>hold_twiml.php</Redirect>
</Response>
<?php
}
?>

当呼叫从客户端/浏览器结束时,我想断开呼叫。为此,我添加了if ( $_REQUEST['DialCallStatus'] == 'completed' ) 条件,现在通话双方都结束了。但是现在保持功能无法正常工作。当我单击保持按钮时,将执行以下代码。

if ( $action == 'hold' ) {
 $url = "holding_twiml.php";
 $call = $client->calls->read(
        array("ParentCallSid" => $_POST['callSid'])
    )[0];
} else {  // unhold
 $call = $client->calls($_POST['callSid'])->fetch();
 $url = "redirecting_twiml.php";
}
$call->update(
    array(
        "url" => $url,
        "method" => "POST"
    )
);

holding_twiml.php

<Response>
    <Enqueue waitUrl="hold_music_twiml.xml">xx</Enqueue>
</Response>

hold_music_twiml.xml

<Response>
    <Play>http://demo.twilio.com/docs/classic.mp3</Play>
</Response>

redirecting_twiml.php

<Response>
  <Dial action="hold_twiml.php">
    <Queue>xx</Queue>
  </Dial>
</Response>

现在点击保持,浏览器上的通话将结束,客户端(电话)上的通话被保持。

谁能帮我解决这个问题?提前致谢。

【问题讨论】:

  • 你解决了吗?我有同样的问题。

标签: php twilio twilio-api disconnect


【解决方案1】:

这里是 Twilio 开发者宣传员。

您使用的是action attribute on the &lt;Dial&gt; TwiML。来自文档:

如果您提供“操作”URL,Twilio 将继续当前调用 在被叫方挂断后,使用您在 响应“操作”URL 请求。

因此,当客户端挂断时,Twilio 将使用从您的action URL 收到的 TwiML 继续通话。

如果您删除 action 属性或将 TwiML 更改为 &lt;Hangup/&gt;,那么您的通话将在客户端挂断时结束。

让我知道这是否有帮助。

【讨论】:

  • @Philnash ..我为“保持”功能添加了操作属性。所以我无法避免action属性。
  • 好的,您可以检查请求中的DialCallStatus 以查看呼叫是否完成,然后挂断,否则执行您需要执行的操作。
  • 我尝试在 hold_twiml.php 页面中检查 if ( $_REQUEST['DialCallStatus'] == 'completed' )。现在,当客户端结束通话时,它也与浏览器端断开连接。但是现在保持功能不能正常工作。浏览器端的通话在保持时断开。
  • 好的,那你怎么让人们搁置呢?最好将您的问题更新为有关正在发生的事情的更多详细信息,以便我可以帮助您找到解决方案。
  • 谢谢!在我的脑海中,为什么挂断你的浏览器电话不好?您无需向座席播放等待音乐,他们可以通过创建新呼叫并拨入队列将某人从等待中恢复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多