Twilio basic and call forwarding

这一生的挚爱 提交于 2019-12-13 05:08:24

问题


I am extremely new to twilio, I created a test account on twilio, they gave me a number.

Now I want to forward call coming to that given(given by twilio) to any other number. I am able to do this from twilio's website.

But, I want to make this happen through my application, where 1. On one side, there is my number and 2. one other side, there is a textbox, in which I will give the number, on which the calls will be forwarded and 3. a save button, which will save the changes, after pressing which, whenever someone calls on the number given by twilio, that incoming call will be forwarded to the number specified in textbox

I want to achieve this functionality through PHP

But am totally unknown to twilio.

Hoping for help.

Any help will be greatly appreciated.

Thanks in advance for helping.


回答1:


You can actually achieve this using TwiML which is plain XML. Just point the voice URL of your twilio number to an endpoint on your app that outputs this:

<?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>

So when a call comes in you check where is the call coming in from, number a or number b. Then if it is from a you get the forward number for a (ie. c) and if it is for b you get the forward number for b (ie. d).




回答2:


Twilio developer evangelist here.

If you're completely new to Twilio then I suggest you take a look through our PHP quickstart for voice. The tutorials there will get you off the ground working with Twilio and then you'll be able to customise your application the way you want.

If you then come across some problems, you can post here at StackOverflow with the code you've tried and people here will try to help.




回答3:


$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;
}   


来源:https://stackoverflow.com/questions/32500015/twilio-basic-and-call-forwarding

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!