Desain arsitektur Azure Communication Services

Azure Communication Services
Microsoft Entra ID
Azure Functions

Panduan ini menyajikan diagram aliran data untuk Azure Communication Services. Gunakan diagram ini untuk memahami bagaimana klien dan layanan Anda berinteraksi dengan Azure untuk memberikan pengalaman komunikasi.

Communication Services adalah layanan berbasis cloud dengan REST API dan SDK pustaka klien untuk membantu Anda mengintegrasikan komunikasi ke dalam aplikasi Anda. Communication Services mendukung beberapa format komunikasi: panggilan suara dan video, obrolan teks, SMS, dan data biner kustom.

Anda dapat menambahkan komunikasi ke aplikasi web dan seluler, mengintegrasikan layanan dan bot kustom, dan secara terprogram mengakses jaringan telepon (PSTN) yang dialihkan publik. Anda dapat memperoleh nomor telepon langsung dari API Azure Communication Services atau portal Azure dan menggunakan nomor ini untuk aplikasi SMS atau panggilan suara. Dengan menggunakan perutean langsung Communication Services, Anda dapat membawa penyedia telepon Anda sendiri melalui Protokol Inisiasi Sesi (SIP) dan Pengontrol Batas Sesi.

Komponen berikut digunakan dalam diagram aliran data ini:

  • Aplikasi klien. Situs web atau aplikasi asli yang digunakan oleh pengguna akhir untuk komunikasi. Communication Services menyediakan pustaka klien SDK untuk browser dan aplikasi asli. Pustaka UI sumber terbuka yang dibangun di SDK ini menyediakan komponen UI web (React), iOS, dan Android yang dapat diprogram.
  • Layanan manajemen identitas. Layanan yang Anda buat untuk memetakan pengguna dan layanan ke identitas Communication Services. Layanan ini juga membuat token untuk pengguna saat mereka perlu mengakses bidang data.
  • Layanan pengontrol komunikasi. Layanan yang Anda buat untuk mengontrol utas obrolan dan panggilan suara dan video.
  • Layanan data komunikasi. Kemampuan layanan yang Anda bangun untuk berinteraksi langsung dengan konten komunikasi, seperti mengirim pesan obrolan dan SMS atau memutar audio dalam panggilan suara.

Standar industri untuk komunikasi, seperti WebRTC, memisahkan komunikasi ke dalam sarana kontrol dan sinyal dan bidang data. Dengan menggunakan Communication Services, Anda dapat membangun pengalaman komunikasi tanpa perlu memahami implementasi internal layanan WebRTC. Namun, konsep ini dapat membantu Anda mendesain aplikasi:

Sistem Function Protokol Model akses
Sarana kontrol Mengatur siapa yang berkomunikasi, kapan, dan bagaimana REST Kredensial layanan Microsoft Entra
Data plane Berisi konten komunikasi, suara, video, teks, dan data yang berinteraksi dengan manusia dan aplikasi UDP, RTMP, WebSockets, REST Token akses pengguna dan kredensial layanan Microsoft Entra

Aliran data umum terjadi ketika aplikasi klien memulai komunikasi dengan meminta informasi kontrol dari pengontrol layanan:

  • Rapat apa yang saya miliki hari ini?
  • Nomor telepon apa yang saya gunakan untuk menelepon teman saya Joseph?
  • Apa nama rekan satu tim saya? Utas obrolan apa yang sedang berlangsung yang kita miliki?

Layanan kontrol Anda memenuhi permintaan ini dengan menyediakan token dan pengidentifikasi Communication Services kepada klien untuk pengguna, utas, nomor telepon, dan panggilan. Klien kemudian menggunakan token dan pengidentifikasi ini untuk berinteraksi dengan bidang data Azure. API Communication Services tidak membatasi desain pengalaman pengguna akhir Anda atau proses yang mengontrol komunikasi.

Dalam standar WebRTC, klien meminta informasi kontrol dari layanan dengan mengirim pesan kontrol dalam proses yang dikenal sebagai sinyal. Pengidentifikasi Communication Services seperti ID panggilan sebanding dengan deskripsi sesi WebRTC.

Pengguna diautentikasi melalui token akses pengguna

Klien Communication Services menyajikan token akses pengguna untuk diakses, dengan keamanan yang ditingkatkan, bidang data panggilan dan obrolan Azure. Anda harus membuat dan mengelola token akses pengguna dengan menggunakan layanan tepercaya. Token dan rahasia string koneksi atau Microsoft Entra yang diperlukan untuk menghasilkannya perlu dilindungi. Kegagalan untuk mengelola token akses dengan benar dapat mengakibatkan biaya tambahan karena penyalahgunaan sumber daya.

Diagram that shows the user access token architecture.

Unduh file Visio arsitektur ini.

Aliran data

  1. Pengguna memulai aplikasi klien.
  2. Aplikasi klien menghubungi layanan manajemen identitas Anda. Layanan manajemen identitas mempertahankan pemetaan antara identitas aplikasi dan identitas Communication Services. (Identitas aplikasi mencakup pengguna Anda dan objek lain yang dapat diatasi, seperti layanan atau bot.)
  3. Layanan manajemen identitas menggunakan pemetaan untuk mengeluarkan token akses pengguna untuk identitas yang berlaku.

Azure App Service atau Azure Functions adalah dua alternatif untuk mengoperasikan layanan manajemen identitas. Layanan ini menskalakan dengan mudah dan memiliki fitur bawaan untuk mengautentikasi pengguna. Mereka terintegrasi dengan OpenID dan idP pihak ketiga seperti Facebook.

Sumber

Pengguna memanggil aplikasi atau nomor telepon

Skenario panggilan suara dan video paling sederhana melibatkan pengguna yang memanggil pengguna lain di latar depan tanpa pemberitahuan push. Anda dapat mengintegrasikan panggilan suara dan video Communication Services ke aplikasi web, seluler asli, dan desktop Windows. Pustaka UI sumber terbuka dapat membantu Anda mempercepat pengembangan.

Diagram that shows Communication Services calling without push notifications.

Unduh file Visio arsitektur ini.

Aliran data

  1. Pengguna yang memulai memperoleh identitas Communication Services dari orang yang ingin mereka panggil. Dalam skenario umum, pengguna mendapatkan identitas dari daftar teman yang dikelola oleh layanan manajemen identitas. Daftar ini menyusun teman pengguna dan identitas Communication Services terkait.
  2. Pengguna yang memulai memulai klien Panggilan dan memanggil pengguna jarak jauh.
  3. Pengguna yang menerima diberi tahu tentang panggilan masuk melalui SDK Panggilan. Untuk menerima panggilan masuk, penerima harus sudah menginisialisasi klien Panggilan.
  4. Pengguna berkomunikasi satu sama lain melalui suara dan video dalam panggilan.

Aliran data hampir identik ketika pengguna memanggil nomor telepon eksternal. Perbedaan utamanya adalah bahwa, untuk mengakses telepon tradisional, klien pengguna yang memulai harus meminta nomor telepon sumber dan tujuan dari layanan pengontrol, alih-alih meminta identitas pengguna.

Dalam beberapa situasi, Anda mungkin ingin app menerima panggilan di latar belakang dengan menggunakan layanan platform seperti Pemberitahuan Push Apple. Anda dapat mengaktifkan fungsionalitas ini dengan mengintegrasikan Communication Services dengan Azure Notification Hubs.

Sumber

Pengguna bergabung dalam panggilan grup tanpa undangan

Anda mungkin ingin pengguna dapat bergabung dalam panggilan grup tanpa undangan eksplisit. Aplikasi Anda mungkin menyediakan ruang sosial persisten atau klub yang menyertakan saluran panggilan video yang dapat bergabung dengan pengguna saat mereka mau. Aliran data ini menunjukkan panggilan yang awalnya dibuat oleh klien dan memungkinkan klien jarak jauh untuk bergabung tanpa undangan eksplisit:

Diagram that shows a call without an invitation.

Unduh file Visio arsitektur ini.

Aliran data

  1. Pengguna yang memulai menginisialisasi klien Panggilan dan melakukan panggilan grup.
  2. Pengguna yang memulai berbagi ID panggilan grup dengan layanan pengontrol komunikasi.
  3. Layanan pengontrol komunikasi berbagi ID panggilan dengan pengguna lain. Misalnya, jika aplikasi menyediakan klub pengguna, ID panggilan grup adalah atribut model data klub yang disimpan di Azure Cosmos DB.
  4. Pengguna lain bergabung dalam panggilan dengan menggunakan ID panggilan grup.
  5. Pengguna berkomunikasi satu sama lain melalui suara dan video dalam panggilan.

Microsoft 365 dan Teams

Banyak organisasi menggunakan Microsoft 365 dan Teams untuk komunikasi. Communication Services dan Teams dapat dioperasikan, yang memungkinkan skenario ini:

  • Buat aplikasi kustom untuk memungkinkan pengguna eksternal bergabung dalam rapat Teams. Skenario ini sangat ideal untuk skenario kunjungan virtual, di mana bisnis yang menggunakan Teams menyelenggarakan rapat untuk konsumen eksternal yang menggunakan aplikasi kustom dan identitas kustom. Untuk mempelajari selengkapnya tentang skenario ini, lihat Tutorial kunjungan virtual dan Pembangun Sampel.
  • Buat aplikasi kustom untuk pengguna internal dengan kredensial Teams / Microsoft Entra. Skenario ini dirancang untuk membangun klien Teams kustom untuk karyawan.

Skenario aplikasi kustom ini menggunakan API Microsoft Graph dan Communication Services. Saat Anda membangun aplikasi dan layanan eksternal yang tersambung ke Teams, Anda umumnya menggunakan Microsoft Graph sebagai sarana kontrol Teams. Anda menggunakan sarana kontrol ini untuk mengonfigurasi siapa yang berkomunikasi dan bagaimana dan kapan mereka berkomunikasi dengan menggunakan API untuk:

Anda menggunakan informasi dari API kontrol ini, seperti URL rapat dan pengidentifikasi utas, untuk menyambungkan klien panggilan Communication Services dan obrolan ke data plane Teams.

Teams juga memiliki SDK untuk menambahkan fungsionalitas kustom dalam pengalaman Teams dan melalui penyimpanan Teams, seperti tab, bot, dan otomatisasi. Skenario ini berada di luar cakupan artikel ini.

Communication Services tidak secara langsung mendukung interaksi dengan saluran Teams. Untuk aplikasi kustom, Anda dapat menggunakan Api Obrolan dan Saluran Microsoft Graph untuk membangun klien kustom bagi karyawan yang mengakses saluran.

Aplikasi bergabung dengan panggilan Teams terjadwal

Aplikasi Communication Services dapat bergabung dengan panggilan Teams. Untuk pengguna eksternal, aplikasi memerlukan tautan ke rapat Teams. Pengambilan tautan dikelola melalui API Microsoft Graph. Berikut adalah aliran datanya:

Diagram showing Communication Services architecture for joining a Teams meeting.

Unduh file Visio arsitektur ini.

Aliran data

  1. (1A) Layanan pengontrol komunikasi menjadwalkan panggilan grup dengan menggunakan Microsoft Graph API. Dalam kasus penggunaan lain, (1B), pengguna menjadwalkan panggilan grup dengan menggunakan Outlook atau Teams.
  2. Layanan pengontrol komunikasi berbagi detail panggilan Teams dengan klien Communication Services.
  3. Biasanya, pengguna Teams harus bergabung dalam panggilan melalui UI Teams dan memungkinkan pengguna eksternal untuk melewati lobi pra-panggilan Teams. Namun, persyaratan ini tergantung pada konfigurasi penyewa Teams dan pengaturan rapat tertentu.
  4. Pengguna Communication Services menginisialisasi klien Panggilan dan bergabung dalam rapat Teams dengan menggunakan detail yang diterima di langkah 2.
  5. Pengguna berkomunikasi satu sama lain melalui suara dan video.

Sumber

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lain:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya