我是 Nexmo 的新手,我正在尝试设置 App-to-Phone 通话。语音呼叫由移动 Ionic/Cordova 应用程序的用户通过互联网发起,电话在 PSTN 上响铃。被叫接听,双方可以说和听。
现在我已经设置了服务器,我可以拨打 PSTN 上的电话,我可以接听它,我可以使用 NCCO 向被叫方说文本。
但是,我无法弄清楚如何在呼叫者客户端处理 Nexmo。如何在应用程序和 PSTN 之间建立连接?语音交换如何通过 Nexmo 发送和接收?我只能在文档和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;
如果需要更多信息,请告诉我!