تسجيل IMS واحد

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

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

يوضّح الشكل 1 حزمة IMS للجهاز عند استخدام نموذج التسجيل الفردي في IMS. تستخدم جميع تطبيقات IMS خدمة ImsService التلقائية للجهاز من أجل ميزات MMTEL وRCS عبر عملية تسجيل فردي في IMS. ويشمل ذلك توفير الخدمة وإعادة توجيه رسائل SIP وتبادل إمكانات مستخدم RCS.

بنية وضع التسجيل الفردي

الشكل 1: بنية نموذج التسجيل الفردي

لا يتيح الإصدار 11 من نظام التشغيل Android والإصدارات الأقدم سوى نموذج تسجيل مزدوج لتوفير ميزات 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 التي تتيح التسجيل الفردي في نظام IMS كجزء من حزمة الاتصالات الهاتفية في مشروع AOSP مع جميع واجهات برمجة التطبيقات في مشروع AOSP الموضّحة في الجدول التالي.

مساحة عرض واجهة برمجة التطبيقات واجهات برمجة تطبيقات RCS واجهات برمجة تطبيقات نظام IMS لدى المورّد الوصف
توفير خدمات الاتصالات التفاعلية (RCS) ProvisioningManager ImsConfigImplBase يسمح هذا الإذن للمصنّع الأصلي للجهاز أو مشغّل شبكة الجوّال بتوفير تطبيق لتعديل حالة توفير خدمة 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. يجب استيفاء الشروط التالية لمنح هذا الإذن:

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

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

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

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

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

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

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

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

يوفّر نظام التشغيل Android أيضًا نموذجًا لتنفيذ ImsService لخدمات RCS. يمكنك الاطّلاع على الرمز المصدر على الرابط /testapps/ImsTestService.

التنفيذ

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

التحقُّق

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

  • تأكَّد من أن كل الاختبارات ضمن مجموعة أدوات اختبار التوافق (CTS) المُسماة CtsTelephonyTestCases تتم بنجاح.
  • ثبِّت تطبيق TestRcsApp وشغِّله لتنفيذ حالات اختبار التسجيل الفردي الأساسية أثناء عملية الدمج.
  • اجتياز شهادة اعتماد مشغّل شبكة الجوّال لحالات اختبار التسجيل الفردي في IMS