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

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

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

รูปที่ 1 แสดง IMS stack ของอุปกรณ์เมื่อใช้ IMS single register model แอปพลิเคชัน 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 RCS แอปพลิเคชัน APIs IMS API ของผู้จำหน่าย คำอธิบาย
การจัดเตรียม RCS ProvisioningManager ImsConfigImplBase อนุญาตให้ OEM หรือผู้ให้บริการจัดหาแอปเพื่ออัปเดตสถานะการจัดสรร RCS หากผู้ให้บริการใช้กลไกการให้สิทธิ์ของผู้ให้บริการที่เป็นกรรมสิทธิ์ นอกจากนี้ ImsService ยังต้องรองรับ AutoConfigurationServer (ACS) มาตรฐานสำหรับการจัดเตรียมสำหรับผู้ให้บริการที่ไม่ได้ใช้กลไกที่เป็นกรรมสิทธิ์
การส่งต่อข้อความ SIP SipDelegateManager SipTransportImplBase อนุญาตให้แอปพลิเคชัน RCS เชื่อมโยงแท็กคุณลักษณะ RCS เฉพาะกับอุปกรณ์ ImsService ก่อน จากนั้นจึงส่งและรับข้อความ SIP และการอัปเดตการลงทะเบียน IMS ที่เชื่อมโยงกับแท็กคุณลักษณะ RCS เหล่านั้น
การแจ้งเตือนเฉพาะผู้ถือ ตัวจัดการการเชื่อมต่อ DataCallResponse อนุญาตให้แอปฟังการแจ้งเตือน QoS บนซ็อกเก็ตที่เชื่อมโยงกับพอร์ตในเครื่องเฉพาะ
การรับรองความถูกต้อง GBA bootstrapAuthenticationRequest GbaService อนุญาตให้แอป RCS ตรวจสอบสิทธิ์กับเครือข่ายและคีย์การเข้าถึงที่ใช้สำหรับคุณลักษณะ RCS เช่น การถ่ายโอนไฟล์
การแลกเปลี่ยนความสามารถของผู้ใช้ RCS ImsRcsManager 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 ซึ่งหมายความว่าแอปของบุคคลที่สามไม่ได้รับอนุญาตให้เข้าถึง 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 เมื่อติดตั้งแอปบนอุปกรณ์แล้ว แอปนี้สามารถตั้งค่าเป็นแอปรับส่งข้อความเริ่มต้นของผู้ใช้ได้ และจะมีสิทธิ์ที่จำเป็นในการเข้าถึง API การลงทะเบียนเดี่ยวของ IMS

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

การดำเนินการ

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

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

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

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