การลงทะเบียน IMS ครั้งเดียว

Android 12 เปิดตัวการรองรับรูปแบบการลงทะเบียนเดียวสำหรับการให้บริการฟีเจอร์ MMTEL และ RCS โมเดลนี้ช่วยให้อุปกรณ์จัดการฟีเจอร์ IMS ทั้งหมดได้ ผ่านการลงทะเบียน IMS เดียวที่ให้บริการโดย ImsService ของอุปกรณ์ และ เป็นไปตามข้อกำหนดที่ผู้ให้บริการโทรคมนาคมบางรายกำหนด เมื่อเทียบกับโมเดลการลงทะเบียนแบบคู่ซึ่งมีการจัดการการลงทะเบียน IMS หลายรายการในอุปกรณ์เครื่องเดียว การลงทะเบียนแบบเดี่ยวจะช่วยลดการรับส่งข้อมูลในเครือข่ายของผู้ให้บริการและเพิ่มความน่าเชื่อถือ

Android 12 รองรับรูปแบบการลงทะเบียนเดียวนี้ ผ่านสถาปัตยกรรมที่มี ชุด API ที่ช่วยให้สแต็กโทรศัพท์ AOSP จัดการทั้งฟีเจอร์ MMTEL ที่ให้บริการโดย ImsService และฟีเจอร์ RCS ที่ให้บริการโดยแอปการรับส่งข้อความ RCS ที่ผู้ใช้เลือก เพื่อรองรับการลงทะเบียน IMS แบบเดียว ผู้ผลิตอุปกรณ์และผู้ให้บริการ SoC ต้องใช้ API เหล่านี้เพื่อเปิดใช้ฟีเจอร์ RCS ในแอปการรับส่งข้อความ RCS ที่ผู้ใช้เลือก

รูปที่ 1 แสดงสแต็ก IMS ของอุปกรณ์เมื่อใช้โมเดลการลงทะเบียน IMS ครั้งเดียว แอป IMS ทั้งหมดใช้ ImsService เริ่มต้นของอุปกรณ์สำหรับฟีเจอร์ MMTEL และ RCS ผ่านการลงทะเบียน IMS เดียว ซึ่งรวมถึงการจัดสรร การส่งต่อข้อความ SIP และการแลกเปลี่ยนความสามารถของผู้ใช้ RCS

สถาปัตยกรรมโหมดการลงทะเบียนครั้งเดียว

รูปที่ 1 สถาปัตยกรรมรูปแบบการลงทะเบียนเดียว

Android 11 และต่ำกว่ารองรับเฉพาะโมเดลการลงทะเบียนแบบคู่สำหรับการให้บริการฟีเจอร์ MMTEL และ RCS โดยที่ MMTEL ให้บริการโดย ImsService ของอุปกรณ์ และฟีเจอร์ RCS จะติดตั้งใช้งานแบบ Over-The-Top และจัดการสแต็ก IMS ของตนเองและการเชื่อมต่อกับเครือข่ายของผู้ให้บริการอย่างเป็นอิสระ

รูปที่ 2 แสดงสถาปัตยกรรมสำหรับโมเดลการจดทะเบียนคู่ ในโมเดลนี้ แอปแต่ละแอปมีหน้าที่เชื่อมต่อกับเครือข่ายของผู้ให้บริการและ สร้างการลงทะเบียน IMS สำหรับฟีเจอร์ MMTEL และ RCS ImsService ของอุปกรณ์จะใช้ MMTEL, ใช้การเชื่อมต่อข้อมูล IMS ของอุปกรณ์กับเครือข่ายของผู้ให้บริการ และทำงานโดยอิสระจากแอป RCS อื่นๆ

สถาปัตยกรรมโหมดการลงทะเบียนแบบคู่

รูปที่ 2 สถาปัตยกรรมรูปแบบการจดทะเบียนแบบคู่

API การลงทะเบียน IMS แบบครั้งเดียว

อุปกรณ์ที่อยู่ในเครือข่ายของผู้ให้บริการที่ต้องมีการลงทะเบียน IMS แบบครั้งเดียวต้องรองรับ API การลงทะเบียน IMS แบบครั้งเดียวและกำหนดฟีเจอร์ Android PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION รูปที่ 3 แสดง API ที่รองรับการลงทะเบียน IMS ครั้งเดียว

แพลตฟอร์ม API ที่รองรับการลงทะเบียน IMS ครั้งเดียว

รูปที่ 3 แพลตฟอร์ม API ระดับสูงที่รองรับการลงทะเบียน IMS ครั้งเดียว

อุปกรณ์ Android ที่รองรับการลงทะเบียน IMS แบบครั้งเดียวซึ่งเป็นส่วนหนึ่งของสแต็กโทรศัพท์ AOSP ต้องรองรับ AOSP API ทั้งหมดที่อธิบายไว้ในตารางต่อไปนี้

พื้นที่ผิวของ API API ของแอป RCS Vendor IMS APIs คำอธิบาย
การจัดสรร RCS ProvisioningManager ImsConfigImplBase อนุญาตให้ OEM หรือผู้ให้บริการระบุแอปเพื่ออัปเดตสถานะการจัดสรร RCS หากผู้ให้บริการใช้กลไกการให้สิทธิ์ของผู้ให้บริการที่เป็นกรรมสิทธิ์ ImsService ต้องรองรับ AutoConfigurationServer (ACS) มาตรฐานสำหรับการจัดสรรสำหรับผู้ให้บริการที่ไม่ได้ใช้กลไกที่เป็นกรรมสิทธิ์ด้วย
การส่งต่อข้อความ SIP SipDelegateManager SipTransportImplBase อนุญาตให้แอป RCS เชื่อมโยงแท็กฟีเจอร์ RCS ที่เฉพาะเจาะจงกับ อุปกรณ์ ImsService ก่อน จากนั้นจึงส่งและรับข้อความ SIP และ การอัปเดตการลงทะเบียน IMS ที่เชื่อมโยงกับแท็กฟีเจอร์ RCS เหล่านั้น
การแจ้งเตือนเกี่ยวกับ Dedicated Bearer ConnectivityManager DataCallResponse อนุญาตให้แอปฟังการแจ้งเตือน QoS ในซ็อกเก็ตที่เชื่อมโยง กับพอร์ตเฉพาะในเครื่อง
การตรวจสอบสิทธิ์ GBA bootstrapAuthenticationRequest GbaService อนุญาตให้แอป RCS ตรวจสอบสิทธิ์กับเครือข่ายและเข้าถึงคีย์ที่ใช้สำหรับ ฟีเจอร์ RCS เช่น การโอนไฟล์
การแลกเปลี่ยนความสามารถของผู้ใช้ RCS ImsRcsManager RcsCapabilityExchangeImplBase ช่วยให้ AOSP สามารถส่งความสามารถ MMTEL และ RCS ไปยัง ImsService ของผู้ให้บริการ เพื่อให้เผยแพร่ภายใต้นิติบุคคลเดียวไปยัง เครือข่ายสำหรับการแลกเปลี่ยนความสามารถของผู้ใช้ RCS ได้ นอกจากนี้ ยังอนุญาตให้แอปอื่นๆ ที่สนใจ ความสามารถ RCS ของรายชื่อติดต่ออย่างน้อย 1 รายการค้นหาความสามารถ RCS ของรายชื่อติดต่อในเครือข่ายได้ด้วย

ความปลอดภัยและสิทธิ์

Android 12 มีสิทธิ์ต่อไปนี้เพื่อให้มั่นใจว่าการเข้าถึงเครือข่ายของผู้ให้บริการและข้อมูลของผู้ใช้จะปลอดภัย

แอปรับส่งข้อความที่มีฟีเจอร์ RCS ต้องกำหนดสิทธิ์ android.permission.PERFORM_IMS_SINGLE_REGISTRATION เงื่อนไขต่อไปนี้ต้องเป็นจริงจึงจะได้รับสิทธิ์นี้

  • ต้องติดตั้งแอปเป็นแอปที่มีสิทธิ์ ซึ่งหมายความว่าแอปจะ ติดตั้งไว้ล่วงหน้าในอุปกรณ์และได้รับอนุญาตให้เข้าถึงสิทธิ์ที่มีสิทธิ์
  • ต้องตั้งค่าแอปเป็นบทบาท SMS เริ่มต้นของผู้ใช้โดยใช้ RoleManager

หากไม่เป็นไปตามเงื่อนไขทั้ง 2 ข้อนี้ แอปจะถูกปฏิเสธไม่ให้เข้าถึงสิทธิ์ android.permission.PERFORM_IMS_SINGLE_REGISTRATION ซึ่งหมายความว่าแอปของบุคคลที่สามไม่ได้รับอนุญาตให้เข้าถึง API การลงทะเบียนครั้งเดียวของ RCS เนื่องจากแอปเหล่านี้ต้องมีการรับรองผู้ให้บริการในอุปกรณ์

เมื่อให้สิทธิ์ android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE แก่แอปที่มีสิทธิ์เข้าถึงรายชื่อติดต่อด้วย แอปจะขอความสามารถ RCS ของหมายเลขโทรศัพท์ได้โดยใช้ RcsUceAdapter โดยจะต้องมีคุณสมบัติต่อไปนี้จึงจะได้รับสิทธิ์นี้

  • ต้องติดตั้งแอปเป็นแอปที่มีสิทธิ์ ซึ่งหมายความว่าแอปจะ ติดตั้งไว้ล่วงหน้าในอุปกรณ์และได้รับอนุญาตให้เข้าถึงสิทธิ์ที่มีสิทธิ์
  • แอปต้องกำหนดให้มีบทบาทใดบทบาทหนึ่งต่อไปนี้ RoleManager

    • แอปรับส่งข้อความเริ่มต้น: ผู้ใช้เป็นผู้ตั้งค่า
    • แอปโทรศัพท์เริ่มต้น: ผู้ใช้เป็นผู้กำหนด
    • แอปรายชื่อติดต่อเริ่มต้น: บทบาทที่เปิดตัวใน Android 12 ซึ่ง ช่วยให้ OEM กำหนดชื่อแพ็กเกจผ่าน ค่าการวางซ้อนของอุปกรณ์ config_systemContacts ซึ่งต้องสอดคล้องกับแอปรายชื่อติดต่อของอุปกรณ์ จากนั้นแอปดังกล่าวจะได้รับบทบาทรายชื่อติดต่อ

หากต้องการเข้าถึง IMS APN โดยใช้ ConnectivityManager เพื่อตั้งค่าและจัดการการรับส่งข้อมูล แอปต้องขอสิทธิ์ android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS ด้วย

ตัวอย่างและแหล่งที่มา

Android มีแอปใน AOSP ที่ใช้แอปรับส่งข้อความทดสอบที่มีการรองรับการรับส่งข้อความ RCS ขั้นพื้นฐานเพื่อวัตถุประสงค์ในการทดสอบและการพัฒนา คุณสามารถค้นหาแอปได้ ที่ testapps/TestRcsApp เมื่อติดตั้งแอปในอุปกรณ์แล้ว คุณจะตั้งค่าแอปเป็นแอปรับส่งข้อความเริ่มต้นของผู้ใช้ได้ และแอปจะมีสิทธิ์ที่จำเป็นในการเข้าถึง API การลงทะเบียนครั้งเดียวของ IMS

นอกจากนี้ Android ยังมีการติดตั้งใช้งาน ImsService สำหรับ RCS ตัวอย่างด้วย ซอร์สโค้ด อยู่ที่ /testapps/ImsTestService

การใช้งาน

โปรดดูรายละเอียดการติดตั้งใช้งานเพิ่มเติมโดยดาวน์โหลดการลงทะเบียน IMS ครั้งเดียวใน Android

การตรวจสอบ

หากต้องการตรวจสอบการติดตั้งใช้งานการลงทะเบียนครั้งเดียวของ IMS ให้ทำดังนี้

  • ตรวจสอบว่าชุดโปรแกรมทดสอบ CTS CtsTelephonyTestCases ผ่าน
  • ติดตั้งและเรียกใช้ TestRcsApp เพื่อเรียกใช้กรอบการทดสอบการลงทะเบียนเดียวพื้นฐานระหว่างการผสานรวม
  • ผ่านการรับรองของผู้ให้บริการสำหรับกรณีทดสอบการลงทะเบียน IMS ครั้งเดียว