1

我正在使用以下代码发起呼叫。如果未接听电话,我想捕获此事件(未接电话)并拨打备用电话号码。目前使用下面的代码,如果电话没有接听一次,它会调用 3 次然后放弃,根本不调用 StatusCallback URL。我究竟做错了什么?(我可以使用参数从浏览器调用 URL。)

多谢。

// 一段 PHP 代码调用 $this->info('Calling providers:');

    $account_sid = ...
    $auth_token = ...
    $client = new \Services_Twilio($account_sid, $auth_token);
    try {
        $this->info ('Calling phone... ');
            // Make a call
            $call = $client->account->calls->create('+448008021203', '+'.$phone_to_call, 'http://xyz/order_msg.html', array(
                'Method' => 'GET',
                "StatusCallback" => "http://xyz/phone_events?alt_phone=".$alternate_phone,
                "StatusCallbackMethod" => "GET",
                "StatusCallbackEvent" => array("completed"),
                'Record' => 'false',
            ));
            $this->info('Called with :' . $call);
        }

    }catch (\Exception $e) {
        $this->error('Exception :'.$e->getMessage());
    }

// StatusCallback URL = http://xyz/phone_events PHP-Laravel 代码

    $status =Input::get('CallStatus');
    $alternate_phone =Input::get('alt_phone');

    if (! empty($alternate_phone) && ! empty($status)) {

        if ($status != "completed" || $status != "queued") {
            /* start the next call */
            $account_sid = ...;
            $auth_token = ...;
            $client = new \Services_Twilio($account_sid, $auth_token);

            try {

                $client->account->calls->create('+448008021203', '+'.$alt_phone, 'http://xyz/order_msg.html', array(
                    'Method' => 'GET',
                    "StatusCallback" => "http://xyz/phone_events,
                    "StatusCallbackMethod" => "GET",
                    "StatusCallbackEvent" => array("completed"),
                    'Record' => 'false',
                ));

            } catch (\Exception $e) {
                $log->error('Phone Events Error: ' . $e);
            }
        }
    }
4

0 回答 0