Konfigurasi dan validasi SBC

Dokumen ini membantu Anda mengonfigurasi dan memvalidasi SBC.

Vendor dan firmware yang didukung

Sebelum memulai konfigurasi, tinjau tabel vendor atau model SBC dan versi firmware yang didukung.

Protokol media dan sinyal SBC yang didukung

Anda dapat menemukan protokol pensinyalan dan media yang didukung dalam dokumentasi protokol pensinyalan dan media SBC.

Konfigurasi TLS SBC

Minta sertifikat TLS untuk SBC dari vendor certificate authority yang disetujui. Sertifikat karakter pengganti tidak didukung.

Dalam sertifikat TLS, Anda harus menampilkan nama domain yang sepenuhnya memenuhi syarat (FQDN) SBC dalam atribut nama umum (CN) atau dalam atribut nama alternatif subjek (SAN). Jika Anda meminta satu sertifikat TLS untuk beberapa SBC, SAN sertifikat harus menyertakan semua FQDN SBC.

Vendor certificate authority yang disetujui:

  • DigiCert
  • Entrust DataCard
  • GlobalSign
  • GoDaddy
  • Sectigo (sebelumnya dikenal sebagai Comodo)

Mengonfigurasi TLS SBC

  1. Instal sertifikat TLS yang diminta beserta sertifikat root CA terkait ke rantai kepercayaan SBC Anda.
  2. Instal root CA tepercaya Google ke dalam rantai kepercayaan SBC Anda. Untuk mendapatkan root certificate Google, selesaikan langkah-langkah berikut:
    1. Download root CA tepercaya Google.
    2. Ekstrak root certificate.
    3. Upload paket root lengkap ke keystore SBC Anda.
    4. Jika diperlukan, aktifkan daftar pencabutan sertifikat (CRL).
    5. Aktifkan autentikasi bersama untuk SBC.
  3. Konfigurasikan versi TLS dan cipher suite yang didukung. Versi 1.2 atau yang lebih baru didukung, beserta cipher suite berikut:
    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_AES_256_GCM_SHA384
    • TLS_CHACHA20_POLY1305_SHA256
    • TLS_AES_128_GCM_SHA256

Membuat trunk SIP di GTP

  1. Buka Konsol Terpadu {:.button .button-primary} dan pilih project Anda.
  2. Buka tab Trunk SIP, lalu klik Tambahkan Trunk SIP.
  3. Isi semua kolom wajib diisi.
  4. Klik Create.

Meninjau persyaratan jaringan konektivitas telepon

Lihat halaman konsep dan pemecahan masalah untuk mengetahui tabel persyaratan jaringan dan konektivitas.

Mengonfigurasi SBC untuk koneksi SIP ke GTP

Jika SBC Anda dikonfigurasi menggunakan salah satu vendor SBC yang didukung dan tersertifikasi, lihat dokumentasi protokol media dan sinyal SBC untuk mengetahui petunjuk mendetail khusus untuk vendor tersebut.

Konfigurasikan profil SIP untuk menggunakan TLS melalui port TCP 5672 yang menargetkan server SIP GTP regional tertentu (misalnya, us.telephony.goog).

Konfigurasikan integrasi SIP dan SIPREC sebagai berikut:

  • Untuk kasus penggunaan menghubungkan ke agen virtual Dialogflow, konfigurasikan integrasi SIP di SBC.
  • Untuk kasus penggunaan Agen Percakapan AI atau Insights, konfigurasikan integrasi SIPREC di SBC sehingga salinan streaming media diforking ke GTP. Perhatikan bahwa penggunaan SIPREC dengan vendor SBC tertentu dapat menjadi fitur berlisensi terpisah yang harus Anda beli dan aktifkan.

Uji konektivitas SIP dengan ping SIP OPTIONS

Lakukan uji ping SIP OPTIONS dari SBC pelanggan ke GTP untuk membantu memastikan bahwa SBC Anda menerima SIP 200 OK dari GTP. Jika SIP 200 OK tidak diterima, lihat bagian pemecahan masalah SIP.

Konfigurasi header SIP untuk percakapan AI Percakapan

  1. Tetapkan ID percakapan AI Percakapan dengan mengonfigurasi header SIP (Call-Info atau UUI) selama SIP INVITE.
  2. Gunakan header SIP Call-Info. Jika tidak didukung, Anda dapat menggunakan header SIP User-to-User-Info (UUI). Untuk mengetahui informasi selengkapnya tentang header SIP, lihat Header SIP.
  3. Opsional: Konfigurasi peran peserta (END_USER dan HUMAN_AGENT) serta urutan streaming media. Untuk mengetahui informasi selengkapnya tentang peran peserta, lihat peran peserta.
  4. Opsional: Konfigurasikan parameter tambahan untuk percakapan tertentu dengan memanggil MatchIntentRequest API. Untuk mengetahui informasi selengkapnya tentang parameter tambahan, lihat parameter tambahan.

Melakukan panggilan uji coba

Lakukan panggilan uji coba dan verifikasi bahwa SIP dan media melintasi server SIP GTP (74.125.88.128/25) dan server media RTP (74.125.39.0/24). Anda dapat mengharapkan pesan respons SIP 200 OK.

Jika Anda menerima kode respons error SIP 400, kemungkinan GTP menolak header SIP atau konfigurasi SDP media SIP. Lihat bagian pemecahan masalah untuk mengetahui detailnya. Jika Anda menerima kode respons error SIP 600, kemungkinan Anda mengalami masalah terkait kuota.

Meninjau histori percakapan Dialogflow

Bagian ini hanya berlaku jika Anda men-deploy agen virtual Dialogflow.

Jika panggilan pengujian sebelumnya menghasilkan respons SIP 200 OK, periksa histori percakapan Dialogflow project AI percakapan Google Cloud untuk membantu memastikan bahwa percakapan baru dicatat ke dalam log dan menyertakan ID percakapan yang ditentukan di header info panggilan.

(Opsional) Meninjau Google Cloud Logs Explorer

Periksa aktivitas Dialogflow di log "incoming_call" Logs Explorer project AI Percakapan Google Cloud:

  1. Gunakan kueri berikut untuk meninjau aktivitas panggilan masuk Dialogflow, lalu klik Run query:

    logName="projects/PROJECT_ID/logs/dialogflow.googleapis.com%2Fincoming_call"
    
    • PROJECT_ID: project ID Google Cloud yang Anda gunakan untuk mengonfigurasi integrasi telepon.
  2. Atau, buka daftar All log names di Logs Explorer dan telusuri nama log incoming_call. Pilih opsi tersebut, lalu klik Terapkan.

  3. Jika logging audit diaktifkan untuk Dialogflow API, pastikan Dialogflow berhasil membuat percakapan di Logs Explorer project Google Cloud AI Percakapan. Gunakan kueri berikut untuk meninjau peristiwa pembuatan percakapan Dialogflow dari project dan profil percakapan Google Cloud tertentu, lalu klik Run query.

    protoPayload.serviceName=~"dialogflow"
    protoPayload.methodName=~"google.cloud.dialogflow.*.Conversations.CreateConversation"
    protoPayload.request.conversation.conversationProfile="projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID"