2015-06-10 4 views
3

Я использую twlio REST API в своем приложении PHP для совершения телефонных звонков.twilio динамический номер речевого голоса?

все работает нормально, как должно.

Однако, я бы хотел, чтобы пользователи могли использовать свой собственный номер телефона, если захотят.

Для этого я не знаю, как я должен действовать, потому что мой текущий URL-адрес twilio - это статический URL-адрес (файл PHP с выходом XML), в котором есть идентификатор вызывающего абонента!

Я могу просто проверить числа через rest api и добавить их в свою учетную запись twilio, но как я буду использовать эти цифры в своем приложении динамически, а не добавлять их вручную на страницу голосового URL?

это мой голос URL страницы:

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

Любая помощь будет оценена.

ответ

0

REVISED

Чтобы разрешить пользователю выбирать свой собственный идентификатор вызывающего абонента, делая звонки, мы предполагаем, что вы уже предусмотрел путь в вашем веб-интерфейсе для них, чтобы указать свой номер телефона, так что вы можете проверить это с REST API.

После проверки вы можете сохранить свой номер телефона в своем профиле пользователя, представленном ниже на $UserVerifiedCallerID, чтобы вы могли легко передать этот номер своему скрипту клиента.

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

Когда Twilio перезванивает на ваш PHP скрипт, чтобы получить TwiML для обработки этого вызова, Twilio отправит параметр VerifiedCallerID, который можно использовать для установки $callerId:

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

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

... 

Теперь, когда ваш пользователь делает вызовы, их собственный Verified Caller ID будет отображаться вместо жестко закодированного номера.

+0

Извините, но ваши инструкции сбивали меня с ума! Кроме того, я уже делаю большинство, если не весь материал в своем приложении, и именно поэтому я сказал, что ** все работает отлично, как должно. ** Это именно то, что я делаю, и, как я сказал, он отлично работает и делает звонки и т. д. и т. д.: https://www.twilio.com/docs/quickstart/php/client/outgoing-calls. Проблема, о которой я рассказывал, касалась не звонков, она фактически позволяет пользователям выбирать свой номер при совершении звонков , в приведенном выше примере голосовой URL-адрес и страница, на которой выполняется вызов, отличаются друг от друга! –

+0

Спасибо за разъяснение, @ H.HISTORY. Я сузил свой ответ, чтобы сосредоточиться на переменных, необходимых для того, чтобы динамическая идентификация вызывающего абонента была как в сценарии клиента, так и в вашем скрипте PHP. Дайте мне знать, если вам нужны дополнительные данные. – imthepitts

Смежные вопросы