コールルーティング
着信通話の転送方法は、通話ルーティング で管理できます。コール ルーティングは、事前定義されたルートと設定可能なフェールオーバー戦略を使用して、信頼性、柔軟性、および最適化された発信者エクスペリエンスを確保します。
コール ルーティングは事前定義されたルートで動作し、各ルートには最大 10 個の接続先 を含めることができ、コール接続が成功するまで順番に試行されます。
コール ルーティングでは、実行するルートを選択するための 2 つの方法がサポートされています。
- 静的ルーティング: 固定ルートは、各受信番号または送信元に割り当てられます。その番号で受信されたすべてのコールは、常に同じ事前定義された宛先のシーケンスに従います。
- 動的ルーティング: ルートは、発信元の発信元やその他の通話属性など、構成可能なフィルターに基づいて決定されます。コールを受信すると、システムはフィルタを評価し、定義された基準に最も一致するルートを選択します。
コール ルーティングは、次の着信トラフィックでトリガーできます。
ルートの宛先には、次のタイプがあります。
エントリの種類 | 定義 |
---|---|
一口 | お使いのアカウントで既に作成している事前定義されたSIPトランク |
電話 | Infobipのグローバルネットワークを介して到達できる固定電話番号または携帯電話番号 |
WEBRTCの | WebRTCアプリケーションからのユーザー ID |
WEBSOCKETの | WebSocket メディア ストリーミング構成 |
ワッツアップ | WhatsApp Business Calling で呼び出される WhatsApp エンドユーザーの MSISDN (電話番号) |
VIBER(バイバー) | Viber Business Callsで呼び出されるViberエンドユーザーのMSISDN (電話番号) |
URL | バックエンド アプリケーションによって公開され、動的ルーティング シナリオをサポートする Webhook |
ルートの作成
ルートは、Infobip Web インターフェイスから Voice チャネル アプリケーションのコール ルーティングを使用するか、 コール ルーティング API を使用して (opens in a new tab)作成できます。
ルート定義には、次のものが含まれます。
- 1 から 10 の目的地、それぞれの優先度、およびオプションの重量と目的地のパラメーター。
- (オプション) 受信トラフィックのフィルター条件。
ルートが作成されると、ルートの優先度が割り当てられます。作成された最初のルートには1
の優先度が与えられ、後続の各ルートには1
ずつ増加する優先度が与えられます。ルートの優先順位は、コール ルーティング ユーザー インターフェイスまたはコール ルーティング API を使用して変更できます。
フィルタ条件とルートの優先順位の詳細については、「フィルタベースのルート選択」セクションを参照してください。
送信先の優先順位と重み
ルート上の各エントリまたは目的地には、1
(最高) から 100
(最低) までの値で 優先度 を割り当てる必要があります。実装に最も適した方法で優先順位を設定できます。ルートが実行されると、エントリは優先度に従って評価されます。
同じ 優先度 を共有するルート内のエントリには、重み を割り当てる必要があります。
-
重み は、同じ優先度を持つ各ルートエントリへの負荷のシェアを決定するために使用されます。
-
優先度 は、ハント シーケンスを定義するために使用されます。
送信先の詳細
ルートの送信先タイプごとに、異なる結果を生成するオプションの要素を定義できます。次の表に、結果に影響するパラメーター設定を示します。
送信先の種類 | パラメーター | 影響 |
---|---|---|
SIP | username |
|
timeOut |
| |
PHONE | phoneNumber |
|
timeOut |
| |
WEBRTC | identity |
|
displayName |
| |
WEBSOCKET | endpoint configuration |
|
phoneNumber |
| |
from |
| |
VIBER | phoneNumber |
|
from |
| |
URL | url |
|
securityConfig |
|
レコーディングの有効化
ルートのエントリーごとに、その結果として生まれる会話の音声を録音することを選択できます。
レコーディングは次のいずれかになります:
- 作曲済み (すべての参加者のオーディオをミックスした 1 つのオーディオ ファイル)、または
- 作曲なし (通話の参加者ごとに 1 つのオーディオ ファイル)。
録画をクラウドストレージではなく独自のSFTPサーバーにオプトインする場合は、filePrefix
にオプションのテキスト文字列を指定できます。このテキスト文字列は、サーバーにプッシュされる zip ファイル名で使用されます。
許可された時間枠
許可された時間枠 を使用して、ルートの宛先がコール ルーティングの対象となるタイミングを制御します。この機能により、コールフローを正確に制御し、コールが曜日と特定の時間の両方に基づいてルーティングされるようにします。この機能の使用例は次のとおりです。
- 営業時間ルーティング: 通話が営業時間内にのみオフィス番号にルーティングされ、営業時間外にボイスメールまたは代替宛先にリダイレクトされるようにします。
- 特別なイベント処理:イベント時間中にのみ特別なイベントホットラインに通話をルーティングします。
- グローバル運用: 統一性を維持するために、UTC 時間を使用して、異なるタイム ゾーンのグローバル オフィスのコール ルーティングを管理します。
ルート内の送信先ごとに、管理者は 1つ以上の [Allowed Time Windows (許可された時間枠)] を設定できます。これらの時間枠は、送信先がコールルーティングに有効な時期を決定します。複数の時間枠を 1つの送信先に割り当てることができます。例えば、送信先の可用性を下記のように構成できます:
- 月曜日から金曜日まで、午前8時から午後5時まで。
- 金曜日は午前8時から午後6時まで。
- 土曜日は午前9時から午後1時まで。
1つの送信先に複数の時間枠が定義されている場合、システムはこれらの時間枠の一貫性を自動的にチェックして、競合や重複を回避します。
コールによってルート実行がトリガーされると、システムは、ルート内の各宛先に対して定義された 許容タイム ウィンドウ に対して現在の時刻を評価します。
現在の時刻が接続先に定義された [許可された時間枠(Allowed Time Windows)] の範囲外の場合、その接続先はスキップされ、コールは次の適格な接続先にルーティングされます。
受信トラフィックのルート選択
コール ルーティングは、次の 2 つの方法で着信トラフィックに適用されるルートを決定します。
- 静的ダイヤルイン方式 (DID) ルート選択: 通話ルーティングは、指定された Infobip DID 番号の着信トラフィックに常に同じ指定ルートを適用します。
- フィルタ ベースのルート選択: 通話ルーティングは、フィルター条件に基づいて受信トラフィックに適用されるルートを選択します。
スタティック DID ルート選択
ルートは、Infobip DID ルートに静的に割り当てられます。この DID に到達するすべてのコールでは、常に同じ指定ルートが選択されます。
サポートされている DID または番号の種類は次のとおりです。
- Infobip、VLN、または音声対応の TFN。
- WhatsApp Business通話機能が有効になっているWhatsApp送信者。
- Viberの音声番号。
この設定は、 Web インターフェイス (opens in a new tab) または 音声番号設定 API (opens in a new tab) を使用して行うことができます。
Web インターフェイス (opens in a new tab)を使用して DID をセットアップするには、次の手順を実行します。
- アカウントにログインします。
- チャンネルと番号 > チャンネル > Voice と WebRTC に移動します。
- 取得した音声番号のいずれかをクリックします。すると、新しいタブが開き、その番号の音声構成設定が表示されます。
受信構成を次のように編集します:
- アクションの種類として [転送] から [コール ルーティング] を選択します。
- ドロップダウンリストから、この番号に割り当てるルートを選択します。
API 経由の受信呼び出しのルーティング アクションを設定するには、次の API メソッドを使用します。
- 購入した番号の
numberKey
を取得します。 List リソース (opens in a new tab) メソッドを使用して、この参照を取得できます。
NUMBER
タイプのリソースを一覧表示し、結果からnumberKey
を取得する必要があります。
- 以下を指定して、音声設定を作成します。
- 取得した
numberKey
。 - アクション・タイプ
FORWARD_TO_CALL_ROUTING
。 - この番号に割り当てるルートの
routeId
。
- 取得した
API メソッドは、Viber 音声番号や WhatsApp Business 通話が有効な送信者では機能しません。
フィルタベースのルート選択
フィルタを使用すると、これらの条件に一致するコールのみを評価することで、割り当てられたルートをさらに詳細にすることができます。フィルタ条件は、ルートの作成時にオプションで定義します。
さまざまな種類の受信トラフィックは、特定のフィルターを使用して管理できます。同じルートに複数のフィルターを定義すると、それらは論理的なOR
操作によってリンクされ、フィルターの条件のいずれかが満たされた場合にルートがトリガーされます。
PHONEフィルター
フィルターは、「開始」または「終了」のいずれか、または両方を使用して指定できます。from
とto
の両方の数値が指定されている場合、それらは論理的なAND
演算を使用して結合されます。
from
とto
の両方の数値に指定する値は、完全に定義された数値または正規表現にすることができます。例えば:
from
値が13124567890
のPHONE
フィルタを持つルートは、この正確な番号からコールを受信した場合にのみトリガーされます。from
値として^1(312|773|872)\d{5}90$
を持つPHONE
フィルタを持つルートは、シカゴのプレフィックスを持ち、数字90で終わる米国の番号からの着信コールに対してのみトリガーされます。
通話ルーティングでフィルターを使用する場合、Infobip DID に特定のルートを割り当てる必要がなくなりました。番号に 通話ルーティングに転送 アクションを割り当てると、システムはすべてのルート定義を評価します。一致するフィルターを持つ最初のルートがトリガーされます。
たとえば、Infobip 番号 13124567890
があるとします。シカゴの市外局番 (312、773、および 872) からの通話を 1 つの宛先にルーティングし、ネーパービルの市外局番 (630) からの通話を別の宛先にルーティングします。方法は次のとおりです。
From
フィルター^1(312|773|872).*
を使用してルートを作成し、ルート内の目的の目的地を設定します。From
フィルターを使用して 2 番目のルートを作成します:^1(630).*
ルートで目的の目的地を設定します。- ルートを指定せずに、Forward to Call Routing (コールルーティングへの転送) を
13124567890
に割り当てます。
着信コールが着信すると、コール ルーティングは発信者の番号に一致する最初のルート フィルタを自動的に適用します。
次の表は、正規表現を使用したPHONE
フィルタ定義の例をいくつか示しています。
目的 | 正規表現 | 正規表現の説明 |
---|---|---|
英国の番号から着信するすべてのコールに対してルートをトリガーします。 | 差出人番号に次の正規表現を設定します: ^44\d{10}$ |
|
シカゴの発信者からの着信コールに対してこのルートをトリガーします。 | 開始番号に次の正規表現を設定します: ^1(312|773|872)\d{7}$ |
|
NTT CPaaSを通じて登録した米国のフリーダイヤル番号に着信するインバウンドコールに対して、このルートをトリガーしたい場合 | To 番号に次の正規表現を設定します:^1(800|888|877|866|855|844|833)\d{7}$ | 上記と同じ構造の説明を使用します。 |
このルートを、どこから発信されたかを問わず、番号「1234」のシーケンスを含むすべてのインバウンドコールに対してトリガーしたい場合 | 「from」番号に次の正規表現を設定します: ^\d*1234\d*$ |
|
SIPフィルター
このフィルターを使えば、インバウンドのSession Initiation Protocol (SIP)トラフィックに基づいてルートをアクティブ化できます。SIPフィルターは、以下に基づいて定義できます:
- トラフィックの送信元のトランクの参照:指定されたトランクから送信されるすべてのトラフィックで、この正確なルートをトリガーする必要があります。特定の SIP トランクが指定されていない場合、アクティブな SIP トランクからの着信 SIP トラフィックに対してフィルタがアクティブになります。
from
フィールドの値。to
フィールドの値。- 指定されたカスタムヘッダーの値。
ヘッダー名は完全に指定する必要があり、ヘッダー値には正規表現を含めることができます。
次の表は、正規表現を使用した SIP フィルタの例を示しています。
正規表現 | 目的 | 正規表現の説明 |
---|---|---|
「宛先」/「差出人」フィルター条件 | 上記の電話フィルターの例と同様です。 備考 これらの値の一部は、特定の ユーザー名 (たとえば、 | |
Header value - ヘッダー X-IB-AGENTCONTEXT に sales が含まれている場合に、このルートをアクティブにします。 | ヘッダー値フィルターを .*sales.* に設定します。 |
|
Header value - ヘッダー X-IB-WHATEVER が xyz で始まり 001 で終わる場合、このルートをアクティブにします。 | ヘッダー値を ^xyz.*001$ に設定します。 |
|
WEBRTCフィルター
このフィルターは、Web リアルタイム通信 (WebRTC) から発信されたトラフィックのルート実行をトリガーします。WebRTCクライアントアプリケーションでは、CALL_ROUTING
アプリケーションに対してapplicationCall
を行う必要があります。オプションで、from パラメーター ([コール ルーティング API](チャネル/音声/ルーティング/作成コール ルート)を使用している場合は 'ID') の値 (完全または正規表現) を設定でき、これは、その特定の WebRTC ID からの呼び出しに対してのみルートがトリガーされることを意味します。
ルート優先度の影響
複数のルートに着信トラフィックに一致するフィルタがある場合、コール ルーティングは優先度番号が最も小さいルートを選択します(1 が選択優先度が高い)。
ルート実行
ルート内の送信先は、そこに正常に接続できるようになるまで、または送信先リストの末尾に達するまで、優先度と重みに基づいて順番に試行されます。
ルートの実行は、エラー状態とタイムアウトに基づいて、ある送信先から次の送信先に進みます。
SIPトランクの送信先
次の表は、UDPとTLS 両方のSIPトランクでルートの進行がどのように処理されるかをまとめたものです。
SIP トランクの宛先がAdministrative Down
ステータスの場合、またはアウトオブサービスと見なされる場合(トランクが SIP OPTIONS を使用するように設定され、SIP OPTIONS ポーリングによってトランクがアウトオブサービスであると判断された場合)は、ただちにスキップされます。
トランスポートの種類 | エンドユーザーの状態 | SIP OPTIONSが有効 | 再ルーティング遅延 | トランクがサービス停止状態にあると見なす期間 |
---|---|---|---|---|
UDP | SIPトランクが到達可能 | 偽 | N/A | N/A |
UDP | SIPトランクが到達不能 | 偽 | コールごとに4秒 | 一度もない |
UDP | SIPトランクが到達不能 | 真 | コールごとに4秒 |
|
UDP | SIPトランクが到達不能 | 真 | 0秒 | N/A |
TLS | SIPトランクが到達不能 | 偽 | N/A | N/A |
TLS | SIPトランクが到達不能 | 偽 | コールごとに4秒 | 一度もない |
TLS | SIPトランクが到達不能 | 真 | コールごとに4秒 |
|
TLS | SIPトランクが到達不能 | 真 | 0秒 | N/A |
送信先のタイムアウト
宛先を SIP トランク、PHONE 番号、または WebRTC ユーザーに設定する場合、その宛先でタイムアウトを定義できます。このパラメータは、到達可能な宛先に対してのみ作用するため、接続タイムアウト ではなく、応答タイムアウト として理解する必要があります。
例として、タイムアウトが15秒に設定されたSIPトランクの送信先について考えてみます。
- トランクに到達できない場合(SIP トランクの宛先 を参照)、タイムアウトは効果がなく、ルートが実行され、プライオリティと重みに基づいて次の宛先に進みます。
- トランクに到達でき、SIP INVITEに応答する場合、コールに応答しない場合、ルートの実行は15秒後に進みます。
SIP REFERによる再ルーティング
コール ルーティングは、SIP REFER メソッドを使用したアクティブな接続コールの動的再ルーティングをサポートします。この機能は、最初の発信者を切断せずに新しい宛先にコールを転送する必要がある場合に便利です。
一般的なフローは次のとおりです:
- Infobip 番号 (パーティ A) で着信コールが受信され、コール ルーティングで事前定義されたルートがトリガーされます。
- このルートは、ルートの宛先リスト(パーティ B)で指定された SIP トランクを介して、着信コールを発信コールにブリッジします。
- 通話中の任意の時点で、セッションを終了する代わりに、リモート SIP ユーザー エージェント (パーティ B) は、新しい宛先 (パーティ C) を指定して、Infobip への SIP REFER 要求を開始できます。
- コール ルーティングは、元の着信コールを維持し、新しく要求された宛先(通話者 C)にシームレスにブリッジして、通信が中断されないようにします。
この再ルーティング機能により、元のコール レッグをアクティブに保ちながら、発信者を別の部門、エージェント、または外線番号に転送するなど、柔軟なコール処理シナリオが可能になります。
- SIP REFER 要求は、B パーティから発信され、B パーティが SIP トランキングを介して接続されている場合にのみ受け入れられ、処理されます。
- 通話者 B が SIP REFER を開始してコールを C 通話者に転送すると、C 通話者が接続された後も、通話者 B の通話レッグはアクティブなままになります。必要に応じて、SIP ユーザー エージェントが B パーティ コール レッグを終了するようにするのは、ユーザーの責任です。
- C パーティがコールを拒否するか、到達できない場合、すべてのコール レッグ(A、B、C)は終了し、元の A パーティと B パーティは接続されたままになりません。
コール ルーティングは、SIP REFER メッセージを受信すると、条件タイプがSIP
に設定されたフィルタを持つルートのみを考慮します。このフィルタで指定されるTo
値は、SIP REFER で要求された新しい宛先と一致する必要があります。
(オプション) フィルタ定義に特定の SIP トランク ID を設定して、実行ロジックをさらに絞り込むことができます。
コール履歴の取得
コールログは、コールルーティングによって処理されたすべてのコールレッグに対して作成されます。
- 着信コール レッグ。
- コール ルーティングがブリッジを試みる各発信コール レッグ(無効状態の SIP トランク接続先を除く)。
正常にブリッジされたコール レッグのログ エントリは、共有された同一の 相関識別子 によって照合できます。
詳細レポートの取得
詳細なコール ルーティング レポートを取得するには、次の手順を実行します。
- アカウントにログインし (opens in a new tab)ます。
- Analyze > レポート (opens in a new tab) に移動します。
Infobip では、通話の方向、期間、請求期間、通話料金など、通話に関するすべての詳細を含む新しい 詳細レポート をリクエストすることをお勧めします。詳細レポートには、SIP トランク名、SIP トランク ID、相関識別子、およびdialogId
も含まれます。
ダウンロードしたら、CALL_ROUTING
の「機能」列をフィルタリングします。
NTT CPaaS レポートの使用方法の詳細については、Analyze Reports (レポートの分析) セクションをご参照ください。
コールルーティングの録音へのアクセス
コール ルーティングによって実行される録音には、API または Infobip Web インターフェイス (opens in a new tab)からアクセスできます。
Infobip Web インターフェイス (opens in a new tab)から通話ルーティングの録音を検索してダウンロードするには、次の手順を実行します。
- Voice チャンネルアプリケーションの下の[録音]タブに移動します。
- サブナビゲーションバーで Call Routing (コールルーティング) を選択します。
- 記録エントリを展開し、関連ファイル(作成済みまたは非作成済み)のリストを確認します。
- 利用可能なファイルをクラウドストレージからダウンロードし、関連するメタデータJSONファイルをダウンロードします。
コールルーティングの録音は、ルート、参加者タイプ、またはID(ユーザー名や電話番号など)で検索できます。