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. Birden fazla IMS kaydının tek bir cihazda yönetildiği çift 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 destekler. Bu modelde, AOSP telefon yığınına ImsService tarafından sağlanan MMTEL özelliklerini ve kullanıcı tarafından seçilen RCS mesajlaşma uygulaması tarafından sağlanan RCS özelliklerini yönetmesine olanak tanıyan bir dizi API'nin bulunduğu bir mimari kullanılır. 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 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. Bu işlemler arasında hazırlama, SIP mesajı yönlendirme ve RCS kullanıcı özelliği değişimi yer alır.

Tekli kayıt modu mimarisi

1. şekil. Tek kayıt modeli mimarisi

Android 11 ve önceki sürümlerde MMTEL ve RCS özelliklerini sağlamak için yalnızca çift kayıt modeli desteklenir. Bu modelde MMTEL, cihazın ImsService'i tarafından sağlanır ve RCS özellikleri, üst katmanda uygulanır. Ayrıca kendi IMS yığınını ve operatörün ağına bağlantısını bağımsız olarak yönetir.

Şekil 2'de, çift kayıt modelinin mimarisi gösterilmektedir. Bu modelde her uygulama, operatörün ağına bağlanmaktan ve MMTEL ile RCS özellikleri için bir IMS kaydı oluşturmaktan sorumludur. Cihazın ImsService'i MMTEL'i uygular, operatör ağına bağlanmak için cihazın 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'nin tek kaydını destekleyen API'ler gösterilmektedir.

IMS tek kaydını destekleyen API yüzeyleri

3.Şekil 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ı (API Surface Area) RCS uygulaması API'leri Tedarikçi IMS API'leri Açıklama
RCS temel hazırlığı ProvisioningManager ImsConfigImplBase Bir 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, tescilli bir mekanizma kullanmayan operatörler için sağlama amacıyla 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ını ve IMS kaydı güncellemelerini 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şimi sağlamak için aşağıdaki izinleri sunar:

android.permission.PERFORM_IMS_SINGLE_REGISTRATION izni, RCS özelliklerini içeren mesajlaşma uygulaması tarafından tanımlanmalıdır. Bu iznin verilebilmesi için aşağıdakilerin doğru olması gerekir:

  • Uygulama, ayrıcalıklı uygulama olarak yüklenmelidir. Yani cihaza ö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 ikisi de karşılanmazsa uygulamanın android.permission.PERFORM_IMS_SINGLE_REGISTRATION iznine erişimi reddedilir. Bu, üçüncü taraf uygulamaların cihazda operatör sertifikası gerektiğinden RCS tek kaydı API'lerine erişmesine izin verilmediği anlamına gelir.

READ_CONTACTS iznine de sahip 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. Yani cihaza önceden yüklenmiş olmalı ve ayrıcalıklı izinlere erişmesine izin verilmelidir.
  • Uygulama aşağıdaki rollerden biri olarak tanımlanmalıdır: RoleManager roller:

    • 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 roldür. Bu rol, OEM'lerin config_systemContactscihaz yerleşimi değeri 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.

Veri trafiğini ayarlamak ve yönetmek için ConnectivityManager kullanarak IMS APN'ye erişmek isteyen uygulamaların 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 kaydı 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

Uygulama hakkında 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ıtlı test senaryolarını çalıştırmak için TestRcsApp'i yükleyip çalıştırın.
  • IMS tek kayıt test senaryoları için operatör sertifikasını geçin.