IMS Tek Kayıt

Android 12, MMTEL ve RCS özellikleri sağlamak için tek bir kayıt modeli desteği sunar. Bu model, cihazların tüm IMS özelliklerinin, cihazın IMSService tarafından sağlanan tek bir IMS kaydı aracılığıyla yönetilmesine ve bazı telekom operatörleri tarafından getirilen gereksinimlere uymasına olanak tanır. Birden çok 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 AOSP telefon yığını hem MMTEL yönetmenizi sağlar API seti ile bir mimariye aracılığıyla 12 destekler bu tek kayıt modeli tarafından sağlanan özellikleri ImsService ve RCS uygulamasını mesajlaşma kullanıcı tarafından seçilen RCS tarafından sağlanan özellikler. 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 için bu API'leri uygulamalıdır.

Şekil 1, IMS tekli kayıt modelini kullanırken cihazın IMS yığınını gösterir. Tüm IMS uygulamaları, tek bir IMS kaydı üzerinden cihazın varsayılan MMTEL ve RCS özellikleri için ImsService'i kullanır. Bu, sağlama, SIP mesajı iletme ve RCS kullanıcı yetenek alışverişini içerir.

Tek kayıt modu mimarisi

Şekil 1. Tek kayıt model mimari

Android 11 ve altı, yalnızca MMTEL ve RCS özellikleri sağlamak için ikili bir kayıt modelini destekler; burada MMTEL, cihazın IMSService tarafından sağlanır ve RCS özellikleri üstten uygulanır ve kendi IMS yığınını ve taşıyıcının ağına olan bağlantısını 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 bir 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 model mimari

IMS tek kayıt API'leri

IMS IMS tek kayıt API'leri desteklemek ve Android özelliği tanımlamanız gerekir tek kayıt gerektiren taşıyıcılarda aralığı Cihazlar PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION . Şekil 3, IMS tek kaydını destekleyen API'leri gösterir.

IMS tek kaydını destekleyen API yüzeyleri

Şekil 3. Yüksek düzey API destekleyen bir kayıt, IMS yüzeyleri

AOSP telefon yığınının bir parçası olarak 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 uygulama API'leri Satıcı IMS API'leri Açıklama
RCS sağlama Sağlama Yöneticisi ImsConfigImplBase Bir OEM veya operatöre, operatör tescilli bir operatör yetkilendirme mekanizması kullanıyorsa, RCS sağlama durumunu güncellemek için bir uygulama sağlama izni verir. ImsService ayrıca özel bir mekanizma kullanmayan taşıyıcılar için provizyon sağlamak için standart AutoConfigurationServer'ı (ACS) desteklemelidir.
SIP mesaj yönlendirme SipDelegateYöneticisi SipTransportImplBase İlk ilişkilendirmek belirli RCS'ye bir RCS uygulama cihazı ile etiketleri özelliği verir ImsService göndermek ve bu RCS özelliği etiketleri ile ilişkili SIP mesajları ve IMS kaydını güncellemeleri almak sonra, vb.
Özel taşıyıcı bildirimleri Bağlantı Yöneticisi DataCallResponse Uygulamaya, belirli bir yerel bağlantı noktasıyla ilişkili bir sokette QoS bildirimlerini dinleme izni verir.
GBA kimlik doğrulaması bootstrapAuthenticationRequest Gba Hizmeti Bir RCS uygulamasının ağ ile 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ı yetenek değişimi ImsRcsYöneticisi RcsCapabilityExchangeImplBase AOSP'ye MMTEL ve RCS yeteneklerini satıcı ImsService'e gönderme yeteneği sağlar, böylece bunlar tek bir varlık altında RCS kullanıcı yetenek alışverişi için 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 izin verir.

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 özellikleri ile 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ı bir uygulama olarak yüklenmelidir, yani cihaza önceden yüklenmiştir ve ayrıcalıklı izinlere erişmesine izin verilir.
  • Uygulamanın kullanarak kullanıcının varsayılan SMS rolü olarak ayarlanması gerekir RoleManager

Bu koşulların her ikisi de karşılanmazsa, uygulamanın eriştiği engellendi android.permission.PERFORM_IMS_SINGLE_REGISTRATION izni. Bu, üçüncü taraf uygulamalarının, cihazda taşıyıcı sertifikası gerektirdiğinden, RCS tek kayıt API'lerine erişmesine izin verilmediği anlamına gelir.

android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE da READ_CONTACTS iznine sahip bir uygulamasına verilen izin uygulamasını kullanarak telefon numaraları RCS yeteneklerini talep sağlar RcsUceAdapter . Bu iznin verilebilmesi için aşağıdakilerin doğru olması gerekir:

  • Uygulama, ayrıcalıklı bir uygulama olarak yüklenmelidir, yani cihaza önceden yüklenmiştir ve ayrıcalıklı izinlere erişmesine izin verilir.
  • Uygulama aşağıdakilerden biri olarak tanımlanması gerekir RoleManager rolleri:

    • Varsayılan mesajlaşma uygulaması: Kullanıcı tarafından belirlenir.
    • Varsayılan çevirici uygulaması: Kullanıcı tarafından belirlenir.
    • Standart kontaklar uygulaması: OEM üzerinden bir paket adı tanımlamanızı sağlar Android 12'de tanıtılan Rol cihaz bindirme değeri config_systemContacts cihazınızdaki kişiler uygulamasına uygun olmalıdır. Bu uygulamaya daha sonra kişiler rolü verilir.

Kullanarak IMS APN erişmek için ConnectivityManager kurmak ve veri trafiğini yönetmek, uygulamalar da talep etmelidir android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS izni.

Örnekler ve kaynak

Android, test ve geliştirme amaçları için temel RCS mesajlaşma desteğine sahip bir test mesajlaşma uygulaması uygulayan AOSP'de bir uygulama sağlar. Sen de uygulamayı bulmaya testapps/TestRcsApp . Uygulama bir cihaza yüklendiğinde, kullanıcının varsayılan mesajlaşma uygulaması olarak ayarlanabilir ve IMS tekli kayıt API'lerine erişmek için gereken izinlere sahip olacaktır.

Android ayrıca RCS için ImsService'in örnek bir uygulamasını sağlar. Kaynak kodu olan /testapps/ImsTestService .

uygulama

Daha fazla Uygulama ayrıntıları için indirme Android'de Tek Kayıt IMS .

doğrulama

IMS tekli kayıt uygulamanızı doğrulamak için aşağıdakileri yapın:

  • Emin olun CtsTelephonyTestCases CTS test paketi geçer.
  • Yükleme ve çalıştırmak TestRcsApp entegrasyonu sırasında temel tek kayıt test durumları çalıştırmak için.
  • IMS tek kayıt test durumları için taşıyıcı sertifikasını geçin.