Android 12, MMTEL ve RCS özelliklerini sağlamak için tek bir kayıt modeli desteğini sunuyor. Bu model, cihazların tüm IMS özelliklerinin, cihazın ImsService'i tarafından sağlanan tek bir IMS kaydı aracılığıyla yönetilmesine ve bazı telekom operatörlerinin getirdiği gereksinimlere uymasına olanak tanır. Birden fazla IMS kaydının tek bir cihazda yönetildiği ikili kayıt modeliyle karşılaştırıldığında tek kayıt, operatörün ağındaki trafiği azaltır ve güvenilirliği artırır.
Android 12, bu tek kayıt modelini, AOSP telefon yığınının hem ImsService
tarafından sağlanan MMTEL özelliklerini hem de kullanıcı tarafından seçilen RCS mesajlaşma uygulaması tarafından sağlanan RCS özelliklerini yönetmesine olanak tanıyan bir dizi API içeren bir mimari aracılığıyla destekler. IMS tek kaydını desteklemek için cihaz üreticileri ve SoC satıcıları, kullanıcı tarafından seçilen RCS mesajlaşma uygulamasında RCS özelliklerini etkinleştirmek üzere bu API'leri uygulamalıdır.
Şekil 1, IMS tek kayıt modeli kullanıldığında cihazın IMS yığınını göstermektedir. Tüm IMS uygulamaları, tek bir IMS kaydı üzerinden cihazın varsayılan ImsService for MMTEL ve RCS özelliklerini kullanır. Buna provizyon, SIP mesajı iletme ve RCS kullanıcı yeteneği alışverişi dahildir.
Şekil 1. Tek kayıt modeli mimarisi
Android 11 ve önceki sürümler, MMTEL ve RCS özelliklerini sağlamak için yalnızca ikili kayıt modelini destekler; burada MMTEL, cihazın ImsService tarafından sağlanır ve RCS özellikleri üst kısımda uygulanır ve kendi IMS yığınını ve operatörün ağına bağlantıyı bağımsız olarak yönetir.
Şekil 2 ikili kayıt modelinin mimarisini göstermektedir. Bu modelde her uygulama, operatörün ağına bağlanmaktan ve MMTEL ve RCS özellikleri için IMS kaydı oluşturmaktan sorumludur. Cihazın ImsService'i MMTEL'i uygular, cihazın operatör ağına olan IMS veri bağlantısını kullanır ve diğer RCS uygulamalarından bağımsız olarak çalışır.
Şekil 2. İkili kayıt modeli mimarisi
IMS tek kayıt API'leri
IMS tek kayıt gerektiren taşıyıcılara göre değişen cihazlar, IMS tek kayıt API'lerini desteklemeli ve PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION
Android özelliğini tanımlamalıdır. Şekil 3, IMS tek kaydını destekleyen API'leri göstermektedir.
Şekil 3. IMS tek kaydını destekleyen üst düzey API yüzeyleri
AOSP telefon yığınının bir parçası olarak IMS tek kaydını destekleyen Android cihazlarının, aşağıdaki tabloda açıklanan tüm AOSP API'lerini desteklemesi gerekir.
API Yüzey Alanı | RCS uygulama API'leri | Satıcı IMS API'leri | Tanım |
---|---|---|---|
RCS sağlama | Provizyon Yöneticisi | ImsConfigImplBase | Operatör, özel bir operatör yetkilendirme mekanizması kullanıyorsa, OEM'in veya operatörün RCS sağlama durumunu güncellemek için bir uygulama sağlamasına izin verir. ImsService ayrıca, özel bir mekanizma kullanmayan taşıyıcılara yönelik provizyon için standart AutoConfigurationServer'ı (ACS) desteklemelidir. |
SIP mesajı iletme | SipDelegateManager | SipTransportImplBase | Bir RCS uygulamasının önce belirli RCS özellik etiketlerini cihaz ImsService ile ilişkilendirmesine ve ardından bu RCS özellik etiketleriyle ilişkili SIP mesajları ve IMS kayıt güncellemelerini gönderip almasına izin verir. |
Özel taşıyıcı bildirimleri | Bağlantı Yöneticisi | Veri Çağrısı Yanıtı | Uygulamanın, belirli bir yerel bağlantı noktasıyla ilişkili bir yuvadaki QoS bildirimlerini dinlemesine izin verir. |
GBA kimlik doğrulaması | bootstrapKimlik Doğrulama İsteği | Gba Hizmeti | RCS uygulamasının ağda kimlik doğrulaması yapmasına ve dosya aktarımı gibi RCS özellikleri için kullanılan erişim anahtarlarına izin verir. |
RCS kullanıcı yeteneği değişimi | ImsRcs Yöneticisi | RcsCapabilityExchangeImplBase | AOSP'ye, MMTEL ve RCS yeteneklerini satıcı ImsService'e gönderme yeteneği sağlar, böylece bunlar RCS kullanıcı yeteneği alışverişi için tek bir varlık altında ağa yayınlanabilir. Ayrıca, bir veya daha fazla kişinin RCS yetenekleriyle ilgilenen diğer uygulamaların, kişilerin RCS yetenekleri için ağı sorgulamasına da olanak tanır. |
Güvenlik ve izinler
Android 12, operatörün ağına ve kullanıcı verilerine güvenli erişim sağlamak için aşağıdaki izinleri sunar:
-
android.permission.PERFORM_IMS_SINGLE_REGISTRATION
-
android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
android.permission.PERFORM_IMS_SINGLE_REGISTRATION
izni, RCS özelliklerine sahip mesajlaşma uygulaması tarafından tanımlanmalıdır. Bu iznin verilebilmesi için aşağıdakilerin doğru olması gerekir:
- Uygulamanın ayrıcalıklı bir uygulama olarak yüklenmesi gerekir; bu, uygulamanın cihaza önceden yüklendiği ve ayrıcalıklı izinlere erişmesine izin verildiği anlamına gelir
- Uygulama,
RoleManager
kullanılarak kullanıcının varsayılan SMS rolü olarak ayarlanmalıdır
Bu koşulların her ikisi de karşılanmazsa uygulamanın android.permission.PERFORM_IMS_SINGLE_REGISTRATION
iznine erişimi reddedilir. Bu, cihazda operatör sertifikası gerektirdiğinden üçüncü taraf uygulamaların RCS tek kayıt API'lerine erişmesine izin verilmediği anlamına gelir.
android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
izni, aynı zamanda READ_CONTACTS iznine sahip olan bir uygulamaya verildiğinde, uygulamanın RcsUceAdapter
kullanarak telefon numaralarının RCS özelliklerini talep etmesine olanak tanır. Bu iznin verilebilmesi için aşağıdakilerin doğru olması gerekir:
- Uygulamanın ayrıcalıklı bir uygulama olarak yüklenmesi gerekir; bu, uygulamanın cihaza önceden yüklendiği ve ayrıcalıklı izinlere erişmesine izin verildiği anlamına gelir.
Uygulamanın aşağıdaki
RoleManager
rollerinden biri olarak tanımlanması gerekir:- Varsayılan mesajlaşma uygulaması: Kullanıcı tarafından ayarlanır.
- Varsayılan çevirici uygulaması: Kullanıcı tarafından ayarlanır.
- Varsayılan kişiler uygulaması: Android 12'de tanıtılan ve OEM'in, cihazın kişiler uygulamasına karşılık gelmesi gereken
config_systemContacts
cihaz yer paylaşımı değeri aracılığıyla bir paket adı tanımlamasına olanak tanıyan bir rol. Daha sonra bu uygulamaya kişiler rolü verilir.
Veri trafiğini ayarlamak ve yönetmek amacıyla ConnectivityManager
kullanarak IMS APN'ye erişmek için uygulamaların ayrıca android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS
iznini istemesi gerekir.
Örnekler ve kaynak
Android, AOSP'de test ve geliştirme amacıyla temel RCS mesajlaşma desteğine sahip bir test mesajlaşma uygulaması uygulayan bir uygulama sağlar. Uygulamayı testapps/TestRcsApp
adresinde bulabilirsiniz. Uygulama bir cihaza yüklendiğinde kullanıcının varsayılan mesajlaşma uygulaması olarak ayarlanabilir ve IMS tek kayıt API'lerine erişim için gereken izinlere sahip olur.
Android ayrıca RCS için ImsService'in örnek bir uygulamasını da sağlar. Kaynak kodu /testapps/ImsTestService
konumundadır.
Uygulama
Daha fazla uygulama ayrıntısı için Android'de IMS Tek Kayıt'ı indirin.
Doğrulama
IMS tek kayıt uygulamanızı doğrulamak için aşağıdakileri yapın:
- CtsTelephonyTestCases CTS test paketinin geçtiğinden emin olun.
- Entegrasyon sırasında temel tek kayıt test senaryolarını çalıştırmak için TestRcsApp'ı yükleyin ve çalıştırın.
- IMS tek kayıt test senaryoları için taşıyıcı sertifikasını geçin.