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.
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.
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.
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:
android.permission.PERFORM_IMS_SINGLE_REGISTRATION
android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
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.