简体   繁体   中英

twilio dynamic voice url number?

I'm using twlio REST API in my PHP application to make phone calls.

everything works fine as it should.

however, I would need to allow the users to use their own phone number if they want.

For this I don't know how I should proceed because my current twilio voice URL is an static URL (PHP file with XML output) which has the caller ID within it!

I can simply verify the numbers via rest api and add them to my twilio account but how would I then use those numbers in my application dynamically as opposed to adding them manually to the voice URL page?

this is my voice URL page:

<?php
header('Content-type: text/xml');

// put a phone number you've verified with Twilio to use as a caller ID number
$callerId = "+44XXXXXXXX0";

// put your default Twilio Client name here, for when a phone number isn't given
$number   = "Michelle";

// get the phone number from the page request parameters, if given
if (isset($_REQUEST['PhoneNumber'])) {
    $number = htmlspecialchars($_REQUEST['PhoneNumber']);
}

// wrap the phone number or client name in the appropriate TwiML verb
// by checking if the number given has only digits and format symbols
if (preg_match("/^[\d\+\-\(\) ]+$/", $number)) {
    $numberOrClient = "<Number>" . $number . "</Number>";
} else {
    $numberOrClient = "<Client>" . $number . "</Client>";
}
?>

<Response>
    <Dial callerId="<?php echo $callerId ?>">
          <?php echo $numberOrClient ?>
    </Dial>
</Response> 

Any help would be appreciated.

REVISED

To allow the user to choose their own Caller ID while making calls, we'll assume you've already provided a way in your web UI for them to specify their phone number so that you can verify it with the REST API .

Once verified, you could save their phone number to their user profile, represented below by $UserVerifiedCallerID , so that you can easily pass that number to your Client script.

var params = {
    "PhoneNumber": $("#number").val(),
    "VerifiedCallerID": "<?php echo $UserVerifiedCallerID; ?>"
};
Twilio.Device.connect(params);

When Twilio calls back to your PHP script to get the TwiML for handling that call, Twilio will send the VerifiedCallerID parameter, which you can use to set $callerId :

<?php
header('Content-type: text/xml');

// Grab the VerfiedCallerID from the request
$callerId = $_REQUEST['VerifiedCallerID'];

...

Now when your user makes calls, their own Verified Caller ID will show instead of a hard-coded number.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM