https://d226lax1qjow5r.cloudfront.net/blog/blogposts/voice-proxy-node-javascript-express-dr/anonymous-voice-proxy-featured-image.png

Expressで音声通話を匿名でプロキシ

最終更新日 May 20, 2021

所要時間:2 分

タクシーを降りて数分後、傘を置き忘れたことに気づく。あるいは、お腹が空いていて、車が通り過ぎる音がするたびに窓の外を見つめ、1時間前に注文した出前はどこにあるのだろうと思っている。

Girl waiting on delivery

もしかしたらその逆かもしれない。配達のために住所までの道順が必要なのかもしれない。

このような状況では、相手に電話をかける必要があるが、知らない人に自分の電話番号を教えたくはないだろう。そこで、代わりに バーチャル番号を使うことができる。

バーチャル番号のレンタル

このチュートリアルでは Vonage CLIを使用してバーチャルナンバーをレンタルしますが、Vonageのダッシュボードを使用してナンバーとボイスアプリケーションを管理することもできます。 Vonageダッシュボードで番号と音声アプリケーションを管理することもできます。まだインストールしていない場合は、以下の手順でインストールできます。 npm/yarn を使って Vonage CLI をインストールする。.完全な手順は Githubリポジトリ.

この記事を書いている時点では、85カ国でバーチャル・ナンバーを借りることができる。ここではGB(グレートブリテン)を例にしています。 国と料金の完全なリストは、当社の料金ページでご覧いただけます。.

vonage numbers:search GB vonage numbers:buy [NUMBER] [COUNTRYCODE]

音声プロキシサーバーの作成

現在、私たちがレンタルしたバーチャル番号に電話をかけても、何も起こりません。

Man on the phone

バーチャルナンバーをアプリケーションに関連付けなければなりません。複数の番号を同じ音声アプリケーションに関連付けることができるため、複数の番号を持つことができます。

この例では、NodeとExpressを使ってバックエンドを作成し、それを グリッチ.コードは Githubでコードを見るまたは Glitchで直接リミックスすることもできる。.

Remix on Glitch

私たちのExpressサーバーのエンドポイントは1つで、次のようになっている:

    app.get("/", (request, response) => {
        response.json([
            {
                "action": "connect",
                "eventUrl": [`${process.env.EVENTS_URL}`],
                "from": `${process.env.FROM_NUMBER}`,
                "endpoint": [
                    {
                        "type": "phone",
                        "number": `${process.env.TO_NUMBER}`
                    }
                ]
            }
        ])
    })

上で定義したルートは NCCO (Call Control Object)これは、インバウンドコールまたはアウトバウンドコールに誰かが応答したときに、Vonage APIに指示を提供するために使用されるJSONファイルです。NCCOは多くの異なるタイプのアクションを含むことができます。利用可能なアクションは 開発者向けドキュメントで利用可能なアクションをご覧ください。.

私たちのプロキシサーバーは、1つのアクションを必要とします。 connect.これによって、着信コールを別の電話番号、WebSocket、あるいはSIP URIなど、さまざまなエンドポイントにプロキシすることができる。上の例では、別の電話番号に接続している。

アクションの条件のひとつは connectアクションの要件のひとつは process.env.FROM_NUMBER Vonageバーチャルナンバーであることです。このバーチャルナンバーは、あなたのコールの受信者が見るものです。上記で借りたのと同じバーチャル番号を使うことができます。そうすることで、発信者と着信者は同じバーチャル番号を見ることができ、お互いの番号をプライベートに保つことができます。

アプリを アプリをリミックスするをリミックスする際には FROM_NUMBERTO_NUMBERを設定する必要があります。 .envファイルで設定する必要があります。これらの番号は E.164フォーマット.この例では EVENTS_URLこの例では使用していませんが、音声通話に関する分析を追跡する方法に興味がある場合は、当社のウェビナー "Vonageバーチャル番号とMixpanelによるインバウンドボイスコールキャンペーンのトラッキング"または ブログ記事.

仮想番号とプロキシサーバーのリンク

バーチャルナンバーをGlitchのプロキシサーバーにリンクするには、まず Vonageボイスアプリケーション.あなたは ボイスアプリケーションを作成し、Vonageのダッシュボードを使用して番号にリンクすることができます。または またはVonage CLI.

vonage apps:create "Application name" --voice_answer_url= --voice_event_url= vonage apps:link --number=

アプリケーション概要 アプリケーションの概要および Vonage CLI READMEapps:createおよび予想される引数の詳細が記載されています。

次はどこへ?

読む "プライベート音声通信「チュートリアルをお読みください。Kotlinでの プロキシサーバーの例については、私のウェビナー.あるいは Vonage Voice API でできることの詳細については私たちの 使用例または 開発者向けドキュメント.

シェア:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Aaron Bassettヴォネージの卒業生

アーロンはNexmoの開発者支持者だった。ベテランのソフトウェア・エンジニアであり、デジタル・アーティスト志望でもあるアーロンは、コードや電子機器、時にはその両方を使って何かを作っているところをよく見かける。彼が何か新しいことに取り組んでいるときは、空気中の部品が燃える匂いでわかるのが通例だ。