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).

Diagram showing a Direct VOIP call between users and Communication Services.

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)

Diagram showing a VOIP call which utilizes a STUN connection.

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.

Diagram showing a VOIP call which utilizes a TURN connection.

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.

Diagram showing a PSTN Group Call with Communication Services.

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)

Diagram showing UDP media process flow within Communication Services.

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.

Diagram showing TCP media process flow within Communication Services.

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.

Diagram showing Communication Services SDK and Teams Client in a scheduled Teams meeting.

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: