Gambaran umum SDK panggilan
Azure Communication Services memungkinkan browser, aplikasi, dan layanan pengguna akhir untuk mendorong komunikasi suara dan video. Halaman ini berfokus pada Memanggil SDK klien, yang dapat disematkan di situs web dan aplikasi asli. Halaman ini menyediakan deskripsi terperinci tentang fitur klien Panggilan seperti platform dan informasi dukungan browser. Layanan secara terprogram mengelola dan mengakses panggilan menggunakan API Automasi Panggilan. ROOMS API adalah API Azure Communication Services opsional yang menambahkan fitur tambahan ke panggilan suara atau video, seperti peran dan izin.
Untuk membangun pengalaman pengguna Anda sendiri dengan SDK Panggilan, lihat Memanggil mulai cepat atau Memanggil sampel hero.
Jika Anda ingin membantu pengalaman pengguna akhir, Pustaka UI Azure Communication Services menyediakan kumpulan komponen UI siap produksi sumber terbuka untuk dihilangkan ke aplikasi Anda. Dengan serangkaian kontrol bawaan ini, Anda dapat menciptakan pengalaman komunikasi yang indah menggunakan bahasa desain Fasih Microsoft. Jika Anda ingin mempelajari selengkapnya tentang Pustaka UI, kunjungi situs gambaran umum.
Setelah Anda memulai pengembangan, lihat halaman masalah yang diketahui untuk menemukan bug yang sedang kami kerjakan.
Tautan SDK
Platform | Web (JavaScript) | Windows (.NET) | iOS | Android | Lainnya |
---|---|---|---|---|---|
Memanggil | npm | NuGet | GitHub | Maven | |
Pustaka UI | npm | - | GitHub | GitHub | GitHub, Storybook |
Fitur utama
- Manajemen Perangkat dan Media - SDK Panggilan menyediakan fasilitas untuk mengikat perangkat audio dan video, mengkodekan konten untuk transmisi yang efisien melalui pesawat data komunikasi, dan merender konten ke perangkat output dan tampilan yang Anda tentukan. API juga disediakan untuk berbagi layar dan aplikasi.
- PSTN - SDK Panggilan dapat memulai panggilan suara dengan jaringan telepon tradisional yang dialihkan secara publik, menggunakan nomor telepon yang Anda peroleh di portal Azure atau secara terprogram. Anda juga dapat membawa nomor Anda sendiri menggunakan pengontrol batas sesi.
- Rapat & Panggilan Teams - SDK Panggilan dapat bergabung dalam rapat Teams dan berinteraksi dengan dataplane suara dan video Teams.
- Enkripsi - SDK Panggilan mengenkripsi lalu lintas dan mencegah perusakan pada kawat.
- Mengatasi - Azure Communication Services menyediakan identitas umum yang digunakan untuk mengatasi titik akhir komunikasi. Klien menggunakan identitas ini untuk mengautentikasi ke layanan dan berkomunikasi satu sama lain. Identitas ini digunakan dalam API Panggilan yang memberikan visibilitas klien ke siapa yang terhubung ke panggilan (daftar nama).
- Keamanan Akses Pengguna
- Kontrol roster, kontrol jadwal, dan peran/izin pengguna diberlakukan melalui Virtual Rooms.
- Kemampuan pengguna untuk Memulai panggilan baru atau bergabung dengan panggilan yang ada dapat dikelola melalui Identitas Pengguna dan Token
- Pemberitahuan - SDK Panggilan menyediakan API yang memungkinkan klien untuk diberi tahu tentang panggilan masuk. Dalam situasi di mana aplikasi Anda tidak berjalan di latar depan, pola tersedia untuk mengaktifkan pemberitahuan pop-up ("toasts") untuk memberi tahu pengguna akhir tentang panggilan masuk.
- Statistik Media - SDK Panggilan memberikan wawasan komprehensif tentang metrik VoIP dan panggilan video Anda. Dengan informasi ini, pengembang memiliki pemahaman yang lebih jelas tentang kualitas panggilan dan dapat membuat keputusan berdasarkan informasi untuk lebih meningkatkan pengalaman komunikasi mereka.
- Batasan Video - SDK Panggilan menyediakan API yang mendapatkan kemampuan untuk mengatur kualitas video di antara parameter lain selama panggilan video dengan menyesuaikan parameter seperti resolusi dan kecepatan bingkai yang mendukung situasi panggilan yang berbeda untuk tingkat kualitas video yang berbeda
- User Facing Diagnostics (UFD) - SDK Panggilan menyediakan peristiwa yang dirancang untuk memberikan wawasan tentang masalah yang mendasarinya yang dapat memengaruhi kualitas panggilan. Pengembang dapat berlangganan pemicu seperti sinyal jaringan yang lemah atau mikrofon yang dibisukan, memastikan bahwa mereka selalu mengetahui faktor apa pun yang memengaruhi panggilan.
Kemampuan terperinci
Daftar berikut menyajikan sekumpulan fitur yang saat ini tersedia di SDK Panggilan Azure Communication Services.
Grup fitur | Kemampuan | JS | Windows | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Kemampuan Inti | Melakukan panggilan satu ke satu di antara dua pengguna | ✔️ | ✔️ | ✔️ | ✔️ |
Melakukan panggilan grup dengan lebih dari dua pengguna (hingga 100 pengguna) | ✔️ | ✔️ | ✔️ | ✔️ | |
Mempromosikan panggilan satu ke satu dengan dua pengguna ke dalam panggilan grup dengan lebih dari dua pengguna | ✔️ | ✔️ | ✔️ | ✔️ | |
Bergabung dalam panggilan grup setelah dimulai | ✔️ | ✔️ | ✔️ | ✔️ | |
Mengundang peserta VoIP lain untuk bergabung dalam panggilan grup yang sedang berlangsung | ✔️ | ✔️ | ✔️ | ✔️ | |
Kontrol panggilan tengah | Mengaktifkan/menonaktifkan video Anda | ✔️ | ✔️ | ✔️ | ✔️ |
Mematikan suara/Menyalakan suara mikrofon | ✔️ | ✔️ | ✔️ | ✔️ | |
Mematikan suara peserta lain | ✔️ | ✔️1 | ✔️1 | ✔️1 | |
Beralih antar kamera | ✔️ | ✔️ | ✔️ | ✔️ | |
Penahanan lokal/tidak ditahan | ✔️ | ✔️ | ✔️ | ✔️ | |
Pengeras suara aktif | ✔️ | ✔️ | ✔️ | ✔️ | |
Pilih speaker untuk panggilan | ✔️ | ✔️ | ✔️ | ✔️ | |
Pilih mikrofon untuk panggilan | ✔️ | ✔️ | ✔️ | ✔️ | |
Memperlihatkan status peserta Diam, Media awal, Menghubungkan, Terhubung, Ditahan, Di Lobi, Terputus |
✔️ | ✔️ | ✔️ | ✔️ | |
Memperlihatkan status panggilan Media Awal, Masuk, Menyambungkan, Berdering, Tersambung, Tahan, Putuskan Sambungan, Terputus |
✔️ | ✔️ | ✔️ | ✔️ | |
Memperlihatkan apakah peserta dibisukan | ✔️ | ✔️ | ✔️ | ✔️ | |
Memperlihatkan alasan mengapa peserta meninggalkan panggilan | ✔️ | ✔️ | ✔️ | ✔️ | |
Berbagi layar | Bagikan seluruh layar dari dalam aplikasi | ✔️ | ✔️2 | ✔️2 | ✔️2 |
Berbagi aplikasi tertentu (dari daftar aplikasi yang sedang berjalan) | ✔️ | ✔️2 | ❌ | ❌ | |
Berbagi tab browser web dari daftar tab yang terbuka | ✔️ | ||||
Berbagi audio sistem selama berbagi layar | ✔️ | ❌ | ❌ | ❌ | |
Peserta dapat melihat berbagi layar jarak jauh | ✔️ | ✔️ | ✔️ | ✔️ | |
Daftar | Daftar peserta | ✔️ | ✔️ | ✔️ | ✔️ |
Menghapus peserta | ✔️ | ✔️ | ✔️ | ✔️ | |
PSTN | Melakukan panggilan satu-ke-satu dengan peserta PSTN | ✔️ | ✔️ | ✔️ | ✔️ |
Melakukan panggilan grup dengan peserta PSTN | ✔️ | ✔️ | ✔️ | ✔️ | |
Mempromosikan panggilan satu ke satu dengan peserta PSTN ke dalam panggilan grup | ✔️ | ✔️ | ✔️ | ✔️ | |
Melakukan panggilan keluar dari panggilan grup sebagai peserta PSTN | ✔️ | ✔️ | ✔️ | ✔️ | |
Dukungan untuk media awal | ✔️ | ✔️ | ✔️ | ✔️ | |
Umum | Uji mikrofon, pengeras suara, dan kamera Anda dengan layanan pengujian audio (tersedia dengan menghubungi 8:echo123) | ✔️ | ✔️ | ✔️ | ✔️ |
Manajemen Perangkat | Minta izin untuk menggunakan audio dan/atau video | ✔️ | ✔️ | ✔️ | ✔️ |
Dapatkan daftar kamera | ✔️ | ✔️ | ✔️ | ✔️ | |
Atur kamera | ✔️ | ✔️ | ✔️ | ✔️ | |
Dapatkan kamera yang dipilih | ✔️ | ✔️ | ✔️ | ✔️ | |
Dapatkan daftar mikrofon | ✔️ | ✔️ | ❌3 | ❌3 | |
Atur mikrofon | ✔️ | ✔️ | ❌3 | ❌3 | |
Dapatkan mikrofon yang dipilih | ✔️ | ✔️ | ❌3 | ❌3 | |
Dapatkan daftar pengeras suara | ✔️ | ✔️ | ❌3 | ❌3 | |
Mengatur pengeras suara | ✔️ | ✔️ | ❌3 | ❌3 | |
Dapatkan pengeras suara yang dipilih | ✔️ | ✔️ | ❌3 | ❌3 | |
Penyajian Video | Merender video tunggal di banyak tempat (kamera lokal atau aliran jarak jauh) | ✔️ | ✔️ | ✔️ | ✔️ |
Mengatur / memperbarui mode penskalaan | ✔️ | ✔️ | ✔️ | ✔️ | |
Render streaming video jarak jauh | ✔️ | ✔️ | ✔️ | ✔️ | |
Efek Video | Latar Belakang Kabur | ✔️ | ✔️ | ✔️ | ✔️ |
Gambar latar belakang kustom | ✔️ | ✔️ | ✔️ | ✔️ | |
Efek Audio | Mode Musik | ❌ | ✔️ | ✔️ | ✔️ |
Pembatalan gema | ❌ | ✔️ | ✔️ | ✔️ | |
Penekanan kebisingan | ✔️ | ✔️ | ✔️ | ✔️ | |
Kontrol perolehan otomatis (AGC) | ❌ | ✔️ | ✔️ | ✔️ | |
Pemberitahuan 4 | Pemberitahuan push | ✔️ | ✔️ | ✔️ | ✔️ |
Konteks kustom | Menambahkan Pengguna ke Pengguna (UUI) atau header kustom ke panggilan | ✔️ | ❌ | ❌ | ❌ |
1 Kemampuan untuk Mematikan Suara Orang Lain saat ini dalam pratinjau publik.
2 Kemampuan Berbagi Layar dapat dicapai menggunakan API Media Mentah. Untuk mempelajari lebih lanjut, kunjungi panduan mulai cepat akses media mentah.
3 SDK Panggilan tidak memiliki API eksplisit untuk fungsi-fungsi ini, Anda harus menggunakan API OS Android &iOS untuk dicapai sebagai gantinya.
4 Nilai maksimum untuk TTL dalam platform asli, adalah 180 hari (15.552.000 detik), dan nilai min adalah 5 menit (300 detik). Untuk CTE (Titik Akhir Teams Kustom)/Identitas M365, nilai TTL maks adalah 24 jam (86.400 detik).
Dukungan JavaScript Calling SDK oleh OS dan browser
Tabel berikut ini mewakili sekumpulan browser yang didukung, yang saat ini tersedia. Kami mendukung tiga versi utama browser terbaru (terbaru tiga versi minor untuk Safari) kecuali dinyatakan lain.
Platform | Chrome | Safari | Azure Stack Edge | Firefox | Tampilan Web | Electron |
---|---|---|---|---|---|---|
Android | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
iOS | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Windows | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Ubuntu/Linux | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
- Berbagi Layar Keluar tidak didukung di browser seluler iOS atau Android.
- Dukungan Firefox ada di pratinjau publik.
- Saat ini, SDK panggilan hanya mendukung Android System WebView di Android, iOS WebView(WKWebView) di pratinjau publik. Jenis browser atau WebView yang disematkan lainnya di platform OS lain tidak didukung secara resmi, misalnya, GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. Menjalankan JavaScript Calling SDK pada platform ini tidak diuji secara aktif, mungkin atau mungkin tidak berfungsi.
- Aplikasi iOS di Safari tidak dapat menghitung/memilih perangkat mikrofon dan speaker (misalnya, Bluetooth). Masalah ini adalah batasan iOS, dan sistem operasi mengontrol pemilihan perangkat default.
Klien panggilan - model keamanan browser
Menggunakan WebRTC melalui HTTPS
API WebRTC getUserMedia
seperti mengharuskan aplikasi yang memanggil API ini dilayani melalui HTTPS. Untuk pengembangan lokal, Anda dapat menggunakan http://localhost
.
Sematkan Azure Communication Services Memanggil SDK dalam iframe
Kebijakan izin baru (juga disebut kebijakan fitur) tersedia di berbagai browser. Kebijakan ini mempengaruhi skenario panggilan dengan mengontrol bagaimana aplikasi dapat mengakses kamera dan mikrofon perangkat melalui elemen iframe lintas-asal.
Jika ingin menggunakan iframe untuk menghosting sebagian aplikasi dari domain lain, Anda harus menambahkan atribut allow
dengan nilai yang benar ke iframe Anda.
Misalnya, iframe ini memungkinkan akses kamera dan mikrofon:
<iframe allow="camera *; microphone *">
Dukungan Android Calling SDK
- Dukungan untuk Android API Level 21 atau Yang Lebih Tinggi
- Dukungan untuk Java 7 atau yang lebih tinggi
- Dukungan untuk Android Studio 2.0
Kami sangat menyarankan untuk mengidentifikasi dan memvalidasi skenario Anda dengan mengunjungi platform Android yang didukung
Dukungan sdk Panggilan iOS
- Dukungan untuk iOS 10.0+ pada waktu build, dan iOS 12.0+ pada waktu berjalan
- XCode 12.0+
- Dukungan untuk iPadOS 13.0+
Durasi panggilan maksimum
Durasi panggilan maksimum adalah 30 jam, peserta yang mencapai durasi panggilan maksimum selama 30 jam akan terputus dari panggilan.
Jumlah aliran video masuk yang didukung
Azure Communication Services Calling SDK mendukung konfigurasi streaming berikut:
Batas | Web | Windows/Android/iOS |
---|---|---|
# maksimum aliran lokal keluar yang dapat dikirim secara bersamaan | 1 video dan 1 berbagi layar | 1 video + 1 berbagi layar |
# maksimum aliran jarak jauh yang masuk yang dapat dirender secara bersamaan | 16 video + 1 berbagi layar di browser desktop*, 4 video + 1 berbagi layar di browser seluler web | 9 video + 1 berbagi layar |
* Mulai dari Azure Communication Services Web Calling SDK versi 1.16.3 Meskipun SDK Panggilan tidak memberlakukan batas ini, pengguna Anda mungkin mengalami penurunan performa jika terlampaui. Gunakan API Jumlah Video Optimal untuk menentukan berapa banyak streaming video masuk saat ini yang dapat didukung lingkungan web Anda. Untuk mendukung 16 video masuk dengan benar, komputer harus memiliki mimimum RAM 16GB dan CPU 4-core atau lebih besar yang berusia tidak lebih dari 3 tahun
Resolusi video yang didukung
SDK Panggilan Azure Communication Services secara otomatis menyesuaikan resolusi aliran berbagi video dan layar selama panggilan.
Catatan
Resolusi dapat bervariasi tergantung pada jumlah peserta pada panggilan, jumlah bandwidth yang tersedia untuk klien, kemampuan perangkat keras peserta lokal yang merender strean video jarak jauh dan parameter panggilan keseluruhan lainnya.
SDK Panggilan Azure Communication Services mendukung pengiriman resolusi video berikut
Resolusi video maksimum | WebJS | iOS | Android | Windows |
---|---|---|---|---|
Mengirim video | 720P | 720P | 720P | 1080P |
Mengirim berbagi layar | 1080P | 1080P | 1080P | 1080P |
Menerima aliran video jarak jauh atau berbagi layar | 1080P | 1080P | 1080P | 1080P |
Jumlah peserta pada dukungan panggilan
- Hingga 350 pengguna dapat bergabung dengan panggilan grup, panggilan Ruang atau Teams + ACS.
- Setelah ukuran panggilan mencapai 100+ peserta dalam panggilan, hanya 4 speaker paling dominan yang memiliki kamera video mereka yang dapat dilihat.
- Ketika jumlah orang dalam panggilan adalah 100+, jumlah render video masuk yang dapat dilihat secara otomatis berkurang dari 4x4 (16 video masuk) menjadi 2x2 (4 video masuk).
- Ketika jumlah pengguna di bawah 100, jumlah video masuk yang didukung akan dicadangkan hingga 4x4 (16 video masuk).
Memanggil batas waktu SDK
Batas waktu berikut berlaku untuk SDK Panggilan Azure Communication Services:
Perbuatan | Waktu habis dalam detik |
---|---|
Menyambungkan kembali/menghilangkan peserta | 60 |
Menambahkan atau menghapus modalitas baru dari panggilan (Mulai/hentikan berbagi video atau layar) | 40 |
Batas waktu operasi Transfer Panggilan habis | 60 |
1:1 waktu pendirian panggilan habis | 85 |
Batas waktu pembentukan panggilan grup | 85 |
Batas waktu pembentukan panggilan PSTN | 115 |
Mempromosikan panggilan 1:1 ke batas waktu panggilan grup | 115 |
Langkah berikutnya
Untuk informasi lebih lanjut, baca artikel berikut:
- Biasakan diri Anda dengan alur panggilan umum
- Pelajari tentang tipe panggilan
- Pelajari tentang API otomatisasi panggilan yang memungkinkan Anda membangun alur kerja panggilan berbasis server yang dapat merutekan dan mengontrol panggilan dengan aplikasi klien.
- Rencanakan solusi PSTN Anda