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 ครั้งเดียว
รูปที่ 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
-
android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
ต้องกำหนดสิทธิ์ 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