
シェア:
Juliaは、チュートリアル、ガイド、実用的なリソースを作成することで、仲間の開発者に力を与えることに尽力しています。アウトリーチと教育のバックグラウンドを持つ彼女は、テクノロジーをより身近なものにし、開発者の経験全体を向上させることを目指しています。地域のコミュニティイベントでもよく見かける。
Node-REDで電話を受ける方法
所要時間:4 分
注:この記事で説明されているツールや方法の中には、サポートが終了しているものや最新のものではないものもあります。最新の内容やサポートについては 最新記事または ドキュメンテーション
NexmoとNode-RED入門」チュートリアルの第3回目です。
これまでの 前のチュートリアルを使用してプログラムでSMSメッセージを送受信する方法と、受信を処理する方法を学びました。
次は、Nexmo Voice APIについてです。
この記事を読み終わる頃には、Node-REDを使って最初のインバウンドコールを処理できるようになっているでしょう。
前提条件
始める前に必要なものがいくつかある:
オプション エヌグロク-でスピードアップ アーロンのブログ記事
資格の取得
Voice APIと対話するためには、いくつかの点に注意する必要があります。Nexmoアカウントを作成したら、次のページにアクセスする。 ダッシュボードにアクセスし、APIキーとシークレットを見つけてください。
次に、Voice対応のバーチャル番号が必要です。Numbers(ナンバーズ)>」に進みます。 Numbersを購入するをクリックしてください。
Node-REDエディタのセットアップ
まず インストールする必要があります。をインストールする必要がある。これは、ローカルマシン、シングルボードコンピュータ(Raspberry Piなど)、またはクラウドホスティングのいずれかの方法で行うことができます。この例ではローカルマシンを使いますので、Node-REDをグローバルにインストールしたら、ターミナルに以下のコマンドを入力してください。
Node-REDエディタにアクセスするには、ブラウザの http://localhost:1880.
エディタを開いたら、Nexmoノードをインストールする必要があります。インストールは パレットの管理メニューから node-red-contrib-nexmoパッケージを検索し、インストールをクリックします。

これで、画面の左側に、他のデフォルト・ノードに混じって、すべてのNexmoノードが表示されるはずです。
Node-REDでインバウンドの電話を処理する
ローカルサーバーをインターネットに公開する
まず、Nexmoがアクセスできるように、ローカルサーバーをインターネットに公開する必要があります。Node-REDをローカルマシンではなく、パブリックなウェブサーバー上で動作させている場合は、この段階を省略することができます。
そうでなければ、次のようなトンネリングサービスを使うのが便利だ。 ngrok.
ダウンロードをダウンロードし ngrokをダウンロードし、ターミナルで実行して、ポート 1880.
表示されたURLに移動し、Node-REDエディターを探します。

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認証情報が含まれているからです。

次に、バーチャル・ナンバーをこのアプリケーションにリンクさせる必要がある。
Nexmoダッシュボードで、作成したVoice Applicationsを検索します。 ボイス> アプリケーション.
このアプリケーションの名前をクリックし、その下にある Numbersタブをクリックし リンクボタンをクリックしてください。
または、使用したい電話番号がすでに他のアプリにリンクされている場合は、以下をクリックする。 番号の管理をクリックし、着信をあなたのアプリに転送するように設定します。

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を選択することもできます。 音声合成ガイドを参照してください。

イベントURLのハンドラを設定する
入力ノードを http入力ノードを http responseノードに接続します。 debugノードに接続する。
入力ノードで http入力ノードで POSTを Methodとして選択し URLフィールドに /event.
ノードは http responseノードには 200として設定されていなければならない。 Status codeに設定されているはずだが、これはデフォルト値でもあるので心配はいらない。
今すぐ デプロイをクリックし、バーチャル番号に電話をかけ、デバッグ・サイドバーで通話の流れを確認する。

次のステップ
このチュートリアルでは、発信者に音声合成メッセージを再生する方法を学びました。似たような方法で、音声ファイルを再生したり、電話を電話番号に転送することもできます。さらに、会話を録音したり、カスタムボイスメールを設定したりすることもできます。その方法をご紹介します!
リソース
詳細 Voice API
をチェックしてください。 NCCOリファレンスをご覧ください。
詳しく見る ノードレッド