고객 인터렉션 자동화에 관한 한, IVR 시스템은 조직을 위한 최선의 선택 중 하나로 증명되었습니다. 하지만 대화식 음성 응답(IVR) 시스템을 고객 서비스에 사용한다면, 이러한 두 가지 이슈를 마주할 확률은 꽤 잦습니다.

  • 비직관적 인터페이스: IVR 시스템은 고객에게 그들의 요구를 그저 말하도록 내버려 두지 않습니다. IVR 시스템은 사용자가 의도를 찾기 전에 선택할 수많은 메뉴 옵션을 거치도록 합니다. IVR 시스템이 사용자에게 먼저 그들의 의도를 표현하도록 할지라도, 백엔드 프로그램은 제한된 구절 수만 이해할 수 있습니다.
  • 스태틱 플로우: IVR 시스템은 인간 상호 작용의 비선형적이고 맥락적인 본성에 맞추지 않는 스태틱 호출 플로우를 사용합니다. 이어지는 항공권 티켓을 예약하려고 시도하는 고객의 예를 들어봅니다.
    사용자: NYC행 티켓을 예약해 줘. 
    IVR: 물론이죠, 일정은요? 
    사용자: 잠깐, 이번 주 일요일에 거기 비가 오나요? 
    IVR: 죄송합니다, 입력하신 것을 이해할 수 없습니다.

    기존의 IVR 시스템은 엄격한 프로그램 플로우를 넘어 사용자가 요청을 정확히 하기 위한 제한된 영역을 남겨두었습니다.

Kore.ai IVR 지원

Kore.ai로 IVR 시스템을 대화적으로 변모시킬 수 있습니다. 이는 인간과 같은 대화 역량을 가진 챗봇을 구축할 수 있도록 해주며 이를 기존의 IVR과 통합하여, 조직의 고객 서비스 경험을 완전히 새로운 수준으로 끌어올릴 수 있습니다. 다음 기능은 기존의 IVR과 Kore.ai 봇을 완벽하게 통합할 수 있도록 해줍니다.

  • 기본 VXML 지원: W3C 호환 VXML파일을 파싱하고 생성하기 위한 내장 지원입니다.
  • 하이브리드 통합: 사용 사례 또는 대화를 VR 대화와 동기화되어 작동할 수 있는 봇 플랫폼에서 유연하게 구축할 수 있습니다.
  • 담화 분석기: Kore.ai의 담화 분석기는 과거의 채팅 또는 통화 내용을 사용하여 엔터프라이즈의 대화 흐름 생성을 지원합니다. 채팅과 통화 내용은 의도와 특정 의도를 처리하기 위한 담화 패턴을 식별하기 위한 신경망 기반 머신 러닝 모델을 사용하여 분석됩니다. 이것은 베타 상태에 있는 특별한 기능입니다. 이 기능을 시도하길 원하시면 당사의 지원팀에 문의하세요.
  • 세분된 통화 흐름 지원: 문법, 프롬프트, 재시도 및 타임아웃 주기와 같은 모든 통화 흐름 요소를 정의하는 기능입니다. Kore.ai는 예외적인 경우 통화를 종료하거나 대화를 불러오도록 하는 통화 종료 처리기를 지원합니다.

설정하기

IVR 통합 설정은 다음 세 가지 단계를 포함합니다.

  1. 설정 봇 설정: IVR 설정 전사 옵션, 환영 메시지, 표준 응답 및 VXML 속성과 같은 IVR 설정을 정의합니다.
  2. 대화 정의: 노드 특정 문법, 프롬프트 및 타임아웃, 재시도 같은 통화 흐름 행동을 설정하여 대화를 정의합니다.
  3. 채널 설정: 권한 부여를 설정하고, IVR 시스템에서 WebHook을 설정하며 채널을 활성화합니다.

봇 설정

1단계: 봇 IVR 설정

통합의 첫 단계로서, 우선 봇 IVR 설정을 활성화하고 전사 옵션 및 VXML 속성을 정의할 필요가 있습니다. 이러한 설정은 봇의 기본값으로서 작동합니다. 대화 작업의 노드 수준에서 사용자 정의 값을 정의하여 봇 수준에서 정의된 VXML 속성을 재정의할 수 있습니다. 봇 IVR 설정 설정 방법

  1. IVR를 통합하고 싶은 봇을 엽니다.
  2. 상단 메뉴에서 배포 탭을 선택합니다.
  3. 왼쪽 메뉴에서 채널을 클릭합니다.
  4. IVR 음성 채널을 찾고 클릭합니다. 지시 사항이 있는 IVR 패널을 엽니다.
  5. 설정 탭에서,
    1. 봇을 테스트하기 위해 Kore.ai IVR 샌드박스를 사용할 수 있고, 자세한 내용은 아래를 참조하세요. IMP: IVR 설정 활성화를 하지 않고 앱을 연결한 후 설정을 저장하면 플랫폼은 샌드박스를 위해 필요한 설정을 미리 채웁니다.
    2. 앱과 IVR 채널 연결 – 새로 하나 생성하거나 기존의 것을 하나 선택합니다.
    3. 외부 애플리케이션에서 제공된 WebHook URL을 사용합니다.
  6. 음성 통화 속성 탭에서 설정을 설정합니다.

    활성화된 IVR 샌드박스를 보유하고 있는 경우, 플랫폼에 필요한 설정은 다음과 같습니다. 이러한 것들은 IVR 설정을 활성화하지 않는다면 미리 채워집니다. 설정을 활성화하면 값이 아래에 주어진 것과 같아야 하며, 사용자가 다른 값을 사용하면 샌드박스는 예상한 대로 응답하지 않을 것입니다. – 전사 활성화 설정을 로 설정, – 전사 엔진 소스를 builtin:speech/transcribe로 설정, – IVR 데이터 추출 키를 userinput으로 설정, – ASR 신뢰도 임곗값 키를 userinput.confidence로 설정, – ASR 신뢰도 임곗값을 50으로 설정

  7. (선택 사항) 외부 전사 엔진을 활성화하려면, 전사 활성화에서 를 선택합니다.
  8. IVR 채널을 활성화하면, IVR 설정을 위해 텔레포니 환영 이벤트를 설정하는 것이 좋습니다. 이것은 IVR 채널을 통해 사용자가 봇에 연결할 경우 환영 메시지를 재생합니다. 이를 위해 다음을 수행합니다.
    1. 구축 탭에서, 인텔리전스 -> 이벤트 설정 텔리포니 환영 이벤트를 선택합니다.
    2. 음성 통화 속성 사용 버튼을 클릭하여 음성 설정 섹션을 엽니다.
    3. 초기 프롬프트 텍스트 상자에서, 봇에 사용자가 연결할 경우 재생되어야 하는 메시지를 입력합니다.
    4. 기타 설정 필드에 관한 자세한 내용은 노드용 음성 호출 설정 구성하기 섹션을 참조하세요.

샌드박스 설정

참고: 이 옵션은 플랫폼의 v7.1에 도입되었습니다. 온프레미스 설치는 불가능합니다. Kore.ai는 IVR 샌드박스 환경을 제공하여 음성 통화를 하면서 인터렉션을 하기 위해 봇을 즉시 실행합니다. 이것은 작동하는 IVR 시스템이 음성 채널을 이용하여 봇을 테스트하는 데 알맞지 않거나 사용할 수 없을 때 특히 유용합니다 IVR 샌드박스는 선택적인 통합이며 사용자 정의 IVR 통합과 동시에 존재할 수 있습니다. 이 옵션을 활성화하여 전화번호, PIN, 시크릿을 받을 수 있습니다. 팀과 함께 봇을 개발하고 테스트하기 위해 봇에 할당된 전화번호와 PIN을 사용하여 봇을 호출할 수 있습니다 유효한 PIN과 시크릿을 받자마자 사용자는 인터렉션을 위해 봇과 연결됩니다. 일단 활성화되면 채널 페이지에서 IVR 아이콘으로 마우스를 이동하여 테스트 버튼을 선택해 IVR 샌드박스 인터렉션 상세 정보에 액세스할 수 있습니다. 제한

  • 플랫폼은 제한된 갯수의 동시 회선만 지원하므로 IVR 샌드박스를 통해 봇에 통신하면 가끔 응답이 없을 수도 있습니다.
  • IVR 샌드박스는 내부 테스트 목적으로만 사용하는 것을 강력히 권장드리며 기능적인 제한이 있을 수 있어 봇의 최종 사용자에게는 사용하지 않는 것이 좋습니다.

채널 설정

3단계: 봇 IVR 채널 설정

봇과 대화 수준 모두에서 IVR 설정을 설정한 후 봇에 대한 IVR 채널을 설정해야 합니다. IVR 채널은 포괄적인 통합을 제공하여 봇과 IVR 시스템을 연결합니다. Kore.ai 플랫폼은 IVR 시스템을 통해 최종 사용자와 봇 인터렉션의 일부로서 교환되어야 하는 필수 VXML파일을 생성합니다. IVR 채널 활성화 및 앱 연결 IVR에서 수신되는 응답을 인증하려면 Kore.ai 봇은 JWT 토큰이 필요합니다. JWT 토큰 생성의 경우, 봇과 앱을 연결해야 합니다. Kore.ai 계정에서 사용할 수 있는 기존 앱 중 선택하거나 새 앱을 생성할 수 있습니다.

  1. 봇의 탐색 패널 쪽에 마우스를 이동하여 채널을 클릭합니다.
  2. 채널 페이지에서 IVR을 클릭합니다. IVR 채널 지시 사항 페이지가 열립니다.
  3. 설정 탭을 클릭합니다.
  4. 앱 드롭다운 목록 선택에서 기존의 앱을 선택합니다. 연결할 봇이 없는 경우 추가를 클릭합니다.
  5. 다음 내용을 복사합니다.
    1. WebHook URL: IVR로부터 봇을 호출하기 위해서입니다.
    2. 클라이언트 시크릿: WebHook URL에 첨부되어야 하는 JWT 토큰을 생성하기 위해서입니다.
  6. 채널 활성화를 위해 를 선택합니다.

JWT 토큰 생성

  1. JWT 토큰을 받으려면 여기를 참조하세요, 여기를 클릭합니다.
  2. JWT는 쿼리 매개변수 "token"에 대한 값으로서 IVR hook URL에 전달되어야 합니다. https://bots.kore.ai/ivr/hooks/{{botId}}?token={{JWT}}토큰은 본문 매개 변수로서도 전달될 수 있습니다.

IVR 통화 흐름에서 봇 호출하기 아래 그림에 보여지는 대로 VXML <subdialog>를 사용하여 IVR 통화 흐름에서 봇에 데이터를 전달할 수 있습니다. Subdialog src는 JWT 토큰을 포함하는 Webhook URL이어야 합니다. JWT 토큰은 다음 매개 변수를 입력

  • 메시지로 사용합니다. 사용자의 메시지
  • 보내는 사람: 고유 사용자 신원 예: 전화번호
  • 받는 사람: 봇 스트림 ID

endOfConversation 변수는 하위 대화에서 반환된 데이터에서 처리되어야 합니다. 값이 참으로 설정되면 대화 실행(대화)가 완료되었다는 것을 나타냅니다. 사용자와의 통화를 종료하는 트리거 포인트가 될 수 있습니다.

顧客とのやり取りを自動化する上で、組織にとってIVRシステムが上位レベルの選択肢であることが証明されています。しかし、カスタマーサービスにIVR (Interactive Voice Response) システムを使用している場合、以下の2つの問題に頻繁に直面している可能性があります。

  • 非直感的なインターフェイス:IVRシステムは、顧客が必要なことを伝えるだけのものではありません。インテントを検出する前に、ユーザーは膨大な数のメニューの中から選択しなければなりません。最初にユーザーが意思表示をできるようにしたとしても、バックエンドのプログラムは限られた数のフレーズしか理解できません。
  • 静的フロー:IVRシステムは静的なコールフローを使用していますが、これは人間による対話の非線形性および文脈的性質とは一致しません。次の例では、お客様が航空券を予約しようとしています。
    ユーザー:NYC行きのチケットを予約してください。
    IVR:かしこまりました。日付を教えてください。
    ユーザー:現地での今週の日曜日の天気は雨ですか?
    IVR:すみません、入力内容が分かりません。

    従来のIVRシステムでは、ユーザーがプログラムの流れに沿って要望を伝える余地が限られていました。

Kore.ai IVRサポート

Kore.aiを使用すると、IVRシステムを会話型に変えることができます。人間味のある会話能力を持つチャットボットを構築し、既存のIVRシステムと連携させることで、組織のカスタマーサービス体験を新たなレベルに引き上げることができます。以下の機能により、お客様のKore.ai ボットと既存のIVRとのシームレスな連携が可能になります。

  • VXMLのネイティブサポート:W3C準拠のVXMLファイルを解析および生成する機能を内蔵。
  • ハイブリッド連携:ボットプラットフォーム上でユースケースやダイアログを構築し、IVRのダイアログと連動させることができる柔軟性があります。
  • 会話アナライザー:Kore.aiの会話アナライザーは、エンタープライズが過去のチャットや通話のトランスクリプトを使用して会話フローを生成するのに役立ちます。チャットや通話のトランスクリプトをニューラルネットワークベースの機械学習モデルを用いて分析し、特定のインテントを満たすためのインテントや会話パターンを識別します。この機能はベータ版のすぐに利用できる機能です。この機能を試してみたい方は、サポートチームまでお問い合わせください。
  • グラニュラーコールフローサポート:文法、プロンプト、リトライ、タイムアウト期間など、コールフローのすべての要素を定義する機能。Kore.aiは呼び出し終了ハンドラをサポートしており、例外が発生した場合に通話を終了したり、ダイアログを呼び出したりすることができます。

設定

IVR連携の設定は、以下の3つのステップで行います。

  1. ボットの設定トランスクリプションオプション、ウェルカムメッセージ、標準応答、VXMLプロパティなどのIVR設定を定義します。
  2. ダイアログの定義:ノード固有の文法、プロンプト、およびタイムアウトやリトライなどのコールフローの動作を設定することで、ダイアログを定義します。
  3. チャネルの設定:認証を設定し、IVRシステムにWebHookを設定し、チャネルを有効化します。

ボットの設定

ステップ 1:ボットのIVR設定

連携の最初のステップとして、まずボットのIVR設定を有効にし、トランスクリプションオプションおよびVXMLプロパティを定義する必要があります。これらの設定は、ボットのデフォルトとして機能します。ダイアログタスクのノードレベルでカスタム値を定義することで、ボットレベルで定義されたVXMLプロパティを上書きすることができます。ボットのIVR設定を行うには

  1. IVRを連携したいボットを開きます。
  2. トップメニューからデプロイタブを選択します。
  3. 左側のメニューから、チャンネルをクリックします
  4. IVR音声チャネルを見つけてクリックします。手順が記載されたIVRパネルが開きます。
  5. 設定タブから、
    1. ボットのテストにKore.ai IVRサンドボックスを使用することができます。詳細は以下をご確認くださいIMP:IVR設定を有効化せずにアプリを関連付けた後に設定を保存した場合、プラットフォームはサンドボックスに必要な設定を事前に入力します。
    2. 新しいアプリを作成するか、既存のアプリを選択して、アプリをIVRチャネルに関連付けます。
    3. 外部アプリケーションで提供されているWebHookのURLを使用します。
  6. 音声通話プロパティタブで各種構成を行います。

    IVRサンドボックスを有効化した場合、プラットフォームで以下の設定が必要となります。IVR設定が有効になっていない場合、これらは事前に入力されています。設定を有効にしている場合は、値が以下のものと同じであることをご確認ください。異なる値を使用すると、サンドボックスが期待通りに応答しない場合があります。- トランスクリプションの有効化をはいに設定 – トランスクリプションエンジンのソースをbuiltin:speech/transcribeに設定 – IVRデータ抽出キーをuserinputに設定 – ASR確信度しきい値をuserinput.confidenceに設定 – ASRしきい値確信度を50に設定

  7. (オプション)外部のトランスクリプションエンジンを有効にするには、トランスクリプションの有効化はいを選択します。
    • トランスクリプションエンジンを有効にすると、トランスクリプションエンジンのソースを入力するテキストボックスが表示されます。
      メモ:ボットプラットフォームは、UniMRCPでエンコードされた、音声・テキスト変換サービスに対応しています。ボットにトランスクリプションの有効化オプションを選択した場合のみ、プラットフォームでは、任意のノードのIVR設定(ステップ2で説明)の際に、文法を定義する必要がなくなります。

      文法構文の詳細設定についてはこちらをご確認ください

    • 詳細を入力して設定を完了します。詳細はこちらをご確認ください
  8. IVRチャネルを有効にしたら、IVR設定の通話ウェルカムイベントを設定することをお勧めします。これは、ユーザーがIVRチャネルを介してボットに接続した際に、ウェルカムメッセージを再生するものです。以下の手順に従います。
    1. ビルドタブで、インテリジェンス―>イベントテレフォニーウェルカムイベントの構成を選択します
    2. 音声通話プロパティを使用ボタンをクリックして、音声設定セクションを開きます。
    3. 初期プロンプトテキストボックスで、ユーザーがボットに接続する際に再生するメッセージを入力します。
    4. その他の設定フィールドの詳細については、ノードの音声通話プロパティの設定セクションを参照してください。

サンドボックスの設定

メモ:このオプションは、プラットフォームのバージョン7.1で導入されました。オンプレミスのインストールではご利用いただけません。Kore.aiは、IVRサンドボックス環境を提供しており、ボットを即座に起動して音声通話でやり取りをすることができます。これは、動作中のIVRシステムが実行不能である、あるいは音声チャネルを介したボットのテストに利用できない場合に特に有効です。IVRサンドボックスはオプションの連携であり、お客様のカスタムIVR連携と共存することができます。このオプションを有効にすると、電話番号、PIN、シークレットが表示されます。ボットに割り当てられた電話番号とPINを使用してボットを呼び出し、チームでボットの開発やテストを行うことができます。有効なPINとシークレットを受け取ると、やり取りを行うためにボットに接続されます。

有効化されると、チャネルページのIVRアイコンにカーソルを合わせてテストボタンを選択することで、IVRサンドボックスの対話の詳細にアクセスできるようになります。制限事項

  • このプラットフォームは限られた数の同時回線しかサポートしていないため、IVRサンドボックスを介したボットへの呼び出しに応答できない場合があります。
  • IVRサンドボックスは、機能制限がある場合があるため、社内でのテスト目的のみに使用し、ボットのエンドユーザーには使用しないことを強くお勧めします。

チャネル設定

ステップ3: ボット用IVRチャネルの設定

ボットとダイアログの両方のレベルでIVR設定を行った後、ボットにIVRチャネルを設定する必要があります。IVRチャネルは、基本的な連携によってボットとIVRシステムを接続します。Kore.aiプラットフォームは、IVRシステムを介したエンドユーザーとのボットのやり取りの一環として、必要なVXMLファイルを生成します。IVRチャネルの有効化とアプリの関連付け Kore.ai ボットは、IVRからの受信リクエストを認証するためにJWTトークンを必要とします。JWTトークンを生成するには、アプリをボットに関連付ける必要があります。Kore.aiのアカウントで利用可能な既存のアプリを選択するか、新しいアプリを作成することができます。

  1. ボットのサイドナビゲーションパネルにカーソルを合わせてチャネルをクリックします。
  2. チャネルページでIVRをクリックします。IVRチャネルの手順のページが開きます。
  3. 設定タブをクリックします。
  4. アプリを選択ドロップダウンリストから、既存のアプリを選択します。ボットを関連付けるアプリがない場合は、追加をクリックします。
  5. 以下をコピーします。
    1. WebhookのURL:IVRからボットを呼び出す場合。
    2. クライアントシークレット: WebHook URLに付加されるJWTトークンを生成します。
  6. チャネルの有効化ではいを選択します。

JWTトークンの生成

  1. JWTトークンの取得について参照するには、こちらをクリックしてください。
  2. JWTは、クエリパラメータ「トークン」の値としてIVRフックURLで渡す必要があります。https://bots.kore.ai/ivr/hooks/{{botId}}?token={{JWT}} トークンは、ボディパラメーターとして渡すこともできます。

IVRコールフローからのボットの呼び出し 下図のように、VXML <subdialog>を使用して、IVRコールフローからボットにデータを渡すことができます。サブダイアログのソースは、以下のパラメーターを入力として受け取るJWTトークンを含むWebhook URLです。

  • messageユーザーからのメッセージ
  • to:ユニークなユーザーIDの例:電話番号
  • To:ボットのストリームID

endOfConversation変数は、サブダイアログから返ってきたデータをもとに処理する必要があります。この値が「true」に設定されると、ダイアログの実行(会話)が完了したことを示します。ユーザーとの通話を終了させるトリガーにもなります。

Interactive Voice Response (IVR) systems are preferred in many leading organizations to automate customer interactions. However, if you are using an IVR  system, you may often encounter the following two issues:

  • Non-Intuitive Interface: IVR systems do not simply let the customers state their needs, they make the users go through an extensive list of menu options, from which customers must select before finding the intent. Even if they allow users to express their intent at first, the backend programs can only understand a limited number of phrases.
  • Static Flows: IVR systems use static call flows that do not align with the nonlinear and contextual nature of human interactions. Following is a scenario where a customer is trying to Book Flight tickets:
    User: Book me a ticket to NYC
    IVR: Sure, for which date?
    User: Wait, will it rain there this Sunday?
    IVR: Sorry, I don’t understand the input.

    Conventional IVR systems do not have diversified options for the users to articulate their requests beyond the rigid program flows.

Kore.ai IVR Support

Kore.ai XO Platform allows you to give a conversational makeover to your IVR system. It lets you build Virtual Assistants with human-like conversation capabilities and integrate them with your existing IVR system, thus taking your organization’s customer service experience to a new level.

The following features enable  the seamless integration of your Kore.ai VAs with your existing IVR:

  • Native VXML Support: Built-in support to parse and generate World Wide Web Consortium (W3C) compliant Voice Extensible Markup Language(VXML) files.
  • Hybrid integration: Flexibility to build use cases or dialogs on the  Kore.ai Experience Optimization (XO) Platform, which can work in sync with the IVR dialogs.
  • Discourse Analyzer: Kore.ai’s discourse analyzer helps enterprises generate conversation flows using historical chat or call transcripts. Chat and call transcripts are analyzed using neural network-based machine learning models to identify intents and discourse patterns to fulfill a specific intent. This is an out-of-the-box feature that is in Beta state. Contact our support team if you want to try this feature.
  • Granular Call Flow Support: Ability to define all the call flow elements such as grammar, prompts, retry and time-out periods. Kore.ai supports call termination handlers, and allows you to end calls or invoke dialogs in case of exceptions.

IVR Set Up

To setup IVR integration, perform the following steps:

  1. Configure IVR Settings: Define IVR settings such as transcription options, welcome messages, standard responses, and VXML properties.
  2. Configure Dialog Node IVR Properties: Define dialog by configuring node-specific grammar, prompts, and call flow behavior like time-out, retries.
  3. IVR Channel Setup: Set up authentication, configure WebHook in your IVR system and enable channel.

Configure IVR Settings

This section explains the IVR settings you need to configure for your Virtual Assistant (VA). As a first step, you must enable the IVR settings for the VA and define the Transcription options and VXML properties. These settings act as the default for the VA. You can override VXML properties configured at the VA level by defining custom values at the node level of the Dialog tasks.

Steps to configure IVR settings for your Virtual Assistant:

  1. Open the VA for which you want to integrate the IVR.
  2. Go to the Deploy tab from the top menu.
  3. The Channels page is displayed. Locate and click the IVR under Voice Channels.


    The IVR Panel with Instructions is displayed.
  4. On the Configuration tab, perform the following steps:

    a. Use
    Kore.ai IVR Sandbox for testing your VA. See Sandbox Configuration for more details.

    Note: If you save the configuration after associating an app without enabling IVR Settings, the platform pre-populates the required settings for Sandbox.

    b. Associate an App with the IVR channel, either by creating a new one or selecting an existing one. If you do not have any apps, a message is displayed as shown in the following screenshot.

    c. Use the WebHook URL provided in your external application.d. Enter the details to complete the setup, see Voice Call Properties: Channel Settings for more information.

  5. From the Voice Call Properties tab, set the configurations.

    If you have enabled IVR Sandbox, the following settings are required to be configured on the platform. These are pre-populated if you do not enable the IVR settings. In case you have enabled the settings, ensure the values are the same as follows:
    Enable Transcription set to Yes
    Transcription engine source set to builtin:speech/transcribe
    IVR Data Extraction Key set to user input
    ASR Confidence Threshold Key set to userinput.confidence
    ASR Threshold Confidence set to 50

    Note: Sandbox may not respond as expected if you use different values.

    The Platform supports all UniMRCP-encoded voice-to-text services. If you select the Enable Transcription option for the VA, then the platform allows you to skip defining grammar during configuring IVR settings for any node (described in Configure Dialog Node IVR Properties).
    See Voice Call Properties: Configuring Grammar for a detailed configuration for Grammar syntax.

  6. Once you have enabled the IVR channel, configure the Telephony Welcome Event in IVR Settings. This plays a welcome message for users when they connect to the VA through the IVR channel.
    Steps to configure Telephony Welcome Event:

    1. Under the Build tab, select Intelligence —> Events.
    2. Select the Use Voice Call Properties option to open the voice settings section.
    3. Under the Initial Prompts text field, enter the message that needs to be played when the user connects to the VA.To know more about other configuration fields, see the Voice Call Properties: Dialog Node Settings section.

Sandbox Configuration

Note: This option was introduced in ver 7.1 of the platform. It is not available for on-prem installation.

Kore.ai XO Platform offers an IVR Sandbox environment to instantly launch your VA for interactions over voice calls. This is useful when a working IVR system is not available for testing your VA over a voice channel. IVR Sandbox is an optional integration and it can coexist with your custom IVR integration.

Enabling this option generates a Phone Number, Pin, and Secret. To develop and test it with your teams, you can call your VA by using the phone number and PIN allocated for your VA. On receiving the valid Pin and Secret you will be connected with the VA for interactions. See the following steps to understand the Sandbox configuration.

  1. Select Enable for Kore.ai IVR Sandbox under the Configurations tab, to enable the Sandbox.

  2. In the Select App drop-down, select an existing app or create a new app.
  3. The details are populated for an existing app, as shown in the following screenshot.

  4. Click Save.
  5. The following pop-up is displayed with Phone Number, PIN and Secret values. Click OK.
  6. Once enabled, you can access the IVR Sandbox interaction details by clicking the Test button, which becomes available on hovering around the IVR icon under Configured Channels.
  7. On clicking Test, the following pop-up is displayed.

The Phone Number, PIN, and Secret are populated in the IVR Configurations panel as shown in the following screenshot.

IVR Sandbox Limitations:

  • The platform supports only a limited number of concurrent lines, hence calls to your VAs through IVR Sandbox may not be answered at times.
  • We strongly recommend you use IVR Sandbox only for internal testing purposes and not for the end-users of your Virtual Assistants, as there might be some functional limitations.

Configure Dialog Node IVR Properties

You can configure IVR properties for a node in a dialog task. Click the IVR Properties icon and  enter initial prompts, define Grammar, enter timeout, number of retries and other available fields. To know more about dialog definition, see the Voice Call Properties: Dialog Node Settings section.

IVR Channel Setup

This section explains the IVR channel setup for your virtual assistant. After configuring IVR Settings at both the VA and the Dialog levels, you must configure IVR Channel for the VA. IVR channel provides a generic integration to connect VAs with IVR systems. Kore.ai XO platform generates required VXML files to be exchanged as part of the VA interaction with the end user through the IVR systems.

Enable IVR Channel and Associate with an APP

Kore.ai Virtual Assistants require a JWT token to authenticate the incoming requests from IVR. For generating a JWT token, you should associate an app with the VA. You can select any existing Apps available in your Kore.ai account or create a new app.

  1. Go to Deploy —> Channels in the left navigation panel of the virtual assistant.
  2. On the Channels page, click IVR. The IVR Channel Instructions panel is displayed.

    Note: The Webhook Payload is used to test the IVR channel configuration for your VA. It can be tested using Postman.


    The
    IVR Voice Sample CURL request is as follows: 

    curl --location --request POST
    '{{host}}/ivr/hooks/{{streamId}}?token={{token}}' \
    --header 'Content-Type: application/json' \
    --data-raw '{
    "callId":"98ab212987ce868ad546",
    "message":"check balance",
    "from":"14022334455",
    "app_root":"app.vxml"
    }'

    The following table provides the descriptions of all the mandatory and optional request parameters:

    Parameter Required Description
    callId Y Unique Id to identify or create a new user
    message Y Message from user. This value can be an empty string to trigger the Welcome event
    from N Created as a secondary user identity 
    app_root N Select any document to be the application root document
    Note: The application root contains the file path, which is an entry point for the application.
    token N The JWT token can be passed in the body if it is not provided as a query parameter.
  3. Click the Configurations tab.
  4. From the Select App drop-down list, select an existing App. If you do not have any app to associate the VA with, click the Add button or click the CreateApp link.
  5. Copy the following values:
      a. WebHook URL: For calling the VA from IVR.
      b. Client Secret: To generate a JWT token that must be appended to the WebHook URL.

  6. Select Yes for Enable Channel.

Generating JWT Token

  1. To generate the JWT Token, click here.

    Note: For a quick overview of the JWT token, refer to Introduction to JWT tokens.
  2. JWT has to be passed in the IVR hook URL as a value for the query parameter “token”:
    https://bots.kore.ai/ivr/hooks/{{botId}}?token={{JWT}}
    The token can also be passed as the body parameter.

Call The Virtual Assistant From IVR Call flow

You can pass data to the VA from the IVR call flow using VXML <subdialog> as shown in the following screenshot. The subdialog src should be Webhook URL with JWT Token, which receives the following parameters as Input.

  • message: Message from User
  • CallId: A unique call ID for each call, based on which the VA identifies the sessions.
  • from: Unique User’s Identity, for e.g. Phone Number
  • to: Bot Stream Id

The endOfConversation variable should be processed through the data returned from the sub-dialog. If the value is true, it indicates that the dialog execution (conversation) is complete. It can be a trigger point to end the call with the user.