Dasar-dasar alur panggilan
Bagian di bawah ini memberikan gambaran umum alur panggilan di Azure Communication Services. Sinyal dan alur media bergantung pada jenis panggilan yang dilakukan pengguna Anda. Contoh jenis panggilan mencakup VoIP satu ke satu, PSTN satu ke satu, dan panggilan grup yang berisi kombinasi peserta yang terhubung dengan VoIP dan PSTN. Tinjau Jenis panggilan.
Tentang sinyal dan protokol media
Saat Anda membuat panggilan peer-to-peer atau grup, dua protokol digunakan di belakang layar - HTTPS (REST) untuk sinyal dan SRTP untuk media.
Sinyal antara SDK atau antara SDK dan Communication Services Signaling Controllers ditangani dengan HTTPS REST (TLS). Azure Communication Services menggunakan TLS 1.2. Untuk Lalu Lintas Media Real-Time (RTP), Protokol Datagram Pengguna (UDP) lebih diutamakan. Jika penggunaan UDP dicegah oleh firewall Anda, SDK akan menggunakan Protokol Kendali Transmisi (TCP) untuk media.
Mari kita tinjau protokol sinyal dan media dalam berbagai skenario.
Kasus alur panggilan
Kasus 1: VoIP di mana koneksi langsung antara dua perangkat dapat terjadi
Dalam VoIP satu ke satu atau panggilan video, lalu lintas lebih menyukai jalur yang paling langsung. "Jalur langsung" berarti bahwa jika dua SDK dapat menjangkau satu sama lain secara langsung, mereka akan membangun koneksi langsung. Hal ini biasanya dapat terjadi ketika dua SDK berada di subnet yang sama (misalnya, dalam subnet 192.168.1.0/24) atau dua ketika perangkat masing-masing berada di subnet yang dapat melihat satu sama lain (SDK di subnet 10.10.0.0/16 dan 192.168.1.0/24 dapat menjangkau satu sama lain).
Kasus 2: VoIP di mana koneksi langsung antar perangkat tidak dimungkinkan, tetapi di mana koneksi antara perangkat NAT dapat terjadi
Jika dua perangkat terletak di subnet yang tidak dapat menjangkau satu sama lain (misalnya, Alice bekerja dari kedai kopi dan Bob bekerja dari kantor rumahan) tetapi koneksi antara perangkat NAT dapat terjadi, SDK sisi klien akan membangun konektivitas melalui perangkat NAT.
Bagi Alice, yaitu NAT dari kedai kopi dan untuk Bob, yaitu NAT dari kantor rumah. Perangkat Alice akan mengirim alamat eksternal NAT-nya dan Bob akan melakukan hal yang sama. SDK mempelajari alamat eksternal dari layanan STUN (Session Traversal Utilities for NAT) yang disediakan Azure Communication Services secara gratis. Logika yang menangani pertukaran antara Alice dan Bob disematkan dalam Azure Communication Services yang disediakan SDK. (Anda tidak perlu konfigurasi tambahan)
Kasus 3: VoIP di mana koneksi langsung maupun NAT tidak dimungkinkan
Jika satu atau kedua perangkat klien berada di belakang NAT simetris, diperlukan layanan cloud terpisah untuk menyampaikan media antara dua SDK. Layanan ini disebut TURN (Traversal Using Relays around NAT) dan juga disediakan oleh Communication Services. SDK Panggilan Communication Services secara otomatis menggunakan layanan TURN berdasarkan kondisi jaringan yang terdeteksi. Biaya TURN termasuk dalam harga panggilan.
Kasus 4: Panggilan grup dengan PSTN
Sinyal dan media untuk Panggilan PSTN menggunakan sumber daya telepon Azure Communication Services. Sumber daya ini saling terhubung dengan operator lain.
Arus lalu lintas media PSTN melalui komponen bernama Prosesor Media.
Catatan
Bagi mereka yang tidak asing dengan pemrosesan media, Prosesor Media kami juga merupakan Agen Pengguna Back to Back, seperti yang didefinisikan dalam RFC 3261 SIP: Protokol Inisiasi Sesi, yang berarti dapat menerjemahkan codec saat menangani panggilan antara jaringan Microsoft dan Operator. Pengontrol Sinyal Azure Communication Services adalah implementasi Microsoft dari Proksi SIP per RFC yang sama.
Untuk panggilan grup, media, dan sinyal, selalu mengalir melalui ujung belakang Azure Communication Services. Audio dan/atau video dari semua peserta dicampur dalam komponen Prosesor Media. Semua anggota panggilan grup mengirim streaming audio dan/atau video mereka ke prosesor media, yang mengembalikan aliran media campuran.
Protokol real-time (RTP) default untuk panggilan grup adalah Protokol Datagram Pengguna (UDP).
Catatan
Prosesor Media dapat bertindak sebagai Unit Kontrol Multipoint (MCU) atau Unit Penerusan Selektif (SFU)
Jika SDK tidak dapat menggunakan UDP untuk media karena pembatasan firewall, upaya akan dilakukan untuk menggunakan Protokol Kendali Transmisi (TCP). Perhatikan bahwa komponen Prosesor Media memerlukan UDP, jadi ketika hal ini terjadi, layanan TURN Communication Services akan ditambahkan ke panggilan grup untuk menerjemahkan TCP ke UDP. Biaya TURN termasuk dalam harga panggilan.
Kasus 5: SDK Communication Services dan Microsoft Teams dalam rapat Teams terjadwal
Sinyal mengalir melalui pengontrol sinyal. Media mengalir melalui Prosesor Media. Pengontrol sinyal dan Prosesor Media digunakan bersama Communication Services dan Microsoft Teams.
Kasus 6: Media awal
Mengacu pada media (misalnya, audio dan video) yang ditukar sebelum sesi tertentu diterima oleh pengguna yang disebut. Jika ada aliran media awal, SBC harus terhubung ke titik akhir pertama yang memulai media streaming; aliran media dapat dimulai sebelum kandidat dicalonkan. SBC harus memiliki dukungan untuk mengirim DTMF selama fase ini untuk mengaktifkan skenario IVR/voicemail. SBC harus menggunakan jalur prioritas tertinggi di mana ia telah menerima pemeriksaan jika nominasi belum selesai.
Langkah berikutnya
Dokumen berikut mungkin menarik bagi Anda:
- Pelajari lebih lanjut jenis panggilan
- Pelajari lebih lanjut Arsitektur server klien
- Pelajari lebih lanjut Topologi alur panggilan