Integrasi suara Agent Assist dengan Five9

Integrasi suara ini menggunakan Five9 Classic Connector dan Five9 MediaStream (sebelumnya disebut Voicestream) untuk memberikan saran Agent Assist kepada agen Anda di Five9 Agent Desktop Plus.

Arsitektur untuk integrasi Agent Assist Five9

Sebelum memulai

Untuk mengintegrasikan modul UI Agent Assist dengan Five9, Anda memerlukan akses ke resource berikut.

Dependensi sistem yang diperlukan

  • Google Cloud CLI
    • Instal Google Cloud CLI seperti yang diinstruksikan.
    • Autentikasi menggunakan gcloud auth login.
  • Deployment backend integrasi Agent Assist
    • Ikuti petunjuk untuk menyiapkan integrasi.
    • Selain penyiapan normal, dan sebelum menjalankan skrip deployment, konfigurasi variabel lingkungan berikut di aa-integration-backend/.env:
      • AUTH_OPTION: Tetapkan nilai ini ke Five9.
      • FIVE9_TRUST_TOKEN: Buat nilai ini dengan menjalankan perintah berikut:
        • cd platforms/five9
        • cp .env.sample .env
        • make generate-trust-token
  • Profil percakapan Agent Assist: Lihat Membuat profil percakapan untuk mengetahui detailnya.
  • Akses administrator Five9: Diperlukan untuk mengonfigurasi langganan Mediastream dan Classic Connector.
  • Make: Digunakan untuk menjalankan skrip deployment.

Dependensi sistem opsional

Ringkasan arsitektur integrasi

Solusi ini menggunakan arsitektur layanan terpisah untuk menangani persyaratan berbeda dari protokol Five9: streaming audio dua arah real-time (gRPC) dan penanganan peristiwa asinkron (HTTP). Dua layanan Cloud Run ini menjembatani Five9 MediaStream dengan Google Cloud Agent Assist, sehingga memungkinkan transkripsi real-time dan saran AI generatif:

  • mediastream-grpc-service: Menangani streaming audio gRPC dua arah dari Five9 MediaStream.
  • mediastream-http-service: Menampilkan modul UI Agent Assist dan menangani peristiwa CTI dan MediaStream.

Alur data tingkat tinggi

  1. Inisiasi panggilan: Five9 memicu peristiwa CTI ke Layanan HTTP, yang memulai sesi.
  2. Streaming audio: Five9 membuka koneksi gRPC yang aman ke Layanan gRPC untuk pertukaran audio real-time.
  3. Pemrosesan: Layanan gRPC meneruskan audio ke Google Cloud Agent Assist.
  4. Saran: Agent Assist menampilkan saran transkripsi dan pelatihan agen melalui Pub/Sub, yang diteruskan ke Modul UI Agent Assist melalui koneksi Socket.IO (WebSocket) dengan layanan Cloud Run UI Connector. Saran ini dirender dalam iframe Five9 Classic Connector di Five9 Agent Desktop Plus selama panggilan.

Layanan gRPC (mediastream-grpc)

  • Peran: Menangani streaming audio dua arah real-time berperforma tinggi.
  • Implementasi: Server gRPC Python menggunakan grpcio.
  • Concurrency: Menggunakan grpc.aio (AsyncIO) untuk I/O non-blocking berperforma tinggi.
  • Protokol: Menentukan kontrak layanan menggunakan mediastream-grpc/proto/voice.proto.
  • Modul inti: VoiceServicer implementasi di services/get_suggestions.py mengatur penanganan streaming audio dan panggilan API Agent Assist.

Layanan HTTP (mediastream-http)

  • Peran: Menangani peristiwa bidang kontrol, validasi token, dan menyajikan aset UI statis.
  • Implementasi: Server web Flask.
  • Endpoints:
    • GET /: Endpoint health check untuk server.
    • GET /agent-assist-ui-modules: Menyajikan Modul UI Agent Assist untuk Five9 Classic Connector.
    • GET /cti-call-event-destination/: Memvalidasi FIVE9_TRUST_TOKEN (menampilkan hash SHA256).
    • POST /cti-call-event-destination/: Menerima peristiwa dan metadata CTI panggilan.
    • POST /mediastream-event-destination/subscriptions/<id>: Menerima error asinkron atau update status dari streaming media.

Keamanan

  • Token kepercayaan: Integrasi ini menerapkan model keamanan rahasia bersama. FIVE9_TRUST_TOKEN dibuat dan dikonfigurasi di Five9 dan layanan Cloud Run. Layanan HTTP menyediakan endpoint validasi (GET /cti-call-event-destination/) yang menampilkan hash SHA256 dari token yang dikonfigurasi untuk verifikasi.
  • Token kepercayaan ini juga digunakan kembali sebagai rahasia bersama yang mengautentikasi permintaan dari Layanan HTTP MediaStream ke UI Connector.

Panduan deployment

Bagian berikut menjelaskan cara men-deploy integrasi Agent Assist Five9 ini dan mengujinya di Five9 Agent Desktop Plus.

Mengonfigurasi variabel lingkungan

  1. Pertama, jalankan cd aa-integration-backend/platforms/five9 untuk mengubah direktori.
  2. Pastikan Anda memiliki file .env yang Anda salin dari .env.sample di bagian Dependensi sistem yang diperlukan. Baris terakhir harus berisi FIVE9_TRUST_TOKEN yang Anda buat pada saat itu.

  3. Variabel lingkungan: Isi file .env Anda dengan detail berikut.

    Variabel Deskripsi
    PROJECT_ID ID Project Anda Google Cloud
    REGION Region tempat layanan Cloud Run Anda akan di-deploy.
    CONVERSATION_PROFILE_NAME ID Resource Profil Percakapan Agent Assist.
    FEATURES Fitur yang akan diaktifkan untuk Agent Assist. Lihat dokumentasi Properti Container Modul UI V2.
    FIVE9_API_KEY Tetapkan nilai ini ke Kunci API Five9 yang Anda dapatkan saat menyiapkan langganan MediaStream.
    FIVE9_TRUST_TOKEN Rahasia bersama yang Anda buat di bagian Sebelum memulai, yang memungkinkan mediastream-http-service melakukan autentikasi dengan layanan Cloud Run ui-connector.

Men-deploy ke Google Cloud Run

Deploy layanan gRPC dan HTTP ke Cloud Run menggunakan otomatisasi yang disediakan:

make deploy

Skrip ini akan:

  1. Membangun image container.
  2. Mengirimnya ke Google Container Registry (GCR) atau Artifact Registry.
  3. Men-deploy dua layanan Cloud Run: satu untuk gRPC (Suara) dan satu untuk HTTP (Peristiwa).
  4. Menampilkan URL layanan setelah selesai.

Konfigurasi Five9

Setelah deployment, konfigurasi Five9 untuk mengirim streaming ke layanan Anda. Lihat Panduan Teknis Five9 MediaStream untuk mengetahui langkah-langkah mendetail.

Konfigurasi awal Five9

Ikuti langkah-langkah berikut untuk mengonfigurasi Konsol Admin Five9 untuk integrasi Agent Assist.

  1. Buat keterampilan baru, misalnya Integrasi Agent Assist.
  2. Tetapkan pengguna ke keterampilan tersebut.
  3. Konfigurasi Five9 Classic Connector untuk kampanye Anda, dengan membuat iframe URL Layanan Cloud Run MediaStream yang Anda deploy pada langkah sebelumnya:
    • URL: {mediastream-http-service-url}/agent-assist-ui-modules/
    • Metode: GET
    • Parameter: call_id
    • Mode Eksekusi: In Browser
      • Aplikasi Agen: Use embedded tab for Web Agent
      • Layanan Web CTI: Current browser window
    • Pemicu (Tab berikutnya): On Call Accepted
  4. Buat skrip IVR untuk menentukan perilaku saat menerima panggilan melalui nomor DNIS Five9 Anda.
  5. Buat kampanye masuk
  6. Kaitkan skrip IVR dengan kampanye
  7. Secara opsional, buat kampanye keluar untuk mengaktifkan Agent Assist untuk panggilan keluar. Hal ini melibatkan hal berikut:
    • Mengaitkan keterampilan dengan kampanye keluar.
    • Membuat salinan Classic Connector dan mengaitkannya dengan kampanye keluar. Ubah pemicu salinan Classic Connector menjadi On Contact Selected.
    • Mulai kampanye. Untuk menguji, lakukan panggilan keluar di Agent Desktop Plus, dengan memilih kampanye keluar dari menu dropdown.

Contoh konfigurasi untuk konektor klasik guna mendukung Modul UI di Agent Desktop Plus

Membuat langganan MediaStream

  1. Nama Langganan: Streaming Media Integrasi Agent Assist
  2. Jenis Streaming: Streaming suara
    • Tujuan Streaming: Lainnya (Layanan Mandiri)
    • Protokol Streaming: gRPC
    • Tujuan Streaming Utama:
      • <five9-mediastream-grpc-deployment-url-without-protocol>:443
      • Contoh: five9-mediastream-grpc-123412341234.us-central1.run.app:443
    • Tujuan Peristiwa Panggilan CTI:
      • https://<five9-mediastream-http-deployment-url>/cti-call-event-destination/
      • Contoh: https://five9-mediastream-http-123412341234-uc.a.run.app/cti-call-event-destination/
    • Tujuan Peristiwa MediaStream:
      • https://<five9-mediastream-http-deployment-url>/mediastream-event-destination/
      • Contoh: https://five9-mediastream-http-123412341234-uc.a.run.app/mediastream-event-destination/
    • Token Kepercayaan: FIVE9_TRUST_TOKEN yang Anda buat pada langkah sebelumnya.
    • Kunci API: Kolom ini akan dibuat setelah menyimpan langganan MediaStream Anda. Salin FIVE9_API_KEY yang Anda terima ke platforms/five9/.env. Anda akan memerlukannya selama langkah berikutnya.
    • Filter Streaming:
      • Filter kustom: Dicentang
      • Jenis Filter: Kampanye
      • Telusuri kampanye yang ditambahkan: Telusuri kampanye Anda dan tambahkan.

Men-deploy ulang ke Google Cloud Run

  • Penting: Setelah membuat langganan MediaStream, Anda harus menambahkan FIVE9_API_KEY yang Anda terima ke file platforms/five9/.env, lalu men-deploy ulang dengan menjalankan make deploy.

Verifikasi deployment

Konfirmasi bahwa layanan yang Anda deploy dapat dijangkau di Cloud Run:

make test-http-reachable
make test-grpc-reachable

Simulasikan panggilan dengan men-streaming file .wav ke mediastream-grpc-service:

make test-grpc-stream

Anda kini siap menguji transkripsi dan saran Agent Assist saat menerima panggilan di Five9 Agent Desktop Plus.

Contoh pengujian menyeluruh yang berhasil dari Integrasi Agent Assist

Pengujian lokal (opsional)

Untuk memecahkan masalah atau melakukan pengujian tanpa deployment, Anda dapat menjalankan layanan secara lokal menggunakan Docker/Podman. Hentikan container, build, dan jalankan secara lokal dengan Podman compose.

make all

Jalankan semua pengujian (kondisi, unit), kecuali streaming

make test

Simulasikan panggilan dengan men-streaming file .wav

make test-grpc-stream LOCAL=true