التسجيل الفردي 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. بنية نموذج التسجيل المزدوج

واجهات برمجة التطبيقات (API) للتسجيل الفردي لـ 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 تلك.
إخطارات حامل مخصصة مدير الاتصال استجابة اتصال البيانات للسماح لأحد التطبيقات بالاستماع إلى إشعارات جودة الخدمة على مأخذ توصيل مرتبط بمنفذ محلي محدد.
مصادقة GBA bootstrapAuthenticationRequest GbaService يسمح لتطبيق RCS بالمصادقة مع الشبكة ومفاتيح الوصول المستخدمة لميزات RCS مثل نقل الملفات.
تبادل قدرات المستخدم RCS ImsRcsManager RcsCapabilityExchangeImplBase يوفر لـ AOSP القدرة على إرسال إمكانات MMTEL وRCS الخاصة بها إلى البائع ImsService بحيث يمكن نشرها ضمن كيان واحد على الشبكة لتبادل إمكانات مستخدم RCS. كما يسمح أيضًا للتطبيقات الأخرى المهتمة بقدرات RCS لواحدة أو أكثر من جهات الاتصال بالاستعلام عن الشبكة لإمكانيات RCS لجهات الاتصال.

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

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

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

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

إذا لم يتم استيفاء هذين الشرطين، فسيتم رفض وصول التطبيق إلى إذن android.permission.PERFORM_IMS_SINGLE_REGISTRATION . وهذا يعني أنه لا يُسمح لتطبيقات الجهات الخارجية بالوصول إلى واجهات برمجة تطبيقات التسجيل الفردي لـ 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 . عندما يتم تثبيت التطبيق على جهاز، يمكن تعيينه كتطبيق المراسلة الافتراضي للمستخدم وسيكون لديه الأذونات المطلوبة للوصول إلى واجهات برمجة تطبيقات التسجيل الفردي لـ IMS.

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

تطبيق

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

تصديق

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

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