IMS tek kaydı

Android 12, MMTEL ve RCS özelliklerini sağlamak için tek bir kayıt modeli desteğini kullanıma sunar. 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örleri tarafından sunulan şartlara uymasına olanak tanır. Tek kayıt modeli, birden fazla IMS kaydının tek bir cihazda yönetildiği çift kayıt modeline kıyasla 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ına 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önetme olanağı tanıyan bir API grubu içeren bir mimari aracılığıyla destekler. IMS tek kaydını desteklemek için cihaz üreticilerinin ve SoC tedarikçilerinin, kullanıcı tarafından seçilen RCS mesajlaşma uygulamasında RCS özelliklerini etkinleştirmek üzere bu API'leri uygulaması gerekir.

1. Şekil, IMS tek kaydı modeli kullanılırken cihazın IMS yığınını göstermektedir. Tüm IMS uygulamaları, tek bir IMS kaydı üzerinden MMTEL ve RCS özellikleri için cihazın varsayılan ImsService'ini kullanır. Buna temel hazırlık, SIP mesajı yönlendirme ve RCS kullanıcı özelliği değişimi dahildir.

Tek kayıt modu mimarisi

Ş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. Bu modelde MMTEL, cihazın ImsService'i tarafından sağlanır ve RCS özellikleri, kendi IMS yığınını ve operatörün ağına bağlantısını bağımsız olarak yönetir.

Şekil 2'de ikili kayıt modelinin mimarisi gösterilmektedir. Bu modelde her uygulama, operatörün ağına bağlanmaktan ve MMTEL ile RCS özellikleri için IMS kaydı oluşturmaktan sorumludur. Cihazın ImsService'i MMTEL'i uygular, cihazın operatör ağına IMS veri bağlantısını kullanır ve diğer RCS uygulamalarından bağımsız olarak çalışır.

Çift kayıt modu mimarisi

Şekil 2. Çift kayıt modeli mimarisi

IMS tek kayıt API'leri

IMS tek kaydı gerektiren operatörlerde kullanılan cihazlar, IMS tek kayıt API'lerini desteklemeli ve Android özelliğini PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION olarak tanımlamalıdır. Şekil 3'te, IMS tek kaydını destekleyen API'ler gösterilmektedir.

IMS tek kaydını destekleyen API yüzeyleri

Şekil 3. IMS tek kaydını destekleyen üst düzey API yüzeyleri

AOSP telefon yığını kapsamında IMS tek kaydını destekleyen Android cihazların, aşağıdaki tabloda açıklanan tüm AOSP API'lerini desteklemesi gerekir.

API Yüzey Alanı RCS uygulaması API'leri Vendor IMS API'leri Açıklama
RCS temel hazırlığı ProvisioningManager ImsConfigImplBase Operatörün tescilli bir operatör yetkilendirme mekanizması kullanması durumunda, bir OEM'nin veya operatörün RCS hazırlama durumunu güncellemek için bir uygulama sağlamasına olanak tanır. ImsService, özel bir mekanizma kullanmayan operatörler için standart AutoConfigurationServer'ı (ACS) da desteklemelidir.
SIP mesajı yönlendirme SipDelegateManager SipTransportImplBase Bir RCS uygulamasının önce belirli RCS özelliği etiketlerini cihazla ImsService ilişkilendirmesine, ardından bu RCS özelliği etiketleriyle ilişkili SIP mesajları ve IMS kaydı güncellemeleri göndermesine ve almasına olanak tanır.
Ayrılmış taşıyıcı bildirimleri ConnectivityManager DataCallResponse Uygulamaların, belirli bir yerel bağlantı noktasıyla ilişkili bir soketteki QoS bildirimlerini dinlemesine olanak tanır.
GBA kimlik doğrulaması bootstrapAuthenticationRequest GbaService Bir RCS uygulamasının ağda kimliğini doğrulamasını ve dosya aktarımı gibi RCS özelliklerinde kullanılan anahtarlara erişmesini sağlar.
RCS kullanıcı özelliği değişimi ImsRcsManager RcsCapabilityExchangeImplBase AOSP'ye, MMTEL ve RCS özelliklerini satıcı ImsService'e gönderme olanağı tanır. Böylece bu özellikler, RCS kullanıcı özelliği değişimi için ağda tek bir tüzel kişi altında yayınlanabilir. Ayrıca, bir veya daha fazla kişinin RCS özellikleriyle ilgilenen diğer uygulamaların, kişilerin RCS özellikleriyle ilgili olarak ağa sorgu göndermesine de olanak tanır.

Güvenlik ve izinler

Android 12, operatörün ağına ve kullanıcının verilerine güvenli erişim sağlamak için aşağıdaki izinleri sunar:

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ğıdaki koşulların karşılanması gerekir:

  • Uygulama, ayrıcalıklı bir uygulama olarak yüklenmelidir. Yani cihazda önceden yüklenmiş olmalı ve ayrıcalıklı izinlere erişmesine izin verilmelidir.
  • 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 nedenle, üçüncü taraf uygulamalarının cihazda operatör sertifikası gerektiğinden RCS tek kaydı API'lerine erişmesine izin verilmez.

READ_CONTACTS izni de olan bir uygulamaya verildiğinde android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE izni, uygulamanın RcsUceAdapter kullanarak telefon numaralarının RCS özelliklerini istemesine olanak tanır. Bu iznin verilebilmesi için aşağıdakilerin doğru olması gerekir:

  • Uygulama, ayrıcalıklı uygulama olarak yüklenmelidir. Bu, uygulamanın cihaza önceden yüklenmiş olması ve ayrıcalıklı izinlere erişmesine izin verilmesi anlamına gelir.
  • Uygulama aşağıdaki RoleManager rollerinden biri olarak tanımlanmalıdır:

    • 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 kullanıma sunulan bir rol. OEM'in, cihaz yer paylaşımı değeri config_systemContacts aracılığıyla bir paket adı tanımlamasına olanak tanır. Bu paket adı, cihazın kişiler uygulamasıyla eşleşmelidir. Ardından, bu uygulamaya kişiler rolü verilir.

Uygulamaların, veri trafiğini ayarlamak ve yönetmek için ConnectivityManager kullanarak IMS APN'ye erişmesi için android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS iznini de istemesi gerekir.

Örnekler ve kaynak

Android, test ve geliştirme amacıyla temel RCS mesajlaşma desteği sunan bir test mesajlaşma uygulaması içeren bir uygulamayı AOSP'de 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şmek için gereken izinlere sahip olur.

Android, RCS için ImsService'in örnek bir uygulamasını da sağlar. Kaynak kodu /testapps/ImsTestService adresinde bulunuyor.

Uygulama

Uygulamayla ilgili daha fazla bilgi için IMS Single Registration in Android (Android'de IMS Tek Kaydı) başlıklı dokümanı indirin.

Doğrulama

IMS tek kaydını uygulamanızı doğrulamak için aşağıdakileri yapın:

  • CtsTelephonyTestCases CTS test paketinin başarılı olduğundan emin olun.
  • Entegrasyon sırasında temel tek kayıt test durumlarını çalıştırmak için TestRcsApp'i yükleyip çalıştırın.
  • IMS tek kayıt test durumları için operatör sertifikasını geçin.