当我们使用 rest api 进行调用时,我们在那个 url 参数上使用什么 twiml

when we make call using rest api then what twiml we use on that url parameter

我正在使用其余部分创建调用 api-

try{
        // Initiate a new outbound call
        $call = $this->client->calls->create(

            // to call.
            "num2",

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


            array("url" => "url-tw",
            'IfMachine'=>'Continue')

        );
        echo "Started call: " . $call->sid;
    } catch(Exception $e){
        echo "Error: " . $e->getMessage();
    }

在 url-tw 上我应该使用什么 twiml 不能断开通话。

在我使用 TwiML 处理呼叫之前,但现在我必须检测 AnsweredBy 选项,该选项仅在我使用 REST API 进行呼叫时才可用。

现在我使用的是与之前使用的 twiml 相同的 twiml,例如使用 <Dial> 可以再次拨号,但如果我不使用任何 twiml,它会断开 call.So 任何我出错的建议。

这里是 Twilio 布道者。

url 参数的值应该是可公开访问的 URL,return 和 TwiML 包含您希望 Twilio 对调用者执行的指令。

开始通话的 PHP 看起来像:

// Initiate a new outbound call
$call = $this->client->calls->create(
    "num2",
    "num1",
    array("url" => "http://example.com/answer.php", 'IfMachine'=>'Continue')
);

那么在answer.php中,你可以做两件事:

  1. 检查 AnsweredBy 参数以查看 Twilio 是否检测到机器或人。
  2. 根据该值
  3. 生成您想要return的Twiml

例如,要让机器和人类说一些不同的话,你可以在 PHP:

中做这样的事情
<?php
    header("content-type: text/xml");
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<?php if ($_REQUEST['AnsweredBy']=='machine'): ?>
    <Response>
        <Say>Hello machine</Say>
    </Response>
<?php else: ?>
    <Response>
        <Dial>+15555555555</Dial>
    </Response>
<?php endif ?>

希望对您有所帮助。