Konfigurasi dan validasi SBC

Halaman ini akan memandu Anda melalui proses 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 pensinyalan SBC yang didukung

Protokol media dan pensinyalan yang didukung ditentukan dalam dokumentasi protokol media dan pensinyalan SBC. Perhatikan bahwa AES_CM_128_HMAC_SHA1_80 adalah satu-satunya cipher suite SRTP yang didukung.

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 baik dalam atribut nama umum (CN) maupun dalam atribut nama alternatif subjek (SAN). Jika Anda meminta satu sertifikat TLS untuk beberapa SBC, SAN sertifikat harus menyertakan semua FQDN SBC.

Vendor otoritas sertifikat yang disetujui

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

Mengonfigurasi TLS SBC

  1. Instal sertifikat TLS yang diminta beserta sertifikat CA root terkait ke rantai kepercayaan SBC.
  2. Instal CA root tepercaya Google ke dalam rantai kepercayaan SBC. Untuk mendapatkan Root certificate Google:

    1. Download CA root tepercaya Google.
    2. Ekstrak GTS Root R1 (GTSR1).
    3. Jika perlu, ekstrak sertifikat CA Root GlobalSign.
    4. Upload root certificate ke keystore SBC Anda.
    5. Aktifkan autentikasi bersama untuk SBC.
  3. Konfigurasi cipher suite dan versi TLS yang didukung. TLS versi 1.2 atau yang lebih baru didukung. Cipher suite yang didukung:

    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • HTLS_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 Unified Console dan pilih project Anda.
  2. Buka tab SIP Trunks, lalu klik Add a SIP Trunk.
  3. Isi semua kolom wajib diisi.
  4. Klik Buat.

Meninjau persyaratan jaringan konektivitas telepon

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

Mengonfigurasi SBC untuk koneksi SIP ke GTP

Jika SBC Anda di-deploy dengan salah satu vendor SBC yang didukung dan disertifikasi, lihat dokumentasi protokol media dan pensinyalan SBC untuk mengetahui petunjuk mendetail khusus untuk vendor tersebut.

Pastikan profil SIP dikonfigurasi untuk menggunakan TLS melalui port TCP 5672 yang menargetkan server SIP GTP regional tertentu (misalnya, us.telephony.goog). Konfigurasi integrasi SIP dan SIPREC:

  • Untuk kasus penggunaan menghubungkan ke agen virtual Dialogflow, konfigurasikan integrasi SIP di SBC.
  • Untuk kasus penggunaan Conversational AI Agent Assist atau Insights, konfigurasikan integrasi SIPREC di SBC sehingga salinan aliran media di-fork ke GTP. Perhatikan bahwa penggunaan SIPREC dengan vendor SBC tertentu mungkin merupakan fitur berlisensi terpisah yang harus Anda beli dan aktifkan.

Uji konektivitas SIP dengan ping OPTIONS SIP

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

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). Lihat header SIP untuk mengetahui detail selengkapnya.
  3. (Opsional) Konfigurasi peran peserta (END_USER dan HUMAN_AGENT) dan urutan streaming media. Lihat bagian peran peserta untuk mengetahui detailnya.
  4. (Opsional) Untuk menetapkan parameter tambahan untuk percakapan tertentu, panggil API MatchIntentRequest. Lihat bagian parameter tambahan untuk mengetahui detailnya.

Melakukan panggilan pengujian

Lakukan panggilan uji dan periksa untuk memastikan SIP dan media melintasi server SIP GTP (74.125.88.128/25) dan server media RTP (74.125.39.0/24). Anda akan mendapatkan pesan respons SIP 200 OK.

Jika Anda menerima kode respons error SIP 400's, kemungkinan hal ini menunjukkan bahwa GTP menolak header SIP atau konfigurasi SDP media SIP. Lihat bagian pemecahan masalah untuk mengetahui detailnya. Jika Anda menerima kode respons error SIP 600's, kemungkinan hal ini menunjukkan 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 Google Cloud Dialogflow di project AI Percakapan Google Cloud untuk memastikan percakapan baru dicatat dan menyertakan ID percakapan yang ditentukan di header info panggilan.

(Opsional) Tinjau 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 "Jalankan kueri":

    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, Anda dapat membuka kotak drop-down Semua nama log di Logs Explorer dan menelusuri nama log incoming_call. Pilih, lalu klik Terapkan.

  3. Verifikasi bahwa Dialogflow berhasil membuat percakapan di Google Cloud Logs Explorer project (langkah ini hanya berlaku jika audit logging diaktifkan untuk Dialogflow API). Gunakan kueri berikut untuk meninjau peristiwa pembuatan percakapan Dialogflow dari project dan profil percakapan tertentu, lalu klik Jalankan kueri. Google Cloud

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