5

我是 twilio api 的新手。在正在开发的 Web 应用程序中,我必须检查呼叫是否完成,并且我正在将 wav 文件发送到 twiml。如果完成,我必须扣除用户的信用..我正在使用以下代码...

callMeAction

        $AccountSid = "**********************";
        $AuthToken = "***************";

        /* Your Twilio Number or an Outgoing Caller ID you have previously validated
          with Twilio */
        $from = '**************';

        /* Number you wish to call */
        $to = $_POST['contactno'];

        /* Directory location for callback.php file (for use in REST URL) */
        $url = 'http://'.$_SERVER['HTTP_HOST'].'/public/';

        /* Instantiate a new Twilio Rest Client */
        $client = new Services_Twilio($AccountSid, $AuthToken);



        /* make Twilio REST request to initiate outgoing call */
        $call = $client->account->calls->create($from, $to, $url . 'callback.php?number=' . $_POST['contactno'] . '&wav=' . $_POST['wav']);

        /* redirect back to the main page with CallSid */
        $msg = urlencode("Connecting... " . $call->sid);
        //header("Location: index.php?msg=$msg");

         $this->view->msg = $msg;

        if($call->status == 'COMPLETED'){

            /*
             *  Deduct credit if call completed
             */


          $this->view->msg = $msg;
        }

回调.php

<?php
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>



<?php if($_REQUEST['wav']){ ?>
<Response>
    <Say>A customer at the number <?php echo $_REQUEST['number']?> is calling</Say>
    <Dial><?php echo $_REQUEST['number']?></Dial>
    <Play><?php echo $_REQUEST['wav'] ;?></Play>
</Response>
<?php } ?>

请帮助我...提前谢谢。:)

4

3 回答 3

4

为StatusCallback设置一个 URL (此页面中间的文档) ,并将您的收费逻辑放入该脚本中。

在创建调用时传递 StatusCallback URL,您应该能够将可选参数数组作为第四个参数传递给:$client->account->calls->create()

对于来电,为每个号码(或应用程序,如果您使用该方法)定义(可选)URL。

于 2011-12-06T14:15:13.093 回答
4

如果您通过 REST 接口进行呼出,则需要在请求参数中指定状态回调

此外,该回调将是异步的,因此您不能像在示例中那样等待调用函数中的结果。您需要在回调中进行信用管理。

于 2011-12-06T18:22:25.347 回答
0

在您的状态回调页面或函数中获得调用响应后,您应该在代码中设置状态回调 url。

此回调 url 在 localhost 中不起作用。对于测试,您应该在 00webhost 中部署您的项目,然后检查它是否适合您。

有关更多详细信息,请阅读 twilio 文档。

于 2017-09-10T19:39:46.523 回答