التسجيل الفردي IMS

يقدم Android 12 دعمًا لنموذج تسجيل فردي لتوفير ميزات MMTEL و RCS. يتيح هذا النموذج للأجهزة إمكانية إدارة جميع ميزات IMS من خلال تسجيل IMS واحد توفره خدمة ImsService للجهاز والامتثال للمتطلبات التي قدمتها بعض شركات الاتصالات. مقارنة بنموذج التسجيل المزدوج ، حيث تتم إدارة تسجيلات IMS المتعددة على جهاز واحد ، يقلل التسجيل الفردي من حركة المرور على شبكة الناقل ويزيد من الموثوقية.

يدعم Android 12 نموذج التسجيل الفردي هذا من خلال بنية بها مجموعة من واجهات برمجة التطبيقات التي تسمح لمكدس الاتصالات الهاتفية AOSP بإدارة كل من ميزات MMTEL التي توفرها ImsService و RCS التي يوفرها تطبيق مراسلة RCS الذي حدده المستخدم. لدعم التسجيل الفردي IMS ، يجب على الشركات المصنعة للأجهزة وبائعي SoC تنفيذ واجهات برمجة التطبيقات هذه لتمكين ميزات 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. هندسة نموذج التسجيل المزدوج

واجهات برمجة تطبيقات التسجيل الفردي IMS

يجب أن تدعم الأجهزة التي تعمل في شركات الاتصالات التي تتطلب تسجيلًا فرديًا لـ IMS واجهات برمجة تطبيقات التسجيل الفردي IMS وأن تحدد ميزة Android PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION . يوضح الشكل 3 واجهات برمجة التطبيقات التي تدعم التسجيل الفردي لـ IMS.

أسطح API تدعم التسجيل الفردي لـ IMS

الشكل 3. أسطح API عالية المستوى تدعم التسجيل الفردي لـ IMS

أجهزة Android التي تدعم التسجيل الفردي IMS كجزء من مكدس الهاتف AOSP مطلوبة لدعم جميع واجهات برمجة تطبيقات AOSP الموضحة في الجدول التالي.

منطقة سطح API واجهات برمجة تطبيقات تطبيق RCS واجهات برمجة تطبيقات البائع IMS وصف
توفير RCS ProvisioningManager ImsConfigImplBase يسمح للشركة المصنّعة للمعدات الأصلية أو شركة الجوال بتوفير تطبيق لتحديث حالة توفير 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 . هذا يعني أنه لا يُسمح لتطبيقات الجهات الخارجية بالوصول إلى واجهات برمجة تطبيقات التسجيل الفردي RCS لأنها تتطلب شهادة الناقل على الجهاز.

يسمح إذن android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE عند منحه لتطبيق لديه أيضًا إذن READ_CONTACTS للتطبيق بطلب إمكانات RCS لأرقام الهواتف باستخدام RcsUceAdapter . لمنح هذا الإذن ، يجب أن يكون ما يلي صحيحًا:

  • يجب تثبيت التطبيق كتطبيق ذي امتياز ، مما يعني أنه مثبت مسبقًا على الجهاز ويسمح له بالوصول إلى الأذونات المميزة.
  • يجب تحديد التطبيق RoleManager أدوار مدير الدور التالية:

    • تطبيق المراسلة الافتراضي: يتم تعيينه بواسطة المستخدم.
    • تطبيق Dialer الافتراضي: تم تعيينه بواسطة المستخدم.
    • تطبيق جهات الاتصال الافتراضي: هو دور تم تقديمه في Android 12 والذي يسمح للمُصنِّع الأصلي للجهاز بتحديد اسم الحزمة من خلال قيمة تراكب الجهاز config_systemContacts ، والتي يجب أن تتوافق مع تطبيق جهات الاتصال الخاص بالجهاز. ثم يتم إعطاء هذا التطبيق دور جهات الاتصال.

للوصول إلى IMS APN باستخدام ConnectivityManager لإعداد وإدارة مرور البيانات ، يجب أن تطلب التطبيقات أيضًا إذن android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS .

الأمثلة والمصدر

يوفر Android تطبيقًا في AOSP يقوم بتنفيذ تطبيق رسائل اختباري مع دعم أساسي لمراسلة RCS لأغراض الاختبار والتطوير. يمكنك العثور على التطبيق في testapps/TestRcsApp . عند تثبيت التطبيق على جهاز ، يمكن تعيينه باعتباره تطبيق المراسلة الافتراضي للمستخدم وسيكون لديه الأذونات المطلوبة للوصول إلى واجهات برمجة تطبيقات التسجيل الفردي IMS.

يوفر Android أيضًا نموذجًا لتنفيذ ImsService لـ RCS. كود المصدر موجود في /testapps/ImsTestService .

التنفيذ

لمزيد من تفاصيل التنفيذ ، قم بتنزيل IMS Single Registration في Android .

تصديق

للتحقق من صحة تنفيذك لتسجيل IMS الفردي ، قم بما يلي:

  • تأكد من اجتياز مجموعة اختبار CtsTelephonyTestCases CTS.
  • قم بتثبيت وتشغيل TestRcsApp لتشغيل حالات اختبار التسجيل الفردي الأساسية أثناء التكامل.
  • اجتياز شهادة الناقل لحالات اختبار التسجيل الفردي IMS.