Twilio 基本版和呼叫转接

问题描述 投票:0回答:3

我在 Twilio 上创建了一个测试帐户,他们给了我一个号码。

现在我想将拨打该给定号码(由 Twilio 提供)的呼叫转接至任何其他号码。我可以从 Twilio 的网站执行此操作。

但是,我想通过我的应用程序实现这一点,其中:

  1. 一侧有我的号码,并且
  2. 另一侧,有一个文本框,我将在其中提供号码,呼叫将在该号码上转接 和
  3. 保存按钮,该按钮将保存更改,按下该按钮后,每当有人拨打 Twilio 提供的号码时,该来电将被转移到文本框中指定的号码。
php twilio twilio-php twilio-click-to-call
3个回答
2
投票

您实际上可以使用纯 XML 形式的 TwiML 来实现此目的。只需将 twilio 号码的语音 URL 指向应用程序上输出以下内容的端点即可:

<?php
header("content-type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>';
$forward_to="";
if($_REQUEST['To'] == $number_a){
    $forward_to ='forward  number'; //this is already defined by your users, so it much be stored somewhere...
}elseif($_REQUEST['''] == $number_b){
    $forward_to ='forward  number'; //this is already defined by your users, so it much be stored somewhere...
}
?>

<Response>
    <Dial>
        <Number><?php echo $forward_to; ?></Number>
    </Dial>
</Response>

因此,当有电话打入时,您可以检查电话是从哪里打来的,是号码 a 还是号码 b。然后,如果它来自 a,您将获得 a 的前转号码(即 c),如果它来自 b,您将获得 b 的前转号码(即 d)。


0
投票

这里是 Twilio 开发者布道者。

如果您对 Twilio 完全陌生,那么我建议您查看我们的 PHP 语音快速入门。那里的教程将帮助您开始使用 Twilio,然后您将能够按照您想要的方式自定义您的应用程序。

如果您遇到一些问题,您可以将您尝试过的代码发布在 StackOverflow 上,这里的人们会尽力提供帮助。


0
投票
$success_flag = false;
$phone_number_array = "";
$phone_number_array = json_decode($_POST['phone_number_array'], true);
$phone_number_array=array_map('trim',$phone_number_array);

$forward_number_array = "";
$forward_number_array = json_decode($_POST['forward_number_array'], true);
$forward_number_array=array_map('trim',$forward_number_array);  
$arrResponse = $forward_number_array;

try {
    for ($counter=0; $counter < count($phone_number_array); $counter++) { 

        foreach ($client->account->incoming_phone_numbers->getIterator(0, 50, array(
                "PhoneNumber" => $phone_number_array[$counter]
            )) as $number
        ) {
            $voice_url = "http://twimlets.com/forward?PhoneNumber=" . $forward_number_array[$counter];
                $number->update(array(
                "VoiceUrl" => $voice_url,
            ));
            $success_flag = true;

        }
    }       
} catch (Exception $e) {
    $success_flag = false;
    $error = "\n\nError in forward numbers : " . $e;
    file_put_contents("debug_file.txt", print_r($error, true), FILE_APPEND);

}

if($success_flag==false){
    $response = "no records found";
    echo $response;
}else{
    $response = "Changes saved successfully";
    echo $response;
}   
© www.soinside.com 2019 - 2024. All rights reserved.