通話フロー

概要

音声による対話はすべて通話から始まる。このガイドでは、さまざまなシナリオで通話がどのように処理されるかについて説明する。

インバウンド 通話は以下のいずれかの方法でVonageプラットフォームに発信されます:

  • への Vonage番号 普通の電話から、
  • への SIPドメイン PBXまたはSIP対応ソフトウェア/ハードウェアからアプリケーションに割り当てられる、
  • を使用して、クライアント・アプリケーションから Client SDK.

アウトバウンド コールとは、Vonageプラットフォームから次のようなコールです。

  • 普通の電話番号、
  • SIPエンドポイント、
  • クライアントアプリケーション、または
  • ウェブソケット サーバーを使用する。

アウトバウンドコールは通常、新規コールを作成するためのREST API経由のリクエストに応答して開始される。アウトバウンドコールは、既存のコール(インバウンドまたはアウトバウンド)のコールフロー内で connect の中でアクションを起こす。 エヌシーシーオー.このシナリオは、一般的に電話を転送するために使用されます。

コールの流れには2つのタイプがある:

以下の両コンセプトを参照のこと。 スイッチング オンとオフをシームレスにつなぐ。

スクリプト・コール

インバウンドコールもアウトバウンドコールも、いったん応答すると、最初は同じ コールフローに従う。このコールフローは、NCCOによって制御される。NCCOは、呼のコンテキスト内で実行されるアクションのスクリプトである。アクションは、スクリプトに表示された順番に実行され、前のアクショ ンの実行が終了すると、次のアクションが開始される。NCCOの詳細については NCCOリファレンス.

Vonage APIプラットフォームは、お客様のVonage番号でコールを受信すると、以下のHTTPリクエストを行います。 answer_url を提供する。インバウンドコールでは answer_url が設定されています。 音声アプリケーション.アウトバウンドコールでは answer_url を呼び出している。

ApplicationVonageUserApplicationVonageUserinbound callanswer URLNCCONCCO action

Inbound call

を提供する代わりに、コールを作成するために送信するリクエストの一部として、NCCOを提供することを選択できる。 answer_url.これは ncco 属性をリクエストのNCCOオブジェクトに追加する。

ApplicationVonageUserApplicationVonageUserNCCOPOST /callsoutbound callNCCO action

Outbound call with embedded NCCO

通話中、Vonageは以下のアプリケーションにコールバックのリクエストを行っている。 event_urlアプリケーション・コンフィギュレーションまたは NCCO アクション(NCCO で提供されている場合)で設定します。コールバックには2つのタイプがあります:

  • 例えば、通話ステータスの変更などである;
  • 指示のリクエストは、例えば input または notify コールバック - これらのイベントに対して、Vonageはアプリケーションが処理のために新しいNCCOを提供することを期待します。

正常に確立された通話は、以下の状態を通過する:

  • started
  • ringing
  • answered
  • completed

Vonageプラットフォームは、各ステータスごとに対応するイベントコールバックを送信します。詳細は Webhooksリファレンス.

NCCOとwebhooksは、ユーザーへの一連のメッセージと質問として、通話をスクリプト化することができる。 音声通知, アイビーアール, 音声アシスタント などのシナリオを、あらかじめ定義された可能性のあるイベントのリストとともに作成することができます。NCCOでは、アプリケーションはVonageプラットフォームに音声メッセージ(音声合成 または 録音済みを使用する)。 DTMF または スピーチ.ユーザーがメニューを選択すると、アプリケーションにその旨が通知され、NCCOの形式で新しい通話指示を提供することで、通話を適切に誘導することができます。

ApplicationVonageUserApplicationVonageUsertalk...inputinbound callanswer URLNCCONCCO action 1: talkNCCO action N: inputinputevent URLanalyse inputNCCONCCO action

Typical IVR flow

ライブ対談

例えば、あるシナリオでは 私的音声通信 ユースケースでは、ライブ会話を確立するために、2人以上の参加者を接続します。インバウンドまたはアウトバウンドの各通話は、舞台裏で自動的に新しい会話に追加されます。NCCOを使用して別の通話に接続するには、アプリケーションは次のいずれかを実行します。

  • で新しいアウトバウンドコールを作成する。 connect アクションを実行すると、自動的に同じ会話に参加します;

  • を使って、既存の(または新しい)名前付き会話にコールを移動します。 conversation アクションだ。

会話中、通話は一連のアクションに従わなくなり、2人以上のメンバ ーによるライブの対話になる。会話中に通話を制御するには、たとえばメンバーをミュート/アンミュートするには、 アプリケーションで REST API.

User 2ApplicationVonageUser 1User 2ApplicationVonageUser 1connectConversation startsinbound callanswer URLNCCOoutbound callPUT /calls/idmodify call

Live conversation flow

のシーケンスを使用する。 connect アクションを実行すると、アプリケーションは会話に他のメンバーを追加することができます(会話参加者は合計50人まで)。

あらゆるタイプの音声エンドポイントが connect アクションでは、2番目のメンバーは必ずしも人間とは限らない。 ウェブソケット コネクションがある。

スクリプト通話とライブ会話の切り替え

IVRには通常、ライブエージェント、営業担当者、サポート担当者と話すための1つまたは複数のオプションがあります。また、場合によっては、ライブ会話にスクリプトが含まれることもあります。例えば、顧客満足度調査などです。Voice APIは、コールフローが3つ(複雑な場合はそれ以上)の部分で構成されるように、1つの対話形式から別の形式への切り替えを可能にします:

  • 最初のIVRはNCCOとウェブフックで制御。 connect または conversation アクション

  • REST APIで制御する個人とのライブ会話(または多人数会議)。 PUT /calls/{id} によるREST API呼び出し transfer アクション

  • NCCOとの共同調査

AgentApplicationVonageUserAgentApplicationVonageUsertalkinputconversationconversationConversationtransfer: NCCOtalkinputtalkinbound callanswer URLNCCOquestionanswerinput callbackNCCOPOST /callsoutbound callhang upcompletedPUT /calls/idquestionanswerinput callbacksave resultNCCOmessageend call

Switching from scripted call to live conversation and back

上記のシナリオは典型的な例です。しかし、アプリケーションは、特定のユースケースに応じて、スクリプト化された部分とライブの部分の任意の組み合わせを持つことができます。を参照してください。 コンタクトセンター拡張チュートリアル を参照して、説明したシナリオをステップ・バイ・ステップで実行する方法を学んでください。