2015-06-10 76 views
3

我在我的PHP應用程序中使用twlio REST API來撥打電話。twilio動態語音網址號碼?

一切工作正常,因爲它應該。

但是,我需要允許用戶使用他們自己的電話號碼,如果他們想要的話。

對於這個我不知道我應該怎麼繼續,因爲我目前的twilio聲音URL是在其內具有來電顯示的靜態URL(與XML輸出的PHP文件)!

我可以簡單地通過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

修訂

爲了讓用戶選擇自己的主叫號碼,同時撥打電話,我們假設你已經在你的Web UI提供了一個方式,爲他們指定自己的電話號碼,以便您可以驗證它與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']; 

... 

現在,當你的用戶撥打電話,他們自己的已驗證的來電顯示將顯示,而不是硬編碼的號碼。

+0

對不起,但你的指示混淆了我的地獄!此外,我已經做了大部分(如果不是全部)應用程序中的所有內容,這就是爲什麼我說**一切正常,因爲它應該。**這正是我所做的,正如我所說,它工作正常,並撥打電話等等等等:https://www.twilio.com/docs/quickstart/php/client/outgoing-calls我描述的問題不是打電話,而是實際上允許用戶在撥打電話時選擇他們自己的號碼。在上面的例子中,語音URL和打電話的頁面是不同的! –

+0

感謝您的澄清,@ H.HISTORY。我縮小了我的答案,重點關注了在客戶端腳本和PHP腳本中使Caller ID動態變化所需的變量。讓我知道你是否需要更多細節。 – imthepitts