Приложение для телефонного звонка Nexmo

Я новичок в Nexmo и пытаюсь настроить телефонный звонок. Голосовой вызов инициируется пользователем мобильного приложения Ionic / Cordova через Интернет, и на телефонной сети общего пользования звонит телефон. Вызываемый отвечает, и обе стороны могут говорить и слушать.

Теперь я настроил сервер и смог получить телефон на PSTN для вызова, я могу ответить на него, и я могу использовать NCCO, чтобы передать текст вызываемому абоненту.

Однако я не могу понять, как обращаться с Nexmo на стороне клиента. Как мне установить соединение между приложением и PSTN? Как голосовой обмен отправляется и принимается через Nexmo? Я могу найти только примеры использования Text-to-Speech в документах и 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;

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать!

0

Решение

Есть 2 способа сделать это с Nexmo, это действительно зависит от того, знаете ли вы номер телефона устройства с приложением на нем.

Если это так, то вы можете сделать исходящий вызов на каждый телефонный номер из Nexmo и поместить их обоих в простую конференцию (известную как разговор в разговоре NCCO)
https://docs.nexmo.com/voice/voice-api/ncco-reference#conversation
Вам просто нужно убедиться, что имя разговора уникально для этого звонка.

Другой способ сделать это — через прокси-вызов, поэтому приложение запускает URL-адрес «tel:», который содержит номер телефона nexmo, на который звонит клиент, и затем выполняет NCCO, который соединяет вызов с номером назначения.

Зависит от того, каков ваш вариант использования, какая модель будет работать лучше, также в варианте 1 вы будете оплачивать 2 звонка (по одному на каждый телефон), в варианте 2 у вас будет одна стоимость звонка и пользователь приложения с есть другой.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]