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

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

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

يوضّح الشكل 1 حِزمة IMS للجهاز عند استخدام نموذج التسجيل الفردي في IMS. تستخدم جميع تطبيقات الرسائل الفورية ميزة ImsService التلقائية في الجهاز لميزات MMTEL وRCS عبر تسجيل واحد لخدمة الرسائل الفورية. ويشمل ذلك عمليات الإعداد وإعادة توجيه رسائل بروتوكول 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.

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

الشكل 3: مساحات عرض واجهة برمجة التطبيقات العالية المستوى التي تتيح التسجيل الفردي في IMS

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

مساحة سطح واجهة برمجة التطبيقات واجهات برمجة تطبيقات RCS واجهات برمجة تطبيقات IMS للمورّدين الوصف
توفير خدمات الاتصالات التفاعلية (RCS) ProvisioningManager ImsConfigImplBase يسمح هذا الإذن لمصنّع الجهاز الأصلي أو مشغّل شبكة الجوّال بتوفير تطبيق لتعديل حالة Provisioning لبروتوكول RCS إذا كان مشغّل شبكة الجوّال يستخدم آلية خاصة به للحصول على الإذن. يجب أن تتوافق واجهةبرمجة التطبيقات ImsService أيضًا مع AutoConfigurationServer (ACS) العادي لأجل إعداد مشغّلي شبكات الجوّال الذين لا يستخدمون آلية خاصة.
إعادة توجيه رسائل بروتوكول SIP SipDelegateManager SipTransportImplBase السماح لتطبيق RCS بربط علامات ميزات RCS معيّنة أولاً ب الجهاز ImsService، ثم إرسال وتلقّي رسائل SIP و تعديلات تسجيل IMS المرتبطة بعلامات ميزات RCS هذه
إشعارات حامل البيانات المخصّصة ConnectivityManager DataCallResponse السماح للتطبيق بالاستماع إلى إشعارات جودة الخدمة على مقبس مرتبط بمنفذ محلي معيّن
مصادقة GBA bootstrapAuthenticationRequest GbaService يسمح هذا الإذن لتطبيق RCS بالمصادقة مع الشبكة ومفاتيح الوصول المُستخدَمة في ميزات RCS، مثل نقل الملفات.
تبادل ميزات RCS المتاحة للمستخدمين ImsRcsManager RcsCapabilityExchangeImplBase توفّر حزمة AOSP إمكانية إرسال إمكانات MMTEL وRCS إلى المورّد ImsService حتى يمكن نشرها ضمن كيان واحد على الشبكة لتبادل إمكانات مستخدمي RCS. يسمح أيضًا للتطبيقات الأخرى المهتمة بإمكانات RCS لجهة اتصال واحدة أو أكثر بطلب معلومات من الشبكة بشأن إمكانات RCS لجهات الاتصال.

الأمان والأذونات

يقدّم نظام التشغيل Android 12 الأذونات التالية لضمان الوصول الآمن إلى شبكة مشغّل شبكة الجوّال وبيانات المستخدم:

يجب أن يحدِّد تطبيق المراسلة الذي يتضمّن ميزات RCS الإذن android.permission.PERFORM_IMS_SINGLE_REGISTRATION. لمنح هذا الإذن، يجب أن يكون ما يلي صحيحًا:

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

في حال عدم استيفاء هذَين الشرطَين، لن يحصل التطبيق على إذن android.permission.PERFORM_IMS_SINGLE_REGISTRATION. وهذا يعني أنّه لا يُسمح للتطبيقات التابعة لجهات خارجية بالوصول إلى واجهات برمجة التطبيقات للتسجيل الموحّد في خدمات الاتصالات التفاعلية (RCS) لأنها تتطلب شهادة مشغِّل شبكة الجوّال على الجهاز.

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

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

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

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

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

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

يقدّم Android أيضًا نموذجًا لتنفيذ ImsService لخدمة RCS. يمكنك العثور على رمز المصدر /testapps/ImsTestService.

التنفيذ

لمزيد من تفاصيل التنفيذ، يُرجى تنزيل التسجيل الفردي في IMS على Android.

التحقُّق

للتأكّد من صحة عملية تنفيذ التسجيل الفردي في IMS، اتّبِع الخطوات التالية:

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