Pendaftaran tunggal IMS

Android 12 memperkenalkan dukungan untuk satu model pendaftaran untuk menyediakan fitur MMTEL dan RCS. Model ini memungkinkan perangkat memiliki semua fitur IMS yang dikelola melalui satu pendaftaran IMS yang disediakan oleh ImsService perangkat dan untuk mematuhi persyaratan yang diperkenalkan oleh beberapa operator telekomunikasi. Dibandingkan dengan model pendaftaran ganda, yang mengelola beberapa pendaftaran IMS di satu perangkat, pendaftaran tunggal mengurangi traffic di jaringan operator dan meningkatkan keandalan.

Android 12 mendukung model pendaftaran tunggal ini melalui arsitektur dengan kumpulan API yang memungkinkan stack telefoni AOSP mengelola fitur MMTEL yang disediakan oleh ImsService dan fitur RCS yang disediakan oleh aplikasi pesan RCS yang dipilih pengguna. Untuk mendukung pendaftaran tunggal IMS, produsen perangkat dan vendor SoC harus menerapkan API ini untuk mengaktifkan fitur RCS di aplikasi pesan RCS yang dipilih pengguna.

Gambar 1 mengilustrasikan stack IMS perangkat saat menggunakan model pendaftaran tunggal IMS. Semua aplikasi IMS menggunakan ImsService default perangkat untuk fitur MMTEL dan RCS melalui satu pendaftaran IMS. Hal ini mencakup penyediaan, penerusan pesan SIP, dan pertukaran kemampuan pengguna RCS.

Arsitektur mode pendaftaran tunggal

Gambar 1. Arsitektur model pendaftaran tunggal

Android 11 dan yang lebih lama hanya mendukung model pendaftaran ganda untuk menyediakan fitur MMTEL dan RCS, dengan MMTEL disediakan oleh fitur ImsService dan RCS perangkat yang diimplementasikan di atas serta mengelola stack dan koneksi IMS-nya sendiri ke jaringan operator secara independen.

Gambar 2 mengilustrasikan arsitektur untuk model pendaftaran ganda. Dalam model ini, setiap aplikasi bertanggung jawab untuk terhubung ke jaringan operator dan membuat pendaftaran IMS untuk fitur MMTEL dan RCS. ImsService perangkat menerapkan MMTEL, menggunakan koneksi data IMS perangkat ke jaringan operator, dan beroperasi secara independen dari aplikasi RCS lainnya.

arsitektur mode pendaftaran ganda

Gambar 2. Arsitektur model pendaftaran ganda

API pendaftaran tunggal IMS

Perangkat dengan cakupan 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.

Platform API yang mendukung pendaftaran tunggal IMS

Gambar 3. Platform API tingkat tinggi yang mendukung pendaftaran tunggal IMS

Perangkat Android yang mendukung pendaftaran tunggal IMS sebagai bagian dari stack telepon AOSP harus mendukung semua API AOSP yang dijelaskan dalam tabel berikut.

Area Permukaan API API aplikasi RCS Vendor IMS API Deskripsi
Penyediaan RCS ProvisioningManager ImsConfigImplBase Memungkinkan OEM atau operator menyediakan aplikasi untuk memperbarui status penyediaan RCS jika operator menggunakan mekanisme hak operator eksklusif. ImsService juga harus mendukung AutoConfigurationServer (ACS) standar untuk penyediaan bagi operator yang tidak menggunakan mekanisme eksklusif.
Penerusan pesan SIP SipDelegateManager SipTransportImplBase Mengizinkan aplikasi RCS untuk mengaitkan tag fitur RCS tertentu dengan ImsService perangkat terlebih dahulu, lalu mengirim dan menerima pesan SIP dan update pendaftaran IMS yang terkait dengan tag fitur RCS tersebut.
Notifikasi pembawa khusus ConnectivityManager DataCallResponse Mengizinkan aplikasi memproses notifikasi QoS pada soket yang terkait dengan port lokal tertentu.
Autentikasi GBA bootstrapAuthenticationRequest GbaService Memungkinkan aplikasi RCS mengautentikasi dengan jaringan dan kunci akses yang digunakan untuk fitur RCS seperti transfer file.
Pertukaran kemampuan pengguna RCS ImsRcsManager RcsCapabilityExchangeImplBase Memberikan kemampuan kepada AOSP untuk mengirim kemampuan MMTEL dan RCS-nya ke ImsService vendor sehingga dapat dipublikasikan dalam satu entitas ke jaringan untuk pertukaran kemampuan pengguna RCS. Juga memungkinkan aplikasi lain yang tertarik dengan kemampuan RCS dari satu atau beberapa kontak untuk mengkueri jaringan untuk mengetahui kemampuan RCS kontak.

Keamanan dan izin

Android 12 memperkenalkan izin berikut untuk memastikan akses yang aman ke jaringan operator dan data pengguna:

Izin android.permission.PERFORM_IMS_SINGLE_REGISTRATION harus ditentukan oleh aplikasi pesan dengan fitur RCS. Agar izin ini diberikan, hal berikut harus terpenuhi:

  • Aplikasi harus diinstal sebagai aplikasi dengan hak istimewa, yang berarti aplikasi tersebut sudah diinstal sebelumnya di perangkat dan diizinkan untuk mengakses izin dengan hak istimewa
  • Aplikasi harus ditetapkan sebagai peran SMS default pengguna menggunakan RoleManager

Jika kedua kondisi ini tidak terpenuhi, aplikasi akan ditolak aksesnya ke izin android.permission.PERFORM_IMS_SINGLE_REGISTRATION. Artinya, aplikasi pihak ketiga tidak diizinkan untuk mengakses API pendaftaran tunggal RCS karena memerlukan sertifikasi operator di perangkat.

Izin android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE saat diberikan ke aplikasi yang juga memiliki izin READ_CONTACTS memungkinkan aplikasi meminta kemampuan RCS nomor telepon menggunakan RcsUceAdapter. Agar izin ini diberikan, hal berikut harus terpenuhi:

  • Aplikasi harus diinstal sebagai aplikasi dengan hak istimewa, yang berarti aplikasi tersebut sudah diinstal sebelumnya di perangkat dan diizinkan untuk mengakses izin dengan hak istimewa.
  • Aplikasi harus ditentukan sebagai salah satu peran RoleManager berikut:

    • Aplikasi pesan default: Ditetapkan oleh pengguna.
    • Aplikasi telepon default: Disetel oleh pengguna.
    • Aplikasi kontak default: Peran yang diperkenalkan di Android 12 yang memungkinkan OEM menentukan nama paket melalui nilai overlay perangkat config_systemContacts, yang harus sesuai dengan aplikasi kontak perangkat. Aplikasi tersebut kemudian diberi peran kontak.

Untuk mengakses APN IMS menggunakan ConnectivityManager guna menyiapkan dan mengelola traffic data, aplikasi juga harus meminta izin android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS.

Contoh dan sumber

Android menyediakan aplikasi di AOSP yang mengimplementasikan aplikasi pesan pengujian dengan dukungan pesan RCS dasar untuk tujuan pengujian dan pengembangan. Anda dapat menemukan aplikasi di testapps/TestRcsApp. Saat diinstal di perangkat, aplikasi dapat ditetapkan sebagai aplikasi pesan default pengguna dan akan memiliki izin yang diperlukan untuk mengakses API pendaftaran tunggal IMS.

Android juga menyediakan contoh implementasi ImsService untuk RCS. Kode sumber ada di /testapps/ImsTestService.

Implementasi

Untuk detail penerapan selengkapnya, download IMS Single Registration in Android.

Validasi

Untuk memvalidasi penerapan pendaftaran tunggal IMS, lakukan hal berikut:

  • Pastikan rangkaian pengujian CTS CtsTelephonyTestCases lulus.
  • Instal dan jalankan TestRcsApp untuk menjalankan kasus pengujian pendaftaran tunggal dasar selama integrasi.
  • Lulus sertifikasi operator untuk kasus pengujian pendaftaran tunggal IMS.