Google が米国の Pixel スマートフォン向けに導入した通話スクリーニング機能について聞いたり読んだりしたことがあるかもしれません。 このアイデアは素晴らしいです。着信を受けると仮想アシスタントが通信を開始し、その会話がチャットの形で表示され、いつでもアシスタントの代わりに話し始めることができます。 これは、最近では非常に便利です。
アーキテクチャ
Voximplant と Dialogflow がどのように機能するかを説明するのに時間を無駄にしないことをお勧めします。必要に応じて、インターネット上で情報を簡単に見つけることができます。 それでは、通話スクリーニングの概念そのものを理解しましょう。
毎日使用し、重要な電話を受ける特定の電話番号をすでに持っていると仮定しましょう。 この場合、XNUMX 番目の番号が必要になります。この番号は、郵便、名刺、オンライン フォームに記入するときなど、あらゆる場所に表示されます。 この番号は自然言語処理システム (この場合は Dialogflow) に接続され、希望する場合にのみ通話を代表番号に転送します。 図形式では次のようになります (画像はクリック可能です)。
アーキテクチャを理解したら、実装に取り組むことができますが、XNUMX つ注意点があります。 モバイル Dialogflow と着信発信者との間の対話を表示するアプリケーションでは、単純な ウェブ- 通話スクリーニングがどのように機能するかを明確に示すダイアログ レンダラーを備えたアプリケーション。 このアプリケーションには、Intervene ボタンがあり、Voximplant を押すと、着信加入者がダイヤルされた加入者と通話することを決定した場合に接続されます。
具現化
ログイン
開く
次に、スクリーニングアプリケーションの「番号」セクションの「利用可能」タブに移動します。 ここに、購入したばかりの番号が表示されます。 「アタッチ」ボタンを使用してアプリケーションにリンクします。表示されるウィンドウで、すべてのデフォルト値をそのままにして「アタッチ」をクリックします。
アプリケーションに入ったら、「スクリプト」タブに移動し、スクリプト myscreening を作成します。その中で記事のコードを使用します。
注意: サーバー変数の値を ngrok サーバーの名前に変更する必要があります (ngrok についての詳細は以下で説明します)。 また、31 行目の値を置き換えます。ここで、電話番号はメイン番号 (個人の携帯電話など)、voximplant 番号は最近購入した番号です。
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
callPSTN 通話は、あなたが会話に割り込んで着信加入者と個人的に話すことにした瞬間に発生します。
スクリプトを保存したら、購入した番号にリンクする必要があります。 これを行うには、アプリケーション内で [ルーティング] タブに移動し、右上隅にある [新しいルール] ボタンで新しいルールを作成します。 名前 (例: allcalls) を入力し、デフォルトのマスク (.* - すべての着信通話がこのルールに選択されたスクリプトによって処理されることを意味します) のままにして、myscreening スクリプトを指定します。
ルールを保存します。
これ以降、電話番号がスクリプトにリンクされます。 最後に行うことは、ボットをアプリケーションにリンクすることです。 これを行うには、[Dialogflow コネクタ] タブに移動し、右上隅にある [Dialogflow エージェントの追加] ボタンをクリックして、Dialogflow エージェントの JSON ファイルをアップロードします。
サンプル/テスト用のエージェントが必要な場合は、このリンクからエージェントを利用できます。
NodeJS 上のシンプルなバックエンド
たとえば、次のように単純なバックエンドをノードにデプロイしてみましょう。
これは、実行するために必要なコマンドが XNUMX つだけである単純なアプリケーションです。
npm install
node index.js
サーバーはマシンのポート 3000 で実行されるため、Voximplant クラウドに接続するには、ngrok ユーティリティを使用します。 インストールするとき
ngrok http 3000
ngrok がローカル サーバー用に生成したドメイン名が表示されます。それをコピーしてサーバー変数に貼り付けます。
クライアント
クライアント アプリケーションは、簡単なチャットのように見えます。
すべてのファイルを Web サーバー上のディレクトリにコピーするだけで機能します。 script.js ファイルで、server 変数を ngrok ドメイン名に置き換え、callee 変数を購入した番号に置き換えます。 ファイルを保存し、ブラウザでアプリケーションを起動します。 すべてが正常であれば、開発者パネルに WebSocket 接続が表示されます。
Демо
このビデオでは、アプリケーションの動作をご覧いただけます。
PS [介入] ボタンをクリックすると、発信者は私の電話番号に誘導され、[切断] をクリックすると、...? そうです、通話は切断されます。
出所: habr.com