PHP

我是Nexmo的新手,我正尝试设置应用程序到手机的通话。 语音通话由移动Ionic / Cordova应用程序的用户通过互联网发起,电话在PSTN上响铃。 被叫方回答,双方都可以说和听。

现在我已经建立了服务器,并且我可以拨打PSTN上的电话进行呼叫,我可以回答它,并且可以使用NCCO向被叫方说出文本。

然而,我不知道如何在呼叫者客户端处理Nexmo。 如何设置应用程序和PSTN之间的连接? 如何通过Nexmo发送和接收语音交换? 我只能在文档和npm nexmo软件包中找到使用文本到语音的示例。

我的服务器有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有两种方法可以做到这一点,这取决于您是否知道带有应用程序的设备的电话号码。

如果是这样,那么你可以从nexmo打出每个电话号码的外拨电话,并将它们放到一个简单的会议中(在NCCO发言中称为对话)https://docs.nexmo.com/voice/voice-api/ncco-参考#对话您只需确保对话的名称对该呼叫是唯一的。

另一种方式是通过代理呼叫,以便应用程序启动一个包含客户端呼叫的nexmo电话号码的'tel:'网址,然后执行将呼叫连接到目标号码的NCCO。

这取决于你的用例是哪种模式最适合的,同样在选项1中,你将承担选项2中的两个电话(每个电话一个)的费用,你将有一个电话费用和应用程序的用户有另一个。

链接地址: http://www.djcxy.com/p/33143.html

上一篇: php

下一篇: 500 internal server error when Nexmo or Mail fails in Laravel 5.3