Android 12 memperkenalkan dukungan untuk model pendaftaran tunggal untuk menyediakan fitur MMTEL dan RCS. Model ini memungkinkan perangkat untuk memiliki semua fitur IMS yang dikelola melalui satu pendaftaran IMS yang disediakan oleh Layanan IMS perangkat dan untuk memenuhi persyaratan yang diperkenalkan oleh beberapa operator telekomunikasi. Dibandingkan dengan model pendaftaran ganda, di mana beberapa pendaftaran IMS dikelola pada satu perangkat, pendaftaran tunggal mengurangi lalu lintas di jaringan operator dan meningkatkan keandalan.
Android 12 mendukung model pendaftaran tunggal ini melalui arsitektur dengan serangkaian API yang memungkinkan tumpukan telepon AOSP mengelola fitur MMTEL yang disediakan oleh ImsService
dan fitur RCS yang disediakan oleh aplikasi perpesanan RCS yang dipilih pengguna. Untuk mendukung pendaftaran tunggal IMS, produsen perangkat dan vendor SoC harus menerapkan API ini untuk mengaktifkan fitur RCS di aplikasi perpesanan RCS yang dipilih pengguna.
Gambar 1 mengilustrasikan tumpukan IMS perangkat saat menggunakan model pendaftaran tunggal IMS. Semua aplikasi IMS menggunakan fitur ImsService untuk MMTEL dan RCS default perangkat melalui satu pendaftaran IMS. Ini termasuk penyediaan, penerusan pesan SIP, dan pertukaran kemampuan pengguna RCS.
Gambar 1. Arsitektur model registrasi tunggal
Android 11 dan yang lebih rendah hanya mendukung model pendaftaran ganda untuk menyediakan fitur MMTEL dan RCS, di mana MMTEL disediakan oleh perangkat ImsService dan fitur RCS diimplementasikan di atas dan mengelola tumpukan IMS mereka sendiri dan koneksi ke jaringan operator secara mandiri.
Gambar 2 mengilustrasikan arsitektur untuk model registrasi ganda. Dalam model ini, setiap aplikasi bertanggung jawab untuk menghubungkan ke jaringan operator dan membuat pendaftaran IMS untuk fitur MMTEL dan RCS. ImsService perangkat mengimplementasikan MMTEL, menggunakan koneksi data IMS perangkat ke jaringan operator, dan beroperasi secara independen dari aplikasi RCS lainnya.
Gambar 2. Arsitektur model registrasi ganda
API pendaftaran tunggal IMS
Perangkat yang menjangkau operator yang memerlukan pendaftaran tunggal IMS harus mendukung API pendaftaran tunggal IMS dan menentukan fitur Android PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION
. Gambar 3 menunjukkan API yang mendukung pendaftaran tunggal IMS.
Gambar 3. Permukaan API tingkat tinggi yang mendukung pendaftaran tunggal IMS
Perangkat Android yang mendukung pendaftaran tunggal IMS sebagai bagian dari tumpukan telepon AOSP diperlukan untuk mendukung semua API AOSP yang dijelaskan dalam tabel berikut.
Area Permukaan API | API aplikasi RCS | API IMS Vendor | Keterangan |
---|---|---|---|
Penyediaan RCS | Manajer Penyediaan | ImsConfigImplBase | Mengizinkan OEM atau operator menyediakan aplikasi untuk memperbarui status penyediaan RCS jika operator menggunakan mekanisme kepemilikan operator. ImsService juga harus mendukung AutoConfigurationServer (ACS) standar untuk penyediaan bagi operator yang tidak menggunakan mekanisme kepemilikan. |
Penerusan pesan SIP | SipDelegateManager | SipTransportImplBase | Mengizinkan aplikasi RCS untuk terlebih dahulu mengaitkan tag fitur RCS tertentu dengan perangkat ImsService , lalu mengirim dan menerima pesan SIP dan pembaruan pendaftaran IMS yang terkait dengan tag fitur RCS tersebut. |
Pemberitahuan pembawa khusus | Manajer Konektivitas | DataCallResponse | Mengizinkan aplikasi mendengarkan pemberitahuan QoS pada soket yang terkait dengan port lokal tertentu. |
Otentikasi GBA | bootstrapAuthenticationRequest | Layanan Gba | Mengizinkan aplikasi RCS mengautentikasi dengan jaringan dan kunci akses yang digunakan untuk fitur RCS seperti transfer file. |
Pertukaran kemampuan pengguna RCS | Manajer ImsRcs | RcsCapabilityExchangeImplBase | Memberikan AOSP kemampuan untuk mengirim kemampuan MMTEL dan RCS-nya ke vendor ImsService sehingga mereka dapat dipublikasikan di bawah satu entitas ke jaringan untuk pertukaran kemampuan pengguna RCS. Juga memungkinkan aplikasi lain yang tertarik dengan kemampuan RCS dari satu atau lebih kontak untuk menanyakan jaringan untuk kemampuan RCS kontak. |
Keamanan dan izin
Android 12 memperkenalkan izin berikut untuk memastikan akses aman ke jaringan operator dan data pengguna:
-
android.permission.PERFORM_IMS_SINGLE_REGISTRATION
-
android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
Izin android.permission.PERFORM_IMS_SINGLE_REGISTRATION
harus ditentukan oleh aplikasi perpesanan dengan fitur RCS. Agar izin ini diberikan, hal-hal berikut harus benar:
- Aplikasi harus diinstal sebagai aplikasi istimewa, artinya aplikasi tersebut telah diinstal sebelumnya pada perangkat dan diizinkan untuk mengakses izin istimewa
- Aplikasi harus disetel sebagai peran SMS default pengguna menggunakan
RoleManager
Jika kedua kondisi ini tidak terpenuhi, aplikasi ditolak akses ke izin android.permission.PERFORM_IMS_SINGLE_REGISTRATION
. Ini berarti bahwa aplikasi pihak ketiga tidak diizinkan mengakses API pendaftaran tunggal RCS karena memerlukan sertifikasi operator pada perangkat.
Izin android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
bila diberikan ke aplikasi yang juga memiliki izin READ_CONTACTS memungkinkan aplikasi meminta kemampuan RCS nomor telepon menggunakan RcsUceAdapter
. Agar izin ini diberikan, hal-hal berikut harus benar:
- Aplikasi harus diinstal sebagai aplikasi istimewa, artinya aplikasi tersebut telah diinstal sebelumnya pada perangkat dan diizinkan untuk mengakses izin istimewa.
Aplikasi harus didefinisikan sebagai salah satu peran
RoleManager
berikut:- Aplikasi perpesanan default: Disetel oleh pengguna.
- Aplikasi dialer default: Disetel oleh pengguna.
- Aplikasi kontak default: Peran yang diperkenalkan di Android 12 yang memungkinkan OEM untuk menentukan nama paket melalui nilai overlay perangkat
config_systemContacts
, yang harus sesuai dengan aplikasi kontak perangkat. Aplikasi itu kemudian diberi peran kontak.
Untuk mengakses IMS APN menggunakan ConnectivityManager
guna menyiapkan dan mengelola lalu lintas data, aplikasi juga harus meminta izin android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS
.
Contoh dan sumber
Android menyediakan aplikasi di AOSP yang mengimplementasikan aplikasi perpesanan uji dengan dukungan perpesanan RCS dasar untuk tujuan pengujian dan pengembangan. Anda dapat menemukan aplikasinya di testapps/TestRcsApp
. Saat aplikasi diinstal pada perangkat, aplikasi dapat disetel sebagai aplikasi perpesanan default pengguna dan akan memiliki izin yang diperlukan untuk mengakses API pendaftaran tunggal IMS.
Android juga menyediakan contoh implementasi ImsService untuk RCS. Kode sumbernya ada di /testapps/ImsTestService
.
Penerapan
Untuk detail implementasi lebih lanjut, unduh IMS Single Registration di Android .
Validasi
Untuk memvalidasi penerapan pendaftaran tunggal IMS Anda, lakukan hal berikut:
- Pastikan rangkaian tes CTS CtsTelephonyTestCases lulus.
- Instal dan jalankan TestRcsApp untuk menjalankan kasus uji pendaftaran tunggal dasar selama integrasi.
- Lulus sertifikasi operator untuk kasus uji pendaftaran tunggal IMS.