Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する

Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する
Google が米国の Pixel スマートフォン向けに導入した通話スクリーニング機能について聞いたり読んだりしたことがあるかもしれません。 このアイデアは素晴らしいです。着信を受けると仮想アシスタントが通信を開始し、その会話がチャットの形で表示され、いつでもアシスタントの代わりに話し始めることができます。 これは、最近では非常に便利です。 電話の半分はスパムです, しかし、連絡先リストに載っていない人からの重要な電話を逃したくないでしょう。 唯一の難点は、この機能が Pixel スマートフォンでのみ、また米国でのみ利用できることです。 そうですね、障害は乗り越えるべきものですよね? したがって、Voximplant と Dialogflow を使用して同様のソリューションを作成する方法を説明することにしました。 猫の下でお願いします。

アーキテクチャ

Voximplant と Dialogflow がどのように機能するかを説明するのに時間を無駄にしないことをお勧めします。必要に応じて、インターネット上で情報を簡単に見つけることができます。 それでは、通話スクリーニングの概念そのものを理解しましょう。

毎日使用し、重要な電話を受ける特定の電話番号をすでに持っていると仮定しましょう。 この場合、XNUMX 番目の番号が必要になります。この番号は、郵便、名刺、オンライン フォームに記入するときなど、あらゆる場所に表示されます。 この番号は自然言語処理システム (この場合は Dialogflow) に接続され、希望する場合にのみ通話を代表番号に転送します。 図形式では次のようになります (画像はクリック可能です)。
Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する
アーキテクチャを理解したら、実装に取り​​組むことができますが、XNUMX つ注意点があります。 モバイル Dialogflow と着信発信者との間の対話を表示するアプリケーションでは、単純な ウェブ- 通話スクリーニングがどのように機能するかを明確に示すダイアログ レンダラーを備えたアプリケーション。 このアプリケーションには、Intervene ボタンがあり、Voximplant を押すと、着信加入者がダイヤルされた加入者と通話することを決定した場合に接続されます。

具現化

ログイン Voximplant アカウント そして、スクリーニングなどの新しいアプリケーションを作成します。

Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する
開く セクション「部屋」 そして仲介として機能する番号を購入します。

Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する
次に、スクリーニングアプリケーションの「番号」セクションの「利用可能」タブに移動します。 ここに、購入したばかりの番号が表示されます。 「アタッチ」ボタンを使用してアプリケーションにリンクします。表示されるウィンドウで、すべてのデフォルト値をそのままにして「アタッチ」をクリックします。

アプリケーションに入ったら、「スクリプト」タブに移動し、スクリプト myscreening を作成します。その中で記事のコードを使用します。 Dialogflow コネクタの使用方法。 この場合、発信者とアシスタントの間の対話を「見る」必要があるため、コードは少し変更されます。 すべてのコードが可能です ここに連れて行ってください.

注意: サーバー変数の値を ngrok サーバーの名前に変更する必要があります (ngrok についての詳細は以下で説明します)。 また、31 行目の値を置き換えます。ここで、電話番号はメイン番号 (個人の携帯電話など)、voximplant 番号は最近購入した番号です。

outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)

callPSTN 通話は、あなたが会話に割り込んで着信加入者と個人的に話すことにした瞬間に発生します。

スクリプトを保存したら、購入した番号にリンクする必要があります。 これを行うには、アプリケーション内で [ルーティング] タブに移動し、右上隅にある [新しいルール] ボタンで新しいルールを作成します。 名前 (例: allcalls) を入力し、デフォルトのマスク (.* - すべての着信通話がこのルールに選択されたスクリプトによって処理されることを意味します) のままにして、myscreening スクリプトを指定します。

Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する
ルールを保存します。

これ以降、電話番号がスクリプトにリンクされます。 最後に行うことは、ボットをアプリケーションにリンクすることです。 これを行うには、[Dialogflow コネクタ] タブに移動し、右上隅にある [Dialogflow エージェントの追加] ボタンをクリックして、Dialogflow エージェントの JSON ファイルをアップロードします。

Voximplant と Dialogflow に基づいて独自の Google 通話スクリーニングを作成する
サンプル/テスト用のエージェントが必要な場合は、このリンクからエージェントを利用できます。 github.com/aylarov/callscreening/tree/master/dialogflow。 あまり多くを要求しないでください。これは、好きなように自由にやり直して、結果を自由に共有できる一例にすぎません :)

NodeJS 上のシンプルなバックエンド

たとえば、次のように単純なバックエンドをノードにデプロイしてみましょう。
github.com/aylarov/callscreening/tree/master/nodejs

これは、実行するために必要なコマンドが XNUMX つだけである単純なアプリケーションです。

npm install
node index.js

サーバーはマシンのポート 3000 で実行されるため、Voximplant クラウドに接続するには、ngrok ユーティリティを使用します。 インストールするとき グローク、次のコマンドで実行します。

ngrok http 3000

ngrok がローカル サーバー用に生成したドメイン名が表示されます。それをコピーしてサーバー変数に貼り付けます。

クライアント

クライアント アプリケーションは、簡単なチャットのように見えます。 ここから拾ってください.

すべてのファイルを Web サーバー上のディレクトリにコピーするだけで機能します。 script.js ファイルで、server 変数を ngrok ドメイン名に置き換え、callee 変数を購入した番号に置き換えます。 ファイルを保存し、ブラウザでアプリケーションを起動します。 すべてが正常であれば、開発者パネルに WebSocket 接続が表示されます。

Демо

このビデオでは、アプリケーションの動作をご覧いただけます。


PS [介入] ボタンをクリックすると、発信者は私の電話番号に誘導され、[切断] をクリックすると、...? そうです、通話は切断されます。

出所: habr.com

コメントを追加します