การลงทะเบียน 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 จะใช้งานอยู่ด้านบนและจัดการสแต็ก 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 จะต้องรองรับ API ของ AOSP ทั้งหมดที่อธิบายไว้ในตารางต่อไปนี้

พื้นที่ผิวของ API API ของแอป RCS Vendor IMS API คำอธิบาย
การจัดสรร RCS ProvisioningManager ImsConfigImplBase อนุญาตให้ OEM หรือผู้ให้บริการมอบแอปเพื่ออัปเดตสถานะการจัดสรร RCS หากผู้ให้บริการใช้กลไกการให้สิทธิ์ของผู้ให้บริการที่เป็นกรรมสิทธิ์ นอกจากนี้ ImsService ต้องรองรับ AutoConfigurationServer (ACS) มาตรฐานสำหรับการจัดสรรสำหรับผู้ให้บริการที่ไม่ใช้กลไกที่เป็นกรรมสิทธิ์ด้วย
การส่งต่อข้อความ SIP SipDelegateManager SipTransportImplBase อนุญาตให้แอป RCS เชื่อมโยงแท็กฟีเจอร์ RCS ที่เฉพาะเจาะจงกับ อุปกรณ์ ImsService ก่อน จากนั้นจึงส่งและรับข้อความ SIP และ การอัปเดตการลงทะเบียน IMS ที่เชื่อมโยงกับแท็กฟีเจอร์ RCS เหล่านั้น
การแจ้งเตือนเกี่ยวกับ 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 แก่แอปที่มีสิทธิ์ READ_CONTACTS ด้วย แอปจะขอความสามารถ RCS ของหมายเลขโทรศัพท์ได้โดยใช้ RcsUceAdapter คุณต้องมีคุณสมบัติต่อไปนี้จึงจะได้รับสิทธิ์นี้

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

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

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

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

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

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

การใช้งาน

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

การตรวจสอบความถูกต้อง

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

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