2016-10-13 6 views
0

私はNexmoを初めて使用しており、App-to-Phoneコールを設定しようとしています。音声コールは、インターネットを介してモバイルIonic/Cordovaアプリケーションのユーザによって開始され、電話はPSTN上で鳴る。着呼者は応答し、双方は話したり聞いたりすることができる。App-to-PhoneコールNexmo

私はサーバをセットアップしました。私はPSTNで電話を受けることができました。私はそれに答えることができ、NCCOを使って相手にテキストを話すことができます。

ただし、発信者クライアント側でNexmoを処理する方法を理解することはできません。アプリとPSTNの間の接続を設定するにはどうすればよいですか?音声交換はNexmo経由でどのように送受信されますか?私は、ドキュメントとnpm nexmoパッケージでText-to-Speechを使用している例しか見つけられません。

私のサーバーがNexmo docsからこのコードを持っていますより多くの情報が必要な場合は

<?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

現在のNexmo Voice APIは、クライアント側の技術ではなく、サーバー側の技術と連携するように構築されています。したがって、クライアント側のアプリケーションを介してクライアント上の呼び出しを制御することはできません。 – leggetter

+0

こんにちは、私は、コールフローがサーバー側で処理されることを理解します。しかし、Nexmo Voice APIを使用して、PSTN上の番号にインターネット経由で(私のサーバ経由で)モバイルアプリ内で電話をかけることは可能ですか?あるいは、私はSIPを使う必要がありますか? – Thev

答えて

1

Nexmoでこれを行うには2通りの方法があります。実際には、アプリを搭載したデバイスの電話番号を知っているかどうかによって異なります。あなただけの会話の名前ことを確認する必要があり

もしそうなら、あなたはnexmoから各電話番号への発信電話をかけると(NCCOで会話として知られている話を)簡単な会議にそれらの両方を置くことができる https://docs.nexmo.com/voice/voice-api/ncco-reference#conversation その呼び出しに固有のものです。

これを行うもう1つの方法は、プロキシ呼び出しによるもので、クライアントが呼び出すnexmo電話番号を含む 'tel:' urlを起動してから、コールを接続先に接続するNCCOを実行します数。

オプション2では、オプション1で2つの通話(各電話に1つずつ)の費用がかかります。オプション2では、1つの通話料金があり、ユーザー他のアプリを持っている

+0

こんにちは、ありがとうございました!プロキシコールの2番目のオプションにNexmoのドキュメントがありますか?私たちはモバイルアプリのユーザーからの電話番号を知らないので、2番目のオプションは私たちのユースケースに最適です。 – Thev

+0

私にはこれを確認できますか:2番目のオプションでは、アプリがNexmo番号を含む 'tel' URLを起動します。携帯電話はモバイルアプリから通常の電話がかけられる「電話」アプリに切り替わり、ユーザーはそこからのNexmo。彼はPSTN経由で電話をしていて、インターネット接続ではないので、Nexmo番号を呼び出すためにプロバイダから課金を受けることになります。 – Thev