إذن استخدام خدمة IMS

بدءًا من Android 12، يتضمّن نظام التشغيل إمكانية استخدام إعدادات TS.43 الخاصة بأهلية الاستفادة من الخدمات، وهي مواصفات GSMA تحدّد خطوة التحقّق من الأهلية لتفعيل الخدمات، بما في ذلك مكالمات Wi-Fi (VoWiFi) ومكالمات LTE (VoLTE) والرسائل القصيرة عبر بروتوكول الإنترنت (SMSoIP) وتفعيل الخدمات على الأجهزة (ODSA) لأجهزة eSIM المصاحبة (المرتبطة بالجهاز الذي يقدّم الطلب) ومعلومات خطة البيانات.

ولإتاحة هذا المواصفات، يوفّر نظام التشغيل Android ميزة تتيح لمزوّد الخدمة إعلام الأجهزة الجوّالة بحالة خدمات شبكة "نظام الوسائط المتعددة عبر بروتوكول الإنترنت" (IMS). تتيح ميزة الأهلية هذه للجهاز طلب خادم أهلية مشغّل شبكة الجوّال على النحو المحدّد في مواصفات GSMA TS.43 لمعرفة حالة أهلية نظام IMS باستخدام مصادقة EAP-AKA بدون أن يضطر المستخدمون إلى إدخال أي بيانات اعتماد يدويًا.

يمكن لمشغّلي شبكات الجوّال الذين لديهم خوادم أهلية لنظام إدارة معلومات المشتركين (IMS) استخدام ميزة أهلية خدمة نظام إدارة معلومات المشتركين (IMS) لتوفير الخدمات. يوفّر استخدام هذه الميزة المزايا التالية:

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

البنية

يوضّح الشكل التالي بنية ميزة "حقوق استخدام خدمة IMS" وسلوكها.

TS.43 entitlement feature

الشكل 1. بنية ميزة الاستحقاق TS.43

كما هو موضّح في الشكل 1، يتضمّن تصميم ميزة "حقوق استخدام خدمة IMS" المكوّنات التالية:

  • service_entitlement مكتبة TS.43 الثابتة لواجهة برمجة التطبيقات الخاصة بالخدمة: تنفّذ هذه المكتبة مواصفات TS.43 وتتفاعل مع خادم التحقّق من الأهلية التابع لمشغّل شبكة الجوّال، كما تعرض واجهات برمجة تطبيقات موجّهة للتطبيقات لكل حالة استخدام TS.43.
  • ImsServiceEntitlement تطبيق العميل: يستخدم هذا التطبيق واجهة برمجة التطبيقات TS.43 Service API. ينفّذ التطبيق عناصر واجهة المستخدم، بما في ذلك طرق عرض الويب لعرض بوابة خدمة مشغّل شبكة الجوّال للمستخدمين من أجل تفعيل الخدمات، ويتفاعل مع مكوّنات Android الأخرى لإدارة تجربة المستخدم بشكل شامل.

    لمزيد من المعلومات حول كيفية إعداد Android للعمل مع خادم إذن يستند إلى TS.43 تابع لمشغّل شبكة جوّال، يُرجى الاطّلاع على تطبيق ImsServiceEntitlement.

تعرض الأسطر المرقمة في الشكل 1 كيفية تواصل مكونات ميزة "حق الوصول إلى خدمة IMS" مع بعضها البعض. في ما يلي وصف لكل خطوة من الخطوات الموضّحة:

(1) يستدعي تطبيق العميل واجهة برمجة التطبيقات الخاصة بخدمة TS.43 لبدء طلب الحصول على إذن باستخدام الخدمة.

(2) ترسل واجهة برمجة التطبيقات الخاصة بخدمة TS.43 طلب HTTP إلى خادم التحقّق من الأهلية التابع لمشغّل شبكة الجوّال لبدء عملية التحقّق من صحة بيانات اعتماد EAP-AKA.

(3) تستدعي واجهة برمجة التطبيقات الخاصة بخدمة TS.43 واجهات برمجة تطبيقات خاصة بالهاتف (مثل getIccAuthentication) لإكمال عملية المصادقة والرد على التحدي باستخدام بروتوكول EAP-AKA.

(4) تتلقّى خدمة TS.43 بيانات أهلية الخدمة أو بيانات الضبط من خادم الأهلية التابع لمشغّل شبكة الجوّال بعد التحقّق من صحة استجابة EAP-AKA.

(5) تعرض خدمة TS.43 بيانات إذن استخدام الخدمة أو بيانات الإعداد لتطبيق العميل.

(6) يعالج تطبيق العميل البيانات ويعرض اختياريًا بوابة خدمة مشغّل شبكة الجوّال ليتمكّن المستخدم من إكمال عملية تفعيل الخدمة.

التكامل

يوضّح هذا القسم عملية دمج مكتبة service_entitlement مع تطبيق ImsServiceEntitlement.

بما أنّه لا توجد أي تبعية لواجهة برمجة التطبيقات Android 12، يمكن نقل مكتبة service_entitlement وتطبيق ImsServiceEntitlement إلى إصدارات Android القديمة.

service_entitlement library

بما أنّ مكتبة service_entitlement مرتبطة بشكل ثابت في ImsServiceEntitlement app، لا يلزم اتّخاذ أي خطوات إضافية لدمج المكتبة في تطبيق ImsServiceEntitlement.

يمكن دمج مكتبة service_entitlement مع تطبيقاتك الخاصة لحالات استخدام TS.43، مثل خطة البيانات وODSA. يمكن أيضًا دمج المكتبة في تطبيق لحالات استخدام الأهلية غير المتوافقة مع TS.43 استنادًا إلى بروتوكول EAP-AKA.

في ما يلي وصف لواجهات برمجة التطبيقات التي يجب استخدامها في حالات الاستخدام هذه:

  • تطبيق TS.43 الذي يستخدم بروتوكول TS.43 HTTP المضمّن في المكتبة: استخدِم واجهات برمجة التطبيقات في الفئة ServiceEntitlement
  • تطبيق غير متوافق مع TS.43 يستخدم بروتوكول EAP-AKA المضمّن في المكتبة: استخدِم واجهات برمجة التطبيقات المعروضة في الفئة EapAkaHelper

تطبيق ImsServiceEntitlement

يتضمّن نظام التشغيل Android تلقائيًا تطبيق ImsServiceEntitlement المثبَّت في قسم المنتج كتطبيق ذي امتيازات. ولضبط التطبيق، استخدِم مفاتيح CarrierConfig التالية:

المفتاح القيمة
KEY_ENTITLEMENT_SERVER_URL_STRING عنوان URL لخادم التخويل التابع لمشغّل شبكة الجوّال يجب تضمين البادئة https://.
KEY_FCM_SENDER_ID_STRING معرّف المرسِل في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" الخاص بمشغّل شبكة الجوّال

لا تضبط هذه القيمة إذا لم تكن شركة النقل تتطلّب استخدام FCM.
KEY_SHOW_VOWIFI_WEBVIEW_BOOL اضبط القيمة على true إذا كان مشغّل شبكة الجوّال يتطلّب واجهة مستخدم على بوابة الويب ليتمكّن المستخدمون من الاشتراك في خدمة VoWiFi. على سبيل المثال، الموافقة على البنود والشروط أو إدخال عنوان طوارئ.

تطلب شركات النقل في أمريكا الشمالية عادةً تقديم هذه المعلومات.
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
اضبط القيمة على com.android.imsserviceentitlement/.WfcActivationActivity إذا كانت KEY_SHOW_VOWIFI_WEBVIEW_BOOL تساوي true.
KEY_IMS_PROVISIONING_BOOL اضبط القيمة على true إذا كان مشغّل شبكة الجوّال يتطلّب توفير خدمات IMS (VoLTE/VoWiFi/SMSoIP) في الخلفية.

هذا الإجراء مطلوب من بعض مشغّلي شبكات الجوّال في أوروبا.
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL اضبط القيمة على true إذا كانت قيمة KEY_IMS_PROVISIONING_BOOL هي true.

تتم حركة بيانات HTTP إلى خادم التحقّق من الأهلية وبوابة الويب التابعَين لمشغّل شبكة الجوّال عبر الشبكة التلقائية، مثل بيانات الجوّال التلقائية أو شبكة Wi-Fi.

شركاء GMS: تتوافق شركات النقل التالية مع تطبيق التحقّق من الأهلية TS.43 على نظام التشغيل Android 12، وذلك وفقًا لمواصفات TS.43 الإصدار 5.0:

  • الولايات المتحدة: CSpire وUS Cellular وCellcom
  • فرنسا: Orange

واجهة مستخدم إضافية للنظام لتوفير IMS

يوضّح هذا القسم كيف يمكن لمصنّعي المعدات الأصلية توفير عناصر إضافية لواجهة مستخدم النظام ذات صلة بتوفير خدمة IMS (على سبيل المثال، عند عرض إشعار عند توفير خدمة VoWiFi).

يضبط تطبيق ImsServiceEntitlement حالة توفير خدمة VoWiFi في النظام الأساسي باستخدام واجهة برمجة التطبيقات ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value). تُستخدَم واجهة برمجة التطبيقات هذه أيضًا لخدمة VoLTE (مع KEY_VOLTE_PROVISIONING_STATUS) وخدمة SMSoIP (مع KEY_SMS_OVER_IP_ENABLED).

يمكن لواجهة مستخدم النظام بعد ذلك قراءة حالة التوفير باستخدام getProvisioningIntValue أو من خلال تسجيل دالة رد نداء لمراقبة تغيير حالة التوفير من خلال registerProvisioningChangedCallback.

إلغاء الإعدادات لأغراض الاختبار

استخدِم الإجراءات التالية لتغيير سلوك التطبيق مؤقتًا لأغراض الاختبار.ImsServiceEntitlement لمعرفة التفاصيل حول كيفية تجاهل إعدادات مشغّل شبكة الجوّال، يُرجى الاطّلاع على تجاهل إعدادات مشغّل شبكة الجوّال.

تخطّي عملية الاشتراك في VoWiFi

لتخطّي عملية الاشتراك في خدمة VoWiFi والسماح بتفعيلها مباشرةً، عليك إلغاء إعدادات مشغّل شبكة الجوّال KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING وضبط قيمتها على سلسلة فارغة.

تخطّي إدارة حسابات IMS

لتخطّي عملية توفير IMS، وإتاحة خدمات IMS والسماح للمستخدمين بتفعيل هذه الخدمات بدون توفير الشبكة، عليك إلغاء إعدادات مشغّل شبكة الجوّال KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL وتعيين قيمتها على false.

تغيير عنوان URL لخادم التخويل

لتغيير عنوان URL لخادم تحديد الأهلية، عليك إلغاء إعدادات مشغّل شبكة الجوّال KEY_ENTITLEMENT_SERVER_URL_STRING وضبط قيمته على سلسلة عنوان URL المتوقّعة. يجب تضمين البادئة https://.

تجاوز إعدادات مشغّل شبكة الجوّال

بدءًا من Android 11، أصبحت أوامر إلغاء إعدادات شركة الاتصالات مضمّنة ومتاحة مع امتيازات الوصول إلى الجذر.

يوضّح المثال التالي كيفية إلغاء مفتاح إعدادات مشغّل شبكة الجوّال carrier_volte_provisioning_required_bool وتعيين قيمته على false. يمكنك تنفيذ الأمر عدة مرات لتجاوز إعدادات متعددة.

adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false

لمحو جميع عمليات التجاوز، استخدِم الأمر التالي:

adb shell cmd phone cc clear-values

للحصول على مزيد من المعلومات، شغِّل الأمر التالي:

adb shell cmd phone cc