Android 12 รองรับรูปแบบการลงทะเบียนแบบเดียวสำหรับให้บริการฟีเจอร์ MMTEL และ RCS รูปแบบนี้ช่วยให้อุปกรณ์จัดการฟีเจอร์ IMS ทั้งหมดได้ผ่านการลงทะเบียน IMS ครั้งเดียวที่ ImsService ของอุปกรณ์ให้ไว้ และเพื่อให้เป็นไปตามข้อกำหนดที่ผู้ให้บริการโทรคมนาคมบางรายกำหนด เมื่อเทียบกับโมเดลการลงทะเบียนแบบคู่ที่มีการจัดการการลงทะเบียน IMS หลายรายการในอุปกรณ์เดียว การลงทะเบียนครั้งเดียวจะช่วยลดการรับส่งข้อมูลบนเครือข่ายของผู้ให้บริการและเพิ่มความเสถียรได้
Android 12 รองรับโมเดลการลงทะเบียนเดียวนี้ผ่านสถาปัตยกรรมที่มีชุด API ที่อนุญาตให้สแต็กโทรศัพท์ของ AOSP จัดการทั้งฟีเจอร์ MMTEL ที่ให้บริการโดย ImsService
และฟีเจอร์ RCS ที่ให้บริการโดยแอปรับส่งข้อความ RCS ที่ผู้ใช้เลือก ผู้ผลิตอุปกรณ์และผู้ให้บริการ SoC ต้องใช้ API เหล่านี้เพื่อเปิดใช้ฟีเจอร์ RCS ในแอปรับส่งข้อความ RCS ที่ผู้ใช้เลือก เพื่อรองรับการลงทะเบียน IMS เพียงครั้งเดียว
รูปที่ 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 แบบครั้งเดียว
รูปที่ 3 แพลตฟอร์ม API ระดับสูงที่รองรับการลงทะเบียน IMS ครั้งเดียว
อุปกรณ์ Android ที่รองรับการลงทะเบียน IMS ครั้งเดียวซึ่งเป็นส่วนหนึ่งของสแต็กโทรศัพท์ AOSP จะต้องรองรับ AOSP API ทั้งหมดที่อธิบายไว้ในตารางต่อไปนี้
พื้นที่ผิวของ API | RCS App API | IMS API ของผู้ให้บริการ | คำอธิบาย |
---|---|---|---|
การจัดสรร RCS | ProvisioningManager | ImsConfigImplBase | อนุญาตให้ OEM หรือผู้ให้บริการระบุแอปเพื่ออัปเดตสถานะการจัดสรร RCS หากผู้ให้บริการใช้กลไกการให้สิทธิ์ของผู้ให้บริการที่เป็นกรรมสิทธิ์ นอกจากนี้ ImsService ยังต้องรองรับ AutoConfigurationServer (ACS) มาตรฐานสำหรับการกำหนดค่าผู้ให้บริการที่ไม่ได้ใช้กลไกที่เป็นกรรมสิทธิ์ด้วย |
การส่งต่อข้อความ SIP | SipDelegateManager | SipTransportImplBase | อนุญาตให้แอป RCS เชื่อมโยงแท็กฟีเจอร์ RCS ที่เฉพาะเจาะจงกับอุปกรณ์ ImsService ก่อน จากนั้นจึงส่งและรับข้อความ SIP และการอัปเดตการลงทะเบียน IMS ที่เชื่อมโยงกับแท็กฟีเจอร์ RCS เหล่านั้น |
การแจ้งเตือนสำหรับผู้ให้บริการโดยเฉพาะ | ConnectivityManager | DataCallResponse | อนุญาตให้แอปฟังการแจ้งเตือน QoS บนซ็อกเก็ตที่เชื่อมโยงกับพอร์ตในเครื่องที่เฉพาะเจาะจง |
การตรวจสอบสิทธิ์ GBA | bootstrapAuthenticationRequest | GbaService | อนุญาตให้แอป RCS ตรวจสอบสิทธิ์ด้วยเครือข่ายและคีย์การเข้าถึงที่ใช้สำหรับฟีเจอร์ RCS เช่น การโอนไฟล์ |
การแลกเปลี่ยนความสามารถของผู้ใช้ RCS | ImsRcsManager | RcsCapabilityExchangeImplBase | ช่วยให้ AOSP สามารถส่งความสามารถ MMTEL และ RCS ไปยัง ImsService ของผู้ให้บริการเพื่อให้เผยแพร่ไปยังเครือข่ายภายใต้เอนทิตีเดียวกันเพื่อแลกเปลี่ยนความสามารถของผู้ใช้ RCS ได้ และยังอนุญาตให้แอปอื่นๆ ที่สนใจความสามารถ RCS ของรายชื่อติดต่ออย่างน้อย 1 รายสามารถค้นหาเครือข่ายเพื่อดูความสามารถ RCS ของรายชื่อติดต่อได้ |
ความปลอดภัยและสิทธิ์
Android 12 เปิดตัวสิทธิ์ต่อไปนี้เพื่อให้การเข้าถึงเครือข่ายของผู้ให้บริการและข้อมูลของผู้ใช้เป็นไปอย่างปลอดภัย
android.permission.PERFORM_IMS_SINGLE_REGISTRATION
android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
แอปรับส่งข้อความที่มีฟีเจอร์ RCS จะต้องกำหนดสิทธิ์ android.permission.PERFORM_IMS_SINGLE_REGISTRATION
เงื่อนไขต่อไปนี้ต้องตรงตามข้อกำหนดจึงจะได้รับสิทธิ์นี้
- แอปต้องติดตั้งเป็นแอปที่มีสิทธิ์ ซึ่งหมายความว่าแอปได้รับการติดตั้งไว้ล่วงหน้าในอุปกรณ์และได้รับอนุญาตให้เข้าถึงสิทธิ์ที่มีสิทธิ์
- คุณต้องตั้งค่าแอปเป็นบทบาท SMS เริ่มต้นของผู้ใช้โดยใช้
RoleManager
หากไม่เป็นไปตามเงื่อนไขทั้ง 2 ข้อนี้ แอปจะถูกปฏิเสธไม่ให้เข้าถึงสิทธิ์ 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
ซึ่งต้องสอดคล้องกับแอปรายชื่อติดต่อของอุปกรณ์ จากนั้นแอปดังกล่าวจะได้รับบทบาทรายชื่อติดต่อ
หากต้องการเข้าถึง APN ของ IMS โดยใช้ ConnectivityManager
เพื่อตั้งค่าและจัดการการรับส่งข้อมูล แอปจะต้องขอสิทธิ์ android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS
ด้วย
ตัวอย่างและแหล่งที่มา
Android มีแอปใน AOSP ที่ใช้แอปรับส่งข้อความทดสอบที่รองรับการรับส่งข้อความ RCS ขั้นพื้นฐานเพื่อวัตถุประสงค์ในการทดสอบและการพัฒนา คุณสามารถค้นหาแอปนี้ได้
ที่
testapps/TestRcsApp
เมื่อติดตั้งแอปในอุปกรณ์แล้ว ผู้ใช้จะตั้งค่าแอปเป็นแอปรับส่งข้อความเริ่มต้นได้ และจะมีสิทธิ์ที่จำเป็นในการเข้าถึง IMS Single Registration API
นอกจากนี้ Android ยังมีตัวอย่างการใช้งาน ImsService สำหรับ RCS ด้วย ซอร์สโค้ดอยู่ที่ /testapps/ImsTestService
การใช้งาน
โปรดดูรายละเอียดการติดตั้งใช้งานเพิ่มเติมโดยดาวน์โหลดการลงทะเบียน IMS แบบครั้งเดียวใน Android
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบการติดตั้งใช้งานการจดทะเบียนครั้งเดียวของ IMS ให้ทำดังนี้
- ตรวจสอบว่าชุดทดสอบ CtsTelephonyTestCases ผ่านชุดทดสอบ CTS
- ติดตั้งและเรียกใช้ TestRcsApp เพื่อเรียกใช้กรณีทดสอบการลงทะเบียนครั้งเดียวพื้นฐานระหว่างการผสานรวม
- ผ่านการรับรองของผู้ให้บริการสำหรับกรณีทดสอบการลงทะเบียน IMS แบบครั้งเดียว