カスタム SIP ヘッダーの追加と REFER サポート
カスタム SIP X ヘッダーを使用して SIP 要求で渡される情報量を増やし、SIP REFER を使用して切断をより適切に処理します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Foundations Edition または Agentforce 1 Edition が付属する Enterprise Edition、Unlimited Edition、および Developer Edition、および Salesforce Voice アドオン。 |
| 必要なユーザー権限 | |
|---|---|
| Flow Builder でフローを開く、編集または作成する | 「フローの管理」 |
開始する前に、SIP パートナーと連携して、フローで参照できる X ヘッダーまたはカスタムヘッダーが SIP 要求に含まれていることを確認します。SIP REFER を使用するには、パートナーが切断でこのプロトコルをサポートしていることを確認します。
まず、着信通話でカスタム SIP ヘッダーを取得し、顧客のインテント、言語設定、認証情報など、豊富なコンテキスト データを Agentforce Voice に渡す設定を有効にします。担当者にエスカレーションするときに切断を処理するには、エスカレーションフローで切断方法を [SIP REFER] に設定します。エージェントの自動切断や顧客の応答がないためのエージェントセッションの終了など、エスカレーション以外の切断種別を処理するには、代替フローで切断方法を [SIP REFER] に設定します。どちらの切断シナリオでも、セッションボーダーコントローラー (SBC) またはテレフォニープラットフォームは Refer To URI 応答ヘッダーを使用してコールを URI にリダイレクトします。必要に応じて、切断方法を SIP BYE に設定することもできます。
カスタムヘッダーおよび SIP REFER に関する考慮事項
- カスタム X ヘッダー値の最大長は 255 です。 この制限は、X-SF-Token などの X-SF ヘッダーには適用されません。
- カスタム SIP ヘッダーの最大数は、音声通話セッションデータ オブジェクトのオブジェクトごとに許可されるカスタム フィールドの制限に基づきます。標準項目と X-SF ヘッダーはこの制限に含まれません。
- Salesforce は、SIP INVITE で送信されたヘッダー値を受信し、応答で返します。応答値が異なるようにフローのヘッダー値を更新できます。ヘッダーを返さない場合は、項目値を null に設定します。
- SIP REFER を使用する場合、VoiceCallSessionData オブジェクトで Refer to URI 値を設定する必要があります。
[カスタム SIP ヘッダーと REFER サポートを含める] 設定の有効化
- [設定] から、[クイック検索] ボックスに「Agentforce Voice」と入力し、[Agentforce Voice 設定] を選択します。
- Agentforce Voice の [設定] ページの [設定ステップ] で、[SIP/動的ルーティング] タブを選択します。
-
[Include Custom SIP Headers and REFER Support (カスタム SIP ヘッダーと REFER サポートを含める)] を有効にします。
設定は 5 ~ 10 分以内に有効になります。
音声通話セッションデータのカスタム項目の作成
必要に応じて、REFER または BYE 要求でカスタムヘッダーを送信するには、音声通話セッションデータオブジェクトでカスタム項目を作成します。Salesforce は、音声通話セッションデータの標準項目とカスタム項目値を要求の SIP ヘッダーとして渡します。カスタム項目の場合、
X_Account_ID__cヘッダーとして X-Account-ID になり、アンダースコアがハイフンに置き換えられます。詳細は、「カスタム項目の作成」を参照してください。
X-SF-Token などの X-SF ヘッダーを送信したり、音声通話セッションデータオブジェクトの標準フィールドをヘッダーとして送信したりするためのカスタム フィールドを作成する必要はありません。
エスカレーションフローの編集
エージェントの会話を別の宛先 (サービス担当者、キュー、別のエージェントなど) に転送する送信オムニチャネルフローを編集します。このフローを使用して、SIP 要求で送信する切断のプロトコルとカスタムヘッダーを選択します。
- [設定] の [クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
- Flow Builder でエスカレーションフローを開くには、フローを選択します。
- フローに音声通話レコード ID を保存する recordId 入力変数があることを確認します。 データ型は Text で、変数は Available for input です。この変数が存在しない場合は作成します。
-
必要に応じて、[レコードを取得] 要素を追加して、次のステップで SIP REFER 要求で使用する音声通話レコードからデータを取得します。
たとえば、[SIP Referred By Info (SIP 紹介者情報)] 値で使用する変数に [電話番号へ] 値を保存します。
-
セッションの音声通話セッションデータレコードの項目を更新するには、[レコードを更新] 要素を追加します。各音声通話セッションデータレコードには、カスタム SIP ヘッダーなどのセッションメタデータが一時的に保存されます。
- [更新するレコードを検索してその値を設定する方法] で [レコードを識別する条件を指定し、項目を個別に設定] を選択します。
- [オブジェクト] で、[音声通話セッションデータ] を選択します。
- [レコードを更新する条件の要件] で、[すべての条件に一致 (AND) 音声通話 ID 次の文字列と一致する recordId] を指定します。
-
エージェントから別の宛先へのエスカレーションに失敗した状況で SIP REFER を使用して切断を処理するには、[SIP Disconnect Method (SIP 切断方法)] フィールドを SIP_REFER に設定します。[SIP Refer to URI (SIP 参照 URI)] 項目を、コールの送信先となる任意の SIP Refer URI 値に設定します。また、[SIP Referred By Info (SIP 紹介者情報)] 項目を設定して、通話転送を開始したユーザーまたはエンティティを識別することもお勧めします。代わりに SIP BYE を使用してエスカレーション中の切断を処理するには、[SIP Disconnect Method (SIP 切断方法)] をデフォルト値の SIP_BYE のままにします。
使用可能なフィールドの詳細については、VoiceCallSessionData を参照してください。
-
必要に応じて、カスタムヘッダーを設定するか、ヘッダー値を更新して、REFER または BYE 要求で情報を SBC またはテレフォニープラットフォームに送信します。
Salesforce は、音声通話セッションデータ項目値を要求の SIP ヘッダーとして渡します。カスタム項目の場合、
X_Account_ID__cはヘッダーとしてX-Account-IDになります。ヘッダーが要求に含まれないようにするには、項目値を null (空白) に設定します。
代替フローの作成
エージェントと顧客間の通話が切断される状況 (顧客が長時間通話しなくなった場合 (セマンティック切断)、エージェントが問題のためにセッションを突然終了した場合、エスカレーション中に切断された場合など) を処理するには、代替自動起動フローを作成します。このフローを使用して、切断時に送信する SIP プロトコルとカスタムヘッダーを選択します。
- [設定] の [クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
- [新規フロー] をクリックし、自動起動フローを作成します。追加のルーティングを回避するため、このステップではオムニチャネルフローを使用しないでください。
- 音声通話レコード ID を保存する入力変数を作成します。 変数に「recordId」という名前を付け、データ型を「Text」に設定し、[Available for input] を選択して、[完了] をクリックします。
-
[レコードを更新] 要素を追加して、音声通話セッションデータ項目を更新します。
- [更新するレコードを検索してその値を設定する方法] で [レコードを識別する条件を指定し、項目を個別に設定] を選択します。
- [オブジェクト] で、[音声通話セッションデータ] を選択します。
- [レコードを更新する条件の要件] で、[すべての条件に一致 (AND) 音声通話 ID 次の文字列と一致する recordId] を指定します。
-
SIP REFER を使用して切断を処理するには、[SIP Disconnect Method] フィールドを SIP_REFER に設定します。[SIP Refer to URI (SIP 参照 URI)] 項目を、コールの送信先となる任意の SIP Refer URI 値に設定します。また、[SIP Referred By Info (SIP 紹介者情報)] 項目を設定して、通話転送を開始したユーザーまたはエンティティを識別することもお勧めします。代わりに SIP BYE を使用してエスカレーション中の切断を処理するには、[SIP Disconnect Method (SIP 切断方法)] をデフォルト値の SIP_BYE のままにします。
使用可能なフィールドの詳細については、VoiceCallSessionData を参照してください。
-
必要に応じて、カスタムヘッダーを設定するか、ヘッダー値を更新して、REFER または BYE 要求で情報を SBC またはテレフォニープラットフォームに送信します。
Salesforce は、音声通話セッションデータ項目値を要求の SIP ヘッダーとして渡します。カスタム項目の場合、
X_Account_ID__cはヘッダーとしてX-Account-IDになります。ヘッダーが含まれないようにするには、項目値を null (空白) に設定します。
受信フローの更新
代替自動起動フローを指定するには、エージェントの受信オムニチャネルフローを更新します。Salesforce は、音声通話セッションデータレコードの [代替フロー API 参照名] を使用して代替フローを識別します。
- [設定] の [クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
- Flow Builder で受信オムニチャネルフローを開くには、このフローを選択します。
-
[レコードを更新] 要素を追加して音声通話セッションデータを更新します。[代替フロー API 参照名] 項目を、以前に作成した代替フローの API 参照名に設定します。
代替フローを指定しない場合、切断時に Salesforce は切断方法として SIP_BYE を送信し、カスタムヘッダーは送信しません。
Sandbox で着信通話をテストしたら、この記事の手順を繰り返して設定を有効にし、本番でフローを設定します。
