![](/img/trans.png)
[英]Validate user when they try to call phone number with nexmo in laravel
[英]App-to-Phone call Nexmo
我是Nexmo的新手,我正嘗試建立一個應用程序通話。 移動Ionic / Cordova應用程序的用戶通過互聯網發起語音呼叫,電話在PSTN上響鈴。 被叫方回答,雙方都可以講話和收聽。
現在,我已經設置了服務器,並且可以在PSTN上撥打電話,可以接聽電話了,還可以使用NCCO向被叫方說短信。
但是,我無法弄清楚如何在調用方客戶端上處理Nexmo。 如何在應用程序和PSTN之間建立連接? 如何通過Nexmo發送和接收語音交換? 我只能在docs和npm nexmo包中找到使用Text-to-Speech的示例 。
我的服務器具有Nexmo 文檔中的以下代碼:
<?php
include 'application_generate_jwt.php';
//Connection information
$base_url = 'https://api.nexmo.com' ;
$version = '/v1';
$action = '/calls';
//User and application information
$application_id = "id-for-your-voice-application";
//Mint your JWT
$keyfile="application_secret_key.txt";
$jwt = generate_jwt($application_id, $keyfile);
//Add the JWT to the request headers
$headers = array('Content-Type: application/json', "Authorization: Bearer " . $jwt ) ;
//Change the to parameter to the number you want to call
$payload = '{
"to":[{
"type": "phone",
"number": "441632960961"
}],
"from": {
"type": "phone",
"number": "441632960960"
},
"answer_url": ["https://nexmo-community.github.io/ncco-examples/first_call_talk.json"]
}';
//Create the request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $base_url . $version . $action);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
echo $response;
如果需要更多信息,請告訴我!
使用Nexmo可以使用2種方法來完成此操作,這實際上取決於您是否知道帶有應用程序的設備的電話號碼。
如果是這樣,那么您可以從nexmo撥出每個電話號碼的電話,並將它們都放入一個簡單的會議(在NCCO通話中稱為對話) https://docs.nexmo.com/voice/voice-api/ncco- reference#conversation您只需要確保對話的名稱對於該呼叫是唯一的。
另一種方法是通過代理調用,因此該應用程序啟動一個“ tel:” URL,其中包含一個供客戶呼叫的nexmo電話號碼,然后執行將呼叫連接到目標號碼的NCCO。
這取決於您的用例,哪種模式最適用,在選項1中,您將承擔2個通話費用(每部電話一個),在選項2中,您將承擔一個通話費用,而應用程序用戶有另一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.