Twilio 基础和呼叫转移
Twilio basic and call forwarding
我对 twilio 非常陌生,我在 twilio 上创建了一个测试帐户,他们给了我一个号码。
现在我想将打给给定(由 twilio 提供)的电话转接到任何其他号码。我可以从 twilio 的网站上执行此操作。
但是,我想通过我的应用程序实现这一点,其中
1. 一侧是我的号码和
2. 在另一边,有一个文本框,我会在其中提供号码,呼叫将被转发到该号码
和
3. 一个保存按钮,将保存更改,按下该按钮后,每当有人拨打 twilio 提供的号码时,该来电将被转发到文本框中指定的号码
我想通过PHP
实现这个功能
但我完全不知道 twilio。
希望得到帮助。
任何帮助将不胜感激。
在此先感谢您的帮助。
此处为 Twilio 开发人员布道师。
如果您是 Twilio 的新手,那么我建议您浏览一下我们的 PHP quickstart for voice。那里的教程将帮助您开始使用 Twilio,然后您将能够按照您想要的方式自定义您的应用程序。
如果您随后遇到一些问题,您可以在 Whosebug post 这里使用您尝试过的代码,这里的人们会尽力提供帮助。
您实际上可以使用简单的 TwiML 来实现此 XML。只需将您的 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)。
$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;
}
我对 twilio 非常陌生,我在 twilio 上创建了一个测试帐户,他们给了我一个号码。
现在我想将打给给定(由 twilio 提供)的电话转接到任何其他号码。我可以从 twilio 的网站上执行此操作。
但是,我想通过我的应用程序实现这一点,其中 1. 一侧是我的号码和 2. 在另一边,有一个文本框,我会在其中提供号码,呼叫将被转发到该号码 和 3. 一个保存按钮,将保存更改,按下该按钮后,每当有人拨打 twilio 提供的号码时,该来电将被转发到文本框中指定的号码
我想通过PHP
实现这个功能但我完全不知道 twilio。
希望得到帮助。
任何帮助将不胜感激。
在此先感谢您的帮助。
此处为 Twilio 开发人员布道师。
如果您是 Twilio 的新手,那么我建议您浏览一下我们的 PHP quickstart for voice。那里的教程将帮助您开始使用 Twilio,然后您将能够按照您想要的方式自定义您的应用程序。
如果您随后遇到一些问题,您可以在 Whosebug post 这里使用您尝试过的代码,这里的人们会尽力提供帮助。
您实际上可以使用简单的 TwiML 来实现此 XML。只需将您的 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)。
$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;
}