ウェブフック・サーバーの作成
インバウンドコールを受信すると、Vonageはお客様が選択した一般にアクセス可能なURLへのリクエストを行います。 answer_url.このリクエストを受信し、次のリクエストを返すことができるWebhookサーバーを作成する必要があります。 エヌシーシーオー を含む。 connect に電話を転送する。 PSTN電話番号.から宛先番号を抽出します。 to クエリ・パラメータを返します。
新プロジェクト
任意の保存先に新しいプロジェクト・ディレクトリを作成し、そこに移動する:
フォルダ内で、以下のコマンドを実行して新しいNode.jsプロジェクトを初期化する:
依存関係の追加
次に、必要な依存関係をインストールする:
サーバーファイルの作成
プロジェクトフォルダー内に server.js 以下のコードを追加してください。 NUMBER をあなたのVonage番号( E.164 形式)だけでなく SUBDOMAIN に実際の値を指定します。使用された値は、次のステップでウェブフックとして設定するURLの一部になります。
'use strict';
const subdomain = 'SUBDOMAIN';
const vonageNumber = 'NUMBER';
const express = require('express');
const app = express();
app.use(express.json());
app.get('/voice/answer', (req, res) => {
console.log('NCCO request:');
console.log(` - callee: ${req.query.to}`);
console.log('---');
res.json([
{
"action": "talk",
"text": "Please wait while we connect you."
},
{
"action": "connect",
"from": vonageNumber,
"endpoint": [
{ "type": "phone", "number": req.query.to }
]
}
]);
});
app.all('/voice/event', (req, res) => {
console.log('EVENT:');
console.dir(req.body);
console.log('---');
res.sendStatus(200);
});
if(vonageNumber == "NUMBER") {
console.log('\n\t🚨🚨🚨 Please change the NUMBER value');
return false;
}
if(subdomain == "SUBDOMAIN") {
console.log('\n\t🚨🚨🚨 Please change the SUBDOMAIN value');
return false;
}
app.listen(3000);
const localtunnel = require('localtunnel');
(async () => {
const tunnel = await localtunnel({
subdomain: subdomain,
port: 3000
});
console.log(`App available at: ${tunnel.url}`);
})();
注: 忘れずに交換してください。 SUBDOMAIN に、4~20文字の英数字(アンダースコアやダッシュは使用せず、アルファベットとNumbers)でランダムな文字列を入力します。 NUMBER にVonage番号を入力します。 E.164 形式(例:447700900000)。
上記のサーバーコードには2つの部分がある:
エクスプレス・サーバー
最初の部分は Express サーバーに接続し、ローカルでポート 3000.サーバーは2つのパスを公開する:
/voice/answerはanswer_url前述したとおりである。それはJSON応答には、呼のデスティネーション番号が含まれる。この点にも注目してほしい。
numberから抽出される。req.query.toパラメータを使用する。動的に構築されたNCCOは、次にconnectアクションだ。2つ目だ、
/voice/eventVonageは、通話中に発生するすべての出来事を通知するように宛先を設定します。event_url.
について localtunnel 統合
上記のサーバーコードの2番目の部分は Express サーバーからアクセスできるようにします。
注: localtunnel はJavaScriptライブラリで、あなたのローカルホストを世界中に公開し、テストや共有を容易にします!DNSをいじったり、あなたの変更を他の人に試してもらうためにデプロイしたりする必要はありません。
サーバーの起動
ターミナルで以下のコマンドを実行すれば、サーバーを起動できる:
サーバーが利用可能になったことを知らせる通知が表示されます:
App available at: https://SUBDOMAIN.loca.lt
次のステップでURLが必要になるので、ターミナル・ウィンドウを手元に置いておいてください。
In-Appで音声通話をする
Android Client SDKを使用して、アンドロイドアプリから電話に音声通話をかける。