IMS Tek Kayıt

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.

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; 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.

ikili kayıt modu mimarisi

Ş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.

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ı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 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.