Dari Android 12, Android menyertakan dukungan untuk TS.43 Service Entitlement Configuration , spesifikasi GSMA yang mendefinisikan langkah verifikasi hak untuk aktivasi layanan termasuk, Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE) , SMS over IP (SMSoIP), On-Device Service Activation (ODSA) perangkat pendamping eSIM (terkait dengan perangkat yang meminta) dan informasi paket data.
Untuk mendukung spesifikasi ini, Android menyediakan fitur penetapan layanan IMS yang memungkinkan penyedia layanan untuk menginformasikan perangkat seluler tentang status layanan jaringan IP Multimedia Subsystem (IMS). Fitur penetapan ini memungkinkan perangkat untuk menanyakan server hak operator seperti yang ditentukan oleh spesifikasi GSMA TS.43 untuk status hak IMS menggunakan otentikasi EAP-AKA tanpa mengharuskan pengguna untuk memasukkan kredensial apa pun secara manual.
Operator dengan server kepemilikan IMS dapat menggunakan fitur kepemilikan layanan IMS untuk penyediaan layanan. Mengadopsi fitur memberikan manfaat berikut:
- Mengurangi biaya pengujian dan sertifikasi untuk operator karena fitur hak ini dapat digunakan di beberapa produk dan OEM.
- Mengurangi biaya pengembangan untuk produsen perangkat melalui aplikasi Android standar.
- Mengizinkan produsen dan operator perangkat untuk menyumbangkan kode untuk fitur tersebut karena fitur tersebut bersifat open source.
- Menyediakan manajemen alamat darurat untuk operator Amerika Utara.
Mitra RUPS:
Untuk operator yang tidak mendukung spesifikasi TS.43, mitra GMS dapat menggunakan aplikasi Aktivasi WFC , yang tersedia di perangkat GMS sebagai aplikasi yang tidak dibundel, untuk menyediakan layanan jaringan IMS.
Jika Anda memiliki permintaan fitur yang terkait dengan fitur hak layanan IMS, hubungi perwakilan Google Anda atau kirim email ke gms-connectivity-apps@google.com .
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
TS.43 Pustaka statis API Layanan : Pustaka ini mengimplementasikan spesifikasi TS.43, berinteraksi dengan server hak operator, dan memperlihatkan API yang menghadap aplikasi untuk setiap kasus penggunaan TS.43. Aplikasi klien
ImsServiceEntitlement
: Aplikasi ini menggunakan TS.43 Service API. Aplikasi mengimplementasikan elemen UI termasuk tampilan web untuk merender portal layanan operator bagi pengguna untuk mengaktifkan layanan dan berinteraksi dengan komponen Android lainnya untuk mengelola pengalaman pengguna dari ujung ke ujung.Untuk informasi selengkapnya tentang cara mengonfigurasi Android agar berfungsi dengan server penetapan berbasis TS.43 operator, lihat aplikasi ImsServiceEntitlement .
Garis bernomor pada Gambar 1 menunjukkan bagaimana komponen fitur hak layanan IMS berkomunikasi satu sama lain. Berikut ini menjelaskan setiap langkah seperti yang 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 tantangan 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 mengembalikan hak layanan atau data konfigurasi ke aplikasi klien.
(6) Aplikasi klien menangani data dan secara opsional membuat portal layanan operator bagi pengguna untuk menyelesaikan aktivasi layanan.
Integrasi
Bagian ini menjelaskan proses untuk mengintegrasikan perpustakaan service_entitlement
dan aplikasi ImsServiceEntitlement
.
Karena tidak ada ketergantungan Android 12 API, pustaka service_entitlement
dan aplikasi ImsServiceEntitlement
dapat di-backport ke platform Android lama.
perpustakaan service_entitlement
Karena perpustakaan service_entitlement
ditautkan secara statis ke ImsServiceEntitlement app
, tidak ada langkah tambahan yang diperlukan untuk mengintegrasikan perpustakaan ke dalam aplikasi ImsServiceEntitlement
.
Pustaka service_entitlement
dapat diintegrasikan dengan aplikasi Anda sendiri untuk kasus penggunaan TS.43 seperti paket data dan ODSA. Pustaka juga dapat diintegrasikan ke dalam aplikasi untuk kasus penggunaan hak non-TS.43 berdasarkan protokol EAP-AKA.
Berikut ini menjelaskan API yang akan digunakan untuk kasus penggunaan tersebut:
- Aplikasi TS.43 menggunakan protokol HTTP TS.43 yang diterapkan di perpustakaan: Gunakan API di kelas
ServiceEntitlement
- Aplikasi non-TS.43 menggunakan protokol EAP-AKA yang diimplementasikan di perpustakaan: Gunakan API yang diekspos di kelas
EapAkaHelper
Mitra GMS: Berikut ini adalah vendor server hak TS.43 yang telah diuji dengan perpustakaan service_entitlement di Android 12.
- Ericsson
- HPE
- Nokia
Aplikasi ImsServiceEntitlement
Secara default, Android menyertakan aplikasi ImsServiceEntitlement
yang diinstal di partisi produk sebagai aplikasi 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 diwajibkan 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 syarat dan ketentuan atau memasukkan alamat darurat.Ini biasanya diperlukan oleh operator di Amerika Utara. |
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING | Setel ke com.android.imsserviceentitlement/.WfcActivationActivity , jika KEY_SHOW_VOWIFI_WEBVIEW_BOOL true . |
KEY_IMS_PROVISIONING_BOOL | Setel ke true jika operator memerlukan penyediaan jaringan layanan IMS (VoLTE/VoWiFi/SMSoIP) di latar belakang.Ini diperlukan oleh operator Eropa tertentu. |
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL | Setel ke true jika KEY_IMS_PROVISIONING_BOOL true . |
Lalu lintas HTTP ke server hak operator dan portal web melewati jaringan default, misalnya, data seluler default atau Wi-Fi.
Mitra GMS: Operator berikut didukung oleh aplikasi hak TS.43 di Android 12, mengikuti spesifikasi TS.43 v5.0:
- AS: CSpire, Seluler AS, Cellcom
- Prancis: Oranye
UI sistem tambahan untuk penyediaan IMS
Bagian ini menjelaskan bagaimana OEM dapat mendukung elemen UI sistem tambahan yang terkait dengan penyediaan layanan IMS (misalnya, saat menampilkan pemberitahuan saat VoWiFi disediakan).
Aplikasi ImsServiceEntitlement
menyetel 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
).
Sistem UI kemudian dapat membaca status penyediaan dengan menggunakan getProvisioningIntValue
atau dengan mendaftarkan panggilan balik untuk memantau perubahan status penyediaan melalui registerProvisioningChangedCallback
.
Mengganti konfigurasi untuk pengujian
Gunakan prosedur berikut untuk mengubah sementara perilaku aplikasi ImsServiceEntitlement
untuk tujuan pengujian. Untuk 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 setel nilainya ke string kosong.
Melewati penyediaan IMS
Untuk melewati penyediaan IMS, membuat layanan IMS tersedia dan memungkinkan pengguna untuk mengaktifkan layanan tersebut tanpa penyediaan jaringan, ganti konfigurasi operator KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL
dan setel 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
Dari Android 11, perintah override konfigurasi operator sudah ada di dalamnya dan tersedia dengan hak akses root.
Perintah berikut adalah contoh cara mengganti kunci konfigurasi operator carrier_volte_provisioning_required_bool
dan menyetel nilainya ke false
. Anda dapat menjalankan perintah beberapa kali untuk menimpa 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 lebih lanjut, jalankan perintah berikut:
adb shell cmd phone cc