IMS Hizmetten Yararlanma Hakkı

Android 12'den itibaren Android, TS.43 Hizmetten Yararlanma Hakkı Yapılandırması desteği sunar. Bu GSMA spesifikasyonu, Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE), IP üzerinden SMS (SMSoIP), eSIM isteğinde bulunan cihazlarla ilişkili veri planı (ODSA) dahil olmak üzere hizmetlerin etkinleştirilmesi için yetki doğrulama adımını tanımlayan bir GSMA spesifikasyonudur.

Android bu spesifikasyonu desteklemek için bir hizmet sağlayıcının, mobil cihazlara IP Multimedya Alt Sistemi (IMS) ağ hizmetlerinin durumunu bildirmesini sağlayan bir IMS hizmet yararlanma hakkı özelliği sağlar. Bu yararlanma hakkı özelliği, cihazın EAP-AKA kimlik doğrulamasını kullanarak IMS yararlanma hakkı durumu için GSMA TS.43 spesifikasyonunda tanımlandığı şekilde operatör yetkilendirme sunucusunu sorgulamasına olanak tanır. Kullanıcıların kimlik bilgilerini manuel olarak girmesini gerektirmez.

IMS yararlanma hakkı sunucularına sahip operatörler, hizmet temel hazırlığı için IMS hizmetten yararlanma hakkı özelliğini kullanabilir. Özelliği kullanmak şu avantajları sağlar:

  • Bu yararlanma hakkı özelliği birden fazla ürün ve OEM arasında kullanılabildiğinden operatörlerin test ve sertifikasyon maliyetlerini azaltır.
  • Standart bir Android uygulaması aracılığıyla cihaz üreticilerinin geliştirme yükünü azaltır.
  • Bu özellik açık kaynak olduğundan cihaz üreticilerinin ve operatörlerin özellik için kod katkısında bulunmasına olanak tanır.
  • Kuzey Amerikalı operatörler için acil durum adres yönetimi sağlar.

Mimari

Aşağıdaki şekilde, IMS hizmetten yararlanma özelliğinin mimarisi ve davranışı açıklanmaktadır.

TS.43 yararlanma hakkı özelliği

Şekil 1. TS.43 yararlanma hakkı özellik mimarisi

Şekil 1'de gösterildiği gibi IMS hizmetten yararlanma hakkı özelliğinin mimarisi aşağıdaki bileşenleri içerir:

  • service_entitlement TS.43 Service API statik kitaplığı: Bu kitaplık TS.43 spesifikasyonunu uygular, bir operatörün yararlanma hakkı sunucusuyla etkileşime girer ve her TS.43 kullanım alanı için uygulamaya yönelik API'ler sunar.
  • ImsServiceEntitlement istemci uygulaması: Bu uygulama, TS.43 Service API'yi kullanır. Uygulama, kullanıcıların hizmetleri etkinleştirmesi için operatörün hizmet portalını oluşturmaya yönelik web görünümleri de dahil olmak üzere kullanıcı arayüzü öğeleri uygular ve kullanıcı deneyimini uçtan uca yönetmek için diğer Android bileşenleriyle etkileşime girer.

    Android'i bir operatörün TS.43 tabanlı yararlanma hakkı sunucusuyla çalışacak şekilde yapılandırma hakkında daha fazla bilgi için ImsServiceEntitlement uygulaması bölümüne bakın.

Şekil 1'deki numaralı satırlar, IMS hizmet yararlanma hakkı özelliğinin bileşenlerinin birbiriyle nasıl iletişim kurduğunu göstermektedir. Aşağıda, bu adımların her biri etiketlendiği şekilde açıklanmaktadır:

(1) İstemci uygulaması, bir hizmetten yararlanma hakkı isteği başlatmak için TS.43 hizmet API'sini çağırır.

(2) TS.43 hizmet API'si, EAP-AKA sorgulaması başlatmak için operatörün yararlanma hakkı sunucusuna bir HTTP isteği gönderir.

(3) TS.43 hizmet API'si, EAP-AKA meydan okuma yanıtını tamamlamak için telefon API'lerini (örneğin, getIccAuthentication) çağırır.

(4) TS.43 hizmeti, EAP-AKA yanıtı doğrulandıktan sonra operatörün yararlanma hakkı sunucusundan hizmet yararlanma hakkı veya yapılandırma verilerini alır.

(5) TS.43 hizmeti, hizmetten yararlanma hakkını veya yapılandırma verilerini istemci uygulamasına döndürür.

(6) İstemci uygulaması verileri işler ve isteğe bağlı olarak kullanıcının hizmet etkinleştirme işlemini tamamlaması için operatörün hizmet portalını oluşturur.

Entegrasyon

Bu bölümde, service_entitlement kitaplığı ile ImsServiceEntitlement uygulamasını entegre etme işlemi açıklanmaktadır.

Android 12 API bağımlılığı olmadığından service_entitlement kitaplığı ve ImsServiceEntitlement uygulaması daha eski Android platformlarına geri aktarılabilir.

service_entitlement kitaplığı

service_entitlement kitaplığı statik olarak ImsServiceEntitlement app uygulamasına bağlı olduğundan, kitaplığın ImsServiceEntitlement uygulamasına entegre edilmesi için ek adımlara gerek yoktur.

service_entitlement kitaplığı, veri planı ve ODSA gibi TS.43 kullanım alanları için kendi uygulamalarınızla entegre edilebilir. Kitaplık, TS.43 dışındaki yararlanma hakkı kullanım alanları için EAP-AKA protokolüne dayalı bir uygulamaya da entegre edilebilir.

Aşağıda, bu tür kullanım alanları için kullanılacak API'ler açıklanmaktadır:

  • Kitaplıkta uygulanmış TS.43 HTTP protokolünü kullanan TS.43 uygulaması: ServiceEntitlement sınıfındaki API'leri kullanın
  • Kitaplıkta uygulanmış EAP-AKA protokolünü kullanan TS.43 dışı uygulama: EapAkaHelper sınıfında gösterilen API'leri kullanın

ImsServiceEntitlement uygulaması

Varsayılan olarak Android, ürün bölümünde yüklü ImsServiceEntitlement uygulamasını ayrıcalıklı uygulama olarak içerir. Uygulamayı yapılandırmak için aşağıdaki CarrierConfig anahtarlarını kullanın:

Anahtar Değer
KEY_ENTITLEMENT_SERVER_URL_STRING Operatörün yararlanma hakkı sunucusu URL'si. https:// öneki dahil edilmelidir.
KEY_FCM_SENDER_ID_STRING Operatörün FCM gönderen kimliği.

Kargo şirketi tarafından FCM gerekmiyorsa bu değeri ayarlamayın.
KEY_SHOW_VOWIFI_WEBVIEW_BOOL Operatör, kullanıcıların VoWiFi hizmetine kaydolması için web portalı kullanıcı arayüzü gerektiriyorsa true olarak ayarlayın. Örneğin, şartlar ve koşulları kabul etmek veya acil durum adresi girmek.

Bu kural genellikle Kuzey Amerika'daki operatörler için gereklidir.
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
KEY_SHOW_VOWIFI_WEBVIEW_BOOL, true ise com.android.imsserviceentitlement/.WfcActivationActivity olarak ayarlayın.
KEY_IMS_PROVISIONING_BOOL Operatör, arka planda IMS (VoLTE/VoWiFi/SMSoIP) hizmetlerinin ağ temel hazırlığını yapılmasını gerektiriyorsa true olarak ayarlayın.

Bu, Avrupa'daki belirli operatörler için zorunludur.
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL KEY_IMS_PROVISIONING_BOOL true ise true olarak ayarlayın.

Bir operatörün yararlanma hakkı sunucusuna ve web portalına giden HTTP trafiği, varsayılan ağ (ör. varsayılan mobil veri veya kablosuz) üzerinden iletilir.

GMS iş ortakları: Aşağıdaki operatörler, TS.43 v5.0 spesifikasyonuna uygun olarak Android 12'de TS.43'ten yararlanma hakkı uygulaması tarafından desteklenmektedir:

  • ABD: CSpire, US Cellular, Cellcom
  • Fransa: Orange

IMS temel hazırlığı için ek sistem kullanıcı arayüzü

Bu bölümde, OEM'lerin IMS hizmeti temel hazırlığıyla ilgili ek sistem kullanıcı arayüzü öğelerini nasıl destekleyebilecekleri (örneğin, VoWiFi sağlandığında bildirim gösterilirken) açıklanmaktadır.

ImsServiceEntitlement uygulaması, ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value)system API'sini kullanarak VoWiFi temel hazırlık durumunu platforma ayarlar. Bu API, VoLTE (KEY_VOLTE_PROVISIONING_STATUS ile) ve SMSoIP (KEY_SMS_OVER_IP_ENABLED ile) için de kullanılır.

Daha sonra sistem kullanıcı arayüzü, temel hazırlık durumu değişikliğini registerProvisioningChangedCallback üzerinden izlemek için getProvisioningIntValue kullanarak veya bir geri çağırma kaydederek temel hazırlık durumunu okuyabilir.

Test için yapılandırmaları geçersiz kılma

ImsServiceEntitlement uygulamasının davranışını test amacıyla geçici olarak değiştirmek için aşağıdaki prosedürleri kullanın. Operatör yapılandırmalarını geçersiz kılmayla ilgili ayrıntılar için Operatör yapılandırmalarını geçersiz kılma bölümüne bakın.

VoWiFi kayıt işlemi atlanıyor

VoWiFi kayıt işlemini atlamak ve VoWiFi'nin doğrudan açılmasına izin vermek için operatör yapılandırmasını KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING geçersiz kılın ve değerini boş bir dizeye ayarlayın.

IMS temel hazırlığı atlanıyor

IMS temel hazırlığını atlamak, IMS hizmetlerini kullanılabilir hale getirmek ve kullanıcıların bu hizmetleri ağ temel hazırlığı yapmadan etkinleştirmesine izin vermek için operatör yapılandırmasını KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL geçersiz kılın ve değerini false olarak ayarlayın.

Yararlanma hakkı sunucusu URL'si değiştiriliyor

Yararlanma hakkı sunucusu URL'sini değiştirmek için operatör yapılandırmasını KEY_ENTITLEMENT_SERVER_URL_STRING geçersiz kılın ve değerini beklenen URL dizesine ayarlayın. https:// ön ekini eklemeniz gerekir.

Operatör yapılandırmalarını geçersiz kılma

Android 11'den itibaren operatör yapılandırmasını geçersiz kılma komutları yerleşiktir ve kök ayrıcalıklarıyla kullanılabilir.

Aşağıdaki komut, carrier_volte_provisioning_required_bool operatör yapılandırma anahtarının nasıl geçersiz kılınacağını ve değerinin false olarak nasıl ayarlanacağının bir örneğidir. Birden fazla yapılandırmayı geçersiz kılmak için komutu birden çok kez çalıştırabilirsiniz.

adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false

Tüm geçersiz kılmaları temizlemek için aşağıdaki komutu kullanın:

adb shell cmd phone cc clear-values

Daha fazla bilgi edinmek için aşağıdaki komutu çalıştırın:

adb shell cmd phone cc