我在 Twilio 上创建了一个测试帐户,他们给了我一个号码。
现在我想将拨打该给定号码(由 Twilio 提供)的呼叫转接至任何其他号码。我可以从 Twilio 的网站执行此操作。
但是,我想通过我的应用程序实现这一点,其中:
您实际上可以使用纯 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)。
这里是 Twilio 开发者布道者。
如果您对 Twilio 完全陌生,那么我建议您查看我们的 PHP 语音快速入门。那里的教程将帮助您开始使用 Twilio,然后您将能够按照您想要的方式自定义您的应用程序。
如果您遇到一些问题,您可以将您尝试过的代码发布在 StackOverflow 上,这里的人们会尽力提供帮助。
$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;
}