Mulai Android 12, Android menyertakan dukungan untuk TS.43 Service Entitlement Configuration, spesifikasi GSMA yang menentukan langkah verifikasi hak untuk aktivasi layanan termasuk, Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE), SMS over IP (SMSoIP), informasi Aktivasi Layanan di Perangkat (ODSA) perangkat pendamping paket eSIM).
Untuk mendukung spesifikasi ini, Android menyediakan fitur hak layanan IMS yang memungkinkan penyedia layanan memberi tahu perangkat seluler tentang status layanan jaringan IP Multimedia Subsystem (IMS). Fitur hak ini memungkinkan perangkat membuat kueri server hak operator seperti yang ditetapkan oleh spesifikasi GSMA TS.43 untuk status hak IMS menggunakan autentikasi EAP-AKA tanpa mengharuskan pengguna memasukkan kredensial apa pun secara manual.
Operator dengan server hak IMS dapat menggunakan fitur hak layanan IMS untuk penyediaan layanan. Pengadopsian fitur ini akan memberikan manfaat berikut:
- Mengurangi biaya pengujian dan sertifikasi untuk ekspedisi karena fitur hak ini dapat digunakan di beberapa produk dan OEM.
- Mengurangi overhead pengembangan untuk produsen perangkat melalui aplikasi Android standar.
- Memungkinkan produsen dan operator perangkat memberikan kode untuk fitur karena fitur ini bersifat open source.
- Menyediakan pengelolaan alamat darurat untuk operator di Amerika Utara.
Arsitektur
Gambar berikut menjelaskan arsitektur dan perilaku fitur hak layanan IMS.
Gambar 1. Arsitektur fitur hak TS.43
Seperti yang ditunjukkan pada Gambar 1, arsitektur fitur hak layanan IMS mencakup komponen berikut:
service_entitlement
Library statis TS.43 Service API: Library ini menerapkan spesifikasi TS.43, berinteraksi dengan server hak operator, dan mengekspos penggunaan API yang ditampilkan ke aplikasi untuk setiap TS.43.Aplikasi klien
ImsServiceEntitlement
: Aplikasi ini menggunakan TS.43 Service API. Aplikasi mengimplementasikan elemen UI, termasuk webview, untuk merender portal layanan operator agar pengguna dapat mengaktifkan layanan dan berinteraksi dengan komponen Android lainnya untuk mengelola pengalaman pengguna secara menyeluruh.Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi Android agar berfungsi dengan server hak berbasis TS.43 operator, lihat Aplikasi ImsServiceEntitlement.
Garis bernomor pada Gambar 1 menunjukkan bagaimana komponen fitur hak layanan IMS berkomunikasi satu sama lain. Berikut adalah penjelasan setiap langkah sebagaimana diberi label:
(1) Aplikasi klien memanggil API layanan TS.43 untuk memulai permintaan hak layanan.
(2) API layanan TS.43 mengirimkan permintaan HTTP ke server hak operator untuk memulai verifikasi login EAP-AKA.
(3) API layanan TS.43 memanggil API telepon (misalnya,
getIccAuthentication
)
untuk menyelesaikan respons tantangan EAP-AKA.
(4) Layanan TS.43 menerima hak layanan atau data konfigurasi dari server hak operator setelah respons EAP-AKA diverifikasi.
(5) Layanan TS.43 akan menampilkan hak layanan atau data konfigurasi ke aplikasi klien.
(6) Aplikasi klien menangani data dan secara opsional merender portal layanan operator agar pengguna dapat menyelesaikan aktivasi layanan.
Integrasi
Bagian ini menjelaskan proses mengintegrasikan library service_entitlement
dan aplikasi ImsServiceEntitlement
.
Karena tidak ada dependensi API Android 12, library
service_entitlement
dan aplikasi ImsServiceEntitlement
dapat di-backport
ke platform Android lama.
library service_entitlement
Karena library service_entitlement
secara statis ditautkan ke
ImsServiceEntitlement app
, tidak ada langkah tambahan yang diperlukan untuk mengintegrasikan
library ke dalam aplikasi ImsServiceEntitlement
.
Library service_entitlement
dapat diintegrasikan dengan aplikasi Anda sendiri untuk kasus penggunaan
TS.43 seperti paket data dan ODSA. Library ini juga dapat diintegrasikan ke
aplikasi untuk kasus penggunaan hak non-TS.43 berdasarkan protokol EAP-AKA.
Berikut penjelasan API yang akan digunakan untuk kasus penggunaan tersebut:
- Aplikasi TS.43 yang menggunakan protokol HTTP TS.43 yang diterapkan di library:
Menggunakan API di class
ServiceEntitlement
- Aplikasi non-TS.43 yang menggunakan protokol EAP-AKA yang diimplementasikan di library: Gunakan
API yang ditampilkan di class
EapAkaHelper
Aplikasi ImsServiceEntitlement
Secara default, Android menyertakan aplikasi ImsServiceEntitlement
yang diinstal di partisi produk sebagai aplikasi dengan hak istimewa. Untuk mengonfigurasi aplikasi, gunakan kunci CarrierConfig berikut:
Kunci | Nilai |
---|---|
KEY_ENTITLEMENT_SERVER_URL_STRING |
URL server hak operator. Awalan https:// harus
disertakan. |
KEY_FCM_SENDER_ID_STRING |
ID pengirim FCM operator. Jangan tetapkan nilai ini jika FCM tidak diperlukan oleh operator. |
KEY_SHOW_VOWIFI_WEBVIEW_BOOL |
Setel ke true jika operator memerlukan UI portal web bagi pengguna untuk mendaftar ke layanan VoWiFi. Misalnya, menyetujui persyaratan dan
ketentuan atau memasukkan alamat darurat.Hal ini biasanya diwajibkan oleh ekspedisi di Amerika Utara. |
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING |
Tetapkan ke
com.android.imsserviceentitlement/.WfcActivationActivity , jika
KEY_SHOW_VOWIFI_WEBVIEW_BOOL adalah true . |
KEY_IMS_PROVISIONING_BOOL |
Setel ke true jika operator memerlukan penyediaan jaringan layanan IMS
(VoLTE/VoWiFi/SMSoIP) di latar belakang.Hal ini diwajibkan oleh operator tertentu dari Eropa. |
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL |
Tetapkan ke true jika KEY_IMS_PROVISIONING_BOOL
adalah true . |
Traffic HTTP ke server hak operator dan portal web melewati jaringan default, misalnya, data seluler atau Wi-Fi default.
Partner GMS: Operator berikut didukung oleh aplikasi hak TS.43 di Android 12, mengikuti spesifikasi TS.43 v5.0:
- AS: CSpire, US Cellular, Cellcom
- Prancis: Orange
UI sistem tambahan untuk penyediaan IMS
Bagian ini menjelaskan cara OEM mendukung elemen UI sistem tambahan yang terkait dengan penyediaan layanan IMS (misalnya, saat menampilkan notifikasi saat VoWiFi disediakan).
Aplikasi ImsServiceEntitlement
menetapkan status penyediaan VoWiFi ke dalam platform menggunakan API sistem ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
value)
. API ini juga digunakan untuk VoLTE (dengan KEY_VOLTE_PROVISIONING_STATUS
) dan SMSoIP (dengan KEY_SMS_OVER_IP_ENABLED
).
UI sistem kemudian dapat membaca status penyediaan menggunakan
getProvisioningIntValue
atau dengan mendaftarkan callback untuk memantau perubahan status penyediaan melalui
registerProvisioningChangedCallback
.
Mengganti konfigurasi untuk pengujian
Gunakan prosedur berikut untuk mengubah sementara perilaku aplikasi ImsServiceEntitlement
untuk tujuan pengujian. Untuk mengetahui detail tentang cara mengganti konfigurasi
operator, lihat Mengganti konfigurasi
operator.
Melewati proses pendaftaran VoWiFi
Untuk melewati proses pendaftaran VoWiFi, yang memungkinkan VoWiFi diaktifkan secara langsung, ganti konfigurasi operator KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
dan tetapkan nilainya ke string kosong.
Melewati penyediaan IMS
Untuk melewati penyediaan IMS, membuat layanan IMS tersedia dan mengizinkan pengguna mengaktifkan layanan tersebut tanpa penyediaan jaringan, ganti konfigurasi operator KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL
dan tetapkan nilainya ke false
.
Mengubah URL server hak
Untuk mengubah URL server hak, ganti konfigurasi operator
KEY_ENTITLEMENT_SERVER_URL_STRING
dan tetapkan nilainya ke string URL yang diharapkan. Anda harus menyertakan awalan https://
.
Mengganti konfigurasi operator
Mulai Android 11, perintah penggantian konfigurasi operator sudah ada di dalamnya dan tersedia dengan hak istimewa root.
Perintah berikut adalah contoh cara mengganti kunci konfigurasi operator
carrier_volte_provisioning_required_bool
dan menetapkan nilainya ke false
. Anda dapat menjalankan perintah ini beberapa kali untuk mengganti beberapa konfigurasi.
adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false
Untuk menghapus semua penggantian, gunakan perintah berikut:
adb shell cmd phone cc clear-values
Untuk mendapatkan informasi selengkapnya, jalankan perintah berikut:
adb shell cmd phone cc