استحقاق خدمة IMS

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

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

يمكن لشركات النقل التي لديها خوادم استحقاق IMS استخدام ميزة استحقاق خدمة IMS لتوفير الخدمة. يوفر اعتماد الميزة الفوائد التالية:

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

بنيان

يصف الشكل التالي بنية وسلوك ميزة استحقاق خدمة IMS.

ميزة الاستحقاق في TS.43

الشكل 1. بنية ميزات الاستحقاق في الملخّص الفني 43

كما هو موضح في الشكل 1، تشتمل بنية ميزة استحقاق خدمة IMS على المكونات التالية:

  • مكتبة service_entitlement TS.43 الثابتة لواجهة برمجة تطبيقات الخدمة : تنفذ هذه المكتبة مواصفات TS.43، وتتفاعل مع خادم استحقاق الناقل، وتكشف عن واجهات برمجة التطبيقات التي تواجه التطبيق لكل حالة استخدام TS.43.
  • تطبيق عميل ImsServiceEntitlement : يستخدم هذا التطبيق واجهة برمجة تطبيقات خدمة TS.43. ينفذ التطبيق عناصر واجهة المستخدم بما في ذلك عروض الويب لعرض بوابة خدمة الناقل للمستخدمين لتنشيط الخدمات والتفاعل مع مكونات 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 مرتبطة بشكل ثابت 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 معرف مرسل FCM الخاص بشركة الناقل.

لا تقم بتعيين هذه القيمة إذا لم يكن الناقل يطلب 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 v5.0:

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

واجهة مستخدم نظام إضافية لتوفير 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، والسماح بتشغيل 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