3

我阅读了以下Twilio PHP API 文档,它是成功的

我继续阅读有关无环语音邮件stackoverflow的信息,它基于拨打一个号码,然后立即再次从同一个号码拨打该号码,然后放弃第一个呼叫,这会将第二个呼叫直接发送到语音邮件

我怎样才能在下面的 try catch 中做到这一点:

try {
    // Initiate a new outbound call
    $call = $client->account->calls->create(
        // Step 4: Change the 'To' number below to whatever number you'd like 
        // to call.
        "+15558675309",

        // Step 5: Change the 'From' number below to be a valid Twilio number 
        // that you've purchased or verified with Twilio.
        "+15017250604",

        // Step 6: Set the URL Twilio will request when the call is answered.
        array("url" => "http://demo.twilio.com/welcome/voice/")
    );
    echo "Started call: " . $call->sid;
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}

我试图抛出一个异常 - throw new Exception('something');

我试过添加 goto secondCall; 在 $call->sid 之后;其次是 secondCall:再次使用 try catch

4

1 回答 1

0

我不相信这会一直奏效,而且您显然会面临其中一个呼叫连接然后立即挂断的风险,这对您呼叫的任何人来说都会很烦人。

无论如何,这将是我的方法。

启动第一个呼叫并指定 aStatusCallbackEvent在呼叫时触发initiated(可选地,您可能希望另一个触发 on ringing)。将此 POST 发送到服务器上的第二个呼叫处理脚本。

配置该脚本以终止第一个呼叫并在收到回叫后启动第二个呼叫,表明第一个呼叫已启动,或者当第一个呼叫响起时,如果您不关心打扰您尝试呼叫的任何人。

如果您使用发起的回调,您可能不得不尝试超时,因为呼叫设置时间可能会有很大差异,但我不知道网络如何决定何时路由到语音邮件,所以您可能不会。

于 2017-10-03T16:49:22.543 回答