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 จะต้องรองรับ AOSP API ทั้งหมดที่อธิบายไว้ในตารางต่อไปนี้

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

ความปลอดภัยและการอนุญาต

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

สิทธิ์ android.permission.PERFORM_IMS_SINGLE_REGISTRATION ต้องถูกกำหนดโดยแอปส่งข้อความที่มีคุณสมบัติ RCS ในการอนุญาตนี้ จะต้องเป็นจริงดังต่อไปนี้:

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

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

สิทธิ์ 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 เมื่อติดตั้งแอปบนอุปกรณ์แล้ว แอปดังกล่าวสามารถตั้งค่าเป็นแอปส่งข้อความเริ่มต้นของผู้ใช้ได้ และจะมีสิทธิ์ที่จำเป็นในการเข้าถึง API การลงทะเบียนครั้งเดียวของ IMS

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

การนำไปปฏิบัติ

สำหรับรายละเอียดการใช้งานเพิ่มเติม ให้ดาวน์โหลด IMS Single Registration ใน Android

การตรวจสอบ

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

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