https://d226lax1qjow5r.cloudfront.net/blog/blogposts/receive-phone-calls-node-red-dr/inbound-calls-node-red.png

Node-REDで電話を受ける方法

最終更新日 May 13, 2021

所要時間:4 分

注:この記事で説明されているツールや方法の中には、サポートが終了しているものや最新のものではないものがあります。最新の内容やサポートについては、最新の投稿をご確認いただくか、Vonage Community Slackの VonageコミュニティSlack

NexmoとNode-RED入門」チュートリアルの第3回目です。

これまでの 前のチュートリアルを使用してプログラムでSMSメッセージを送受信する方法と、受信を処理する方法を学びました。

次は、Nexmo Voice APIについてです。

この記事を読み終わる頃には、Node-REDを使って最初のインバウンドコールを処理できるようになっているでしょう。

前提条件

始める前に必要なものがいくつかある:

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

資格の取得

Voice APIと対話するためには、いくつかの点に注意する必要があります。Nexmoアカウントを作成したら、次のページにアクセスする。 ダッシュボードにアクセスし、APIキーとシークレットを見つけてください。

次に、Voice対応のバーチャル番号が必要です。Numbers(ナンバーズ)>」に進みます。 Numbersを購入するをクリックしてください。

Node-REDエディタのセットアップ

まず インストールする必要があります。をインストールする必要がある。これは、ローカルマシン、シングルボードコンピュータ(Raspberry Piなど)、またはクラウドホスティングのいずれかの方法で行うことができます。この例ではローカルマシンを使いますので、Node-REDをグローバルにインストールしたら、ターミナルに以下のコマンドを入力してください。

node-red

Node-REDエディタにアクセスするには、ブラウザの http://localhost:1880.

エディタを開いたら、Nexmoノードをインストールする必要があります。インストールは パレットの管理メニューから node-red-contrib-nexmoパッケージを検索し、インストールをクリックします。

nexmo node red

これで、画面の左側に、他のデフォルト・ノードに混じって、すべてのNexmoノードが表示されるはずです。

Node-REDでインバウンドの電話を処理する

ローカルサーバーをインターネットに公開する

まず、Nexmoがアクセスできるように、ローカルサーバーをインターネットに公開する必要があります。Node-REDをローカルマシンではなく、パブリックなウェブサーバー上で動作させている場合は、この段階を省略することができます。

そうでなければ、次のようなトンネリングサービスを使うのが便利だ。 ngrok.

ダウンロードをダウンロードし ngrokをダウンロードし、ターミナルで実行して、ポート 1880.

./ngrok http 1880

表示されたURLに移動し、Node-REDエディターを探します。

ngrok inbound call

Nexmoアプリケーションの作成

以前のSMSチュートリアルでは、エンドポイントで直接電話番号を設定できましたが、必ずしもそうとは限りません。

Voice APIを含むNexmoのAPIの一部は、Nexmoのエンドポイントに接続するために必要なセキュリティ情報と設定情報を保持するために、Nexmo Applicationsを使用しています。

Nexmo Node-REDパレットでは、いくつかのノードがこれらのアプリケーションを作成する機能を持っています: getrecording, earmuff, mute, hangup, transfer, createcall, playaudio, playttsそして playdtmf.

これらのノードをワークスペースにドラッグし、ダブルクリックしてノードエディタを開きます。

の横にある Nexmo Credentialsの横にあるドロップダウンメニューから "Add new nexmovoiceapp... "を選択し、編集ボタンをクリックします。以下の詳細を入力し Create New Application.

KEY DESCRIPTION
Name Choose a name for your Voice Application, for example inbound call.
API Key Your Nexmo API key, shown in your account overview.
API Secret Your Nexmo API secret, shown in your account overview.
Answer URL YOUR_URL/answer, you'll be hosting a Nexmo Call Control Object (NCCO) here. - more about this later on.
Event URL YOUR_URL/event, you'll need to reference this when setting up the event handler.

Node-REDはあなたのアカウントに新しいNexmo Applicationsを作成し、App IDと秘密鍵のフィールドに入力して保存します。このステップの後、使用したNexmoノードを削除してください。 nexmovoiceappコンフィグノードが作成され、このフローに必要なすべてのNexmo認証情報が含まれているからです。

Next step

次に、バーチャル・ナンバーをこのアプリケーションにリンクさせる必要がある。

Nexmoダッシュボードで、作成したVoice Applicationsを検索します。 ボイス> アプリケーション.

このアプリケーションの名前をクリックし、その下にある Numbersタブをクリックし リンクボタンをクリックしてください。

または、使用したい電話番号がすでに他のアプリにリンクされている場合は、以下をクリックする。 番号の管理をクリックし、着信をあなたのアプリに転送するように設定します。

link number

Nexmoコール・コントロール・オブジェクト(NCCO)の構築

Nexmoコールは Nexmoコール・コントロール・オブジェクトNCCOとも呼ばれる。NCCOは、コールが処理されたときに実行されるアクションのリストを定義します。Node-REDエディタのNexmoパレットで対応するノードを見つけるか、NCCOリファレンスを参照してください。 NCCOリファレンスを参照してください。

このチュートリアルでは talkアクションを使います。

ノードをワークスペースに talkノードをワークスペースにドラッグ・アンド・ドロップする。 voice webhook入力ノードと return NCCO出力ノードに接続します。

次に voice webhookノードで GETをメソッドとして選択し /answerを入力します。

最後に talkノードのプロパティで Text{}フィールドを設定する。その際 {}ラベルの横にある Textラベルの横にある記号に注目してください。 Mustacheテンプレート.を選択することもできます。 Voice Nameを選択することもできます。 音声合成ガイドを参照してください。

Create tts ncco

イベントURLのハンドラを設定する

入力ノードを http入力ノードを http responseノードに接続します。 debugノードに接続する。

入力ノードで http入力ノードで POSTMethodとして選択し URLフィールドに /event.

ノードは http responseノードには 200として設定されていなければならない。 Status codeに設定されているはずだが、これはデフォルト値でもあるので心配はいらない。

今すぐ デプロイをクリックし、バーチャル番号に電話をかけ、デバッグ・サイドバーで通話の流れを確認する。

inbound call debug

次のステップ

このチュートリアルでは、発信者に音声合成メッセージを再生する方法を学びました。似たような方法で、音声ファイルを再生したり、電話を電話番号に転送することもできます。さらに、会話を録音したり、カスタムボイスメールを設定したりすることもできます。その方法をご紹介します!

リソース

シェア:

https://a.storyblok.com/f/270183/372x373/36054b72d0/julia-biro.png
Julia Biroデベロッパー・アドボケイト

Juliaは、チュートリアル、ガイド、実用的なリソースを作成することで、仲間の開発者に力を与えることに尽力しています。アウトリーチと教育のバックグラウンドを持つ彼女は、テクノロジーをより身近なものにし、開発者の経験全体を向上させることを目指しています。地域のコミュニティイベントでもよく見かける。