Forward(転送)機能は、IVRの実行中に着信コールを外部の電話番号へ転送するための強力なツールです。

技術的には、着信コールを別の番号に転送する「従来型」の転送とは異なる仕組みで動作します。LiveAgentのコールセンターが、発信者と転送先番号の間の橋渡し役として機能します。 発信者はLiveAgentコールセンターと連携した通常の番号に電話をかけます。その後、LiveAgentコールセンターが転送先番号へ発信します。発信が成功すると、2つの通話が接続されます。

この方式の転送により、LiveAgentはそのコールが実際に発生したことを把握でき、転送されたコールに対しても通常通りチケットが作成されます。通話録音が有効な場合、転送された通話の録音もチケット内で直接確認できます。転送が行われなかった場合とまったく同じように機能します。

この転送方式のデメリットとして、VoIPプロバイダーから以下の2通話分の料金が請求される可能性があります。

  1. VoIP電話番号への最初の着信コール
  2. VoIP電話番号から転送先外部番号への発信コール

IVRスクリプトにおけるforwardコマンドの基本的な構造は次のとおりです。

  - forward:
      number: "+421000000000"
      prefix: 88
      onError: offline

このコマンドには3つのパラメーターがあります。

  1. number: コールの転送先となる実際の電話番号です。電話番号の正確なフォーマットは、発信を行うVoIPプロバイダーの要件によって異なります。「+421」の代わりに「00421」や「421」形式を使用するプロバイダーもあります。番号フォーマットは、LiveAgentの管理パネル→「Configuration」(設定)→「Call」(コール)→「Numbers」(番号)タブで確認できます。番号全体は、上記の例のように引用符で囲む必要があります。
  2. prefix: 連携済みの電話番号のダイアルアウトプレフィックスです。転送先への発信に使用するLiveAgentの電話番号を指定します。ダイアルアウトプレフィックスも、LiveAgentの管理パネル→「Configuration」(設定)→「Call」(コール)→「Numbers」(番号)タブで確認できます。 詳細はこちらのガイドをご参照ください。
  3. onError: このフィールドはオプションです。コール転送が失敗した場合にIVRが次に進むセクションを指定できます。未定義の場合、転送失敗時のデフォルト動作はIVRのofflineセクションへの遷移となります。

使用例

以下の簡単な例では、2つの選択肢を持つIVRにおけるforwardコマンドの使用方法に注目します。1つ目の選択肢は「Sales department」(営業部門)で、エージェントが対応可能な場合はメッセージを再生してからエージェントへの着信呼び出しを開始します。しかし、営業部門にオンラインのエージェントがいない場合、発信者は外部番号「+421000000000」に転送されます。転送先への発信はダイアルアウトプレフィックス88の番号から行われます。転送が失敗した場合(誰も応答しない、転送先が話し中または接続不能の場合)、IVRはスクリプト内の選択肢の下に定義されたvoicemailセクションに進みます。

playコマンド内のファイルへのリンクは有効なものではなく、あくまで例示用です。実際のリンクは、独自の録音を追加・挿入すると自動的に生成されます。

start:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=connect-first-available-agent.mp3
  - choice:
      1:
        name: Sales department
        play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=press-one-for-sales.mp3
        do:
          - transfer:
              to: salesDepartmentID
              if:
                online:
                  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=connect-first-available-agent.mp3
                  - ring
                offline:
                 - forward:
                      number: "+421000000000"
                      prefix: 88
                      onError: voicemail
      2:
        name: Technical department
        play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=press-two-for-technical-support.mp3
        do:
          - transfer:
              to: techDepID
              if:
                online:
                  - ring
                offline:
                  - goto: voicemail
voicemail:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=leave-a-voicemail.mp3
  - voicemail
offline:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=we-are-currently-not-available-check-website.mp3
queue:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=next-in-queue.mp3

次の例では、コールを複数回転送しようとするユースケースを紹介します。IVRで最初の転送が失敗した場合にnext_forwardというセクションへ進むよう定義しています。このセクションでは別の外部番号への転送を再試行します。これにより、最初の番号への転送が失敗した場合のバックアップ番号を設定することができます。

online:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=connect-first-available-agent.mp3
  - ring
offline:
  - forward:
      number: "+421000000000"
      prefix: 04
      onError: next_forward
queue:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=/next-in-queue.mp3
next_forward:
  - forward:
      number: "+421111111111"
      prefix: 04
      onError: voicemail
voicemail:
  - play: https://mycompany.ladesk.com/scripts/file.php?view=Y&file=leave-a-voicemail.mp3
  - voicemail

ただし、技術的な制限があります。各着信コールの転送試行回数は最大3回までです。 そのため、IVRで設定できるのは最初の転送と2つのバックアップ転送までとなります。転送オプションが3つ以上定義されている場合や、IVRの転送設定にループが含まれている場合(例:2番目の番号が1番目のバックアップで、1番目が2番目のバックアップになっている場合)でも、転送の試行は3回のみです。4回目の転送は実行されず、IVRは終了してコールは切断されます。 これはIVRにおける無限ループを防ぐために意図的に実装されています。