بدءًا من الإصدار 12 من Android، يتيح هذا الإصدار استخدام TS.43 Service Entitlement Configuration، وهو مواصفة GSMA تحدّد خطوة التحقّق من الأهلية ل activation of services، بما في ذلك Voice-over-Wi-Fi (VoWiFi) وVoice-over-LTE (VoLTE) وSMS over IP (SMSoIP) وOn-Device Service Activation (ODSA) لأجهزة eSIM المصاحبة (المرتبطة بالجهاز المُقدّم للطلب) ومعلومات خطة البيانات.
لدعم هذه المواصفات، يقدّم Android ميزة منح إذن استخدام خدمة IMS التي تسمح لمقدّم الخدمة بإعلام الأجهزة الجوّالة بحالة خدمات شبكة النظام المتعدد الوسائط المستند إلى بروتوكول الإنترنت (IMS). تسمح ميزة الاستحقاق هذه للجهاز بالاستعلام عن خادم الاستحقاق لمشغِّل شبكة الجوّال كما هو محدّد في مواصفات بروتوكول GSMA TS.43 لحالة استحقاق IMS باستخدام مصادقة EAP-AKA بدون مطالبة المستخدمين بإدخال أي بيانات اعتماد يدويًا.
يمكن لمشغّلي شبكات الجوّال الذين لديهم خوادم أذونات IMS استخدام ميزة أذونات خدمة IMS لتوفير الخدمة. يوفّر استخدام الميزة الفوائد التالية:
- تقليل تكاليف الاختبار والاعتماد لمشغّلي شبكات الجوّال، لأنّه يمكن استخدام ميزة التأهّل هذه في العديد من المنتجات والمصنّعين الأصليّين للأجهزة
- تقليل الوقت والموارد المُستغرَقة في تطوير التطبيقات لدى الشركات المصنّعة للأجهزة من خلال تطبيق Android عادي
- السماح لشركات تصنيع الأجهزة ومشغّلي شبكات الجوّال بتقديم رمز لهذه الميزة لأنّها ميزة مفتوحة المصدر
- يوفّر هذا الإعداد إدارة عناوين الطوارئ لمشغّلي شبكات الجوّال في أمريكا الشمالية.
هندسة معمارية
يوضِّح الشكل التالي بنية ميزة منح أذونات استخدام خدمات IMS وسلوكها.
الشكل 1: بنية ميزة الأذونات في TS.43
كما هو موضّح في الشكل 1، تتضمّن بنية ميزة "أهلية استخدام خدمة IMS" المكوّنات التالية:
- مكتبة
service_entitlement
TS.43 Service API: تنفِّذ هذه المكتبة مواصفات 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
بما أنّ مكتبة service_entitlement
مرتبطة بشكل ثابت بملف ImsServiceEntitlement app
، لا يلزم اتخاذ أي خطوات إضافية لدمج مكتبة
ImsServiceEntitlement
في تطبيق ImsServiceEntitlement
.
يمكن دمج مكتبة service_entitlement
مع تطبيقاتك لحالات استخدام TS.43
، مثل خطة البيانات وإدارة الخدمات الرقمية للمؤسسات (ODSA). يمكن أيضًا دمج المكتبة في تطبيق لحالات استخدام الاستحقاق غير التابعة لـ TS.43 استنادًا إلى بروتوكول EAP-AKA.
في ما يلي وصف واجهات برمجة التطبيقات التي يجب استخدامها في حالات الاستخدام هذه:
- تطبيق TS.43 يستخدم بروتوكول HTTP في TS.43 الذي تم تنفيذه في المكتبة:
استخدام واجهات برمجة التطبيقات في فئة
ServiceEntitlement
- تطبيقات ليست TS.43 وتستخدم بروتوكول EAP-AKA المنفَّذ في المكتبة: استخدِم واجهات برمجة التطبيقات المعروضة في الفئة
EapAkaHelper
تطبيق ImsServiceEntitlement
يتضمّن Android تلقائيًا تطبيق ImsServiceEntitlement
المثبَّت في ملف
product partition كتطبيق مفوَّض. لضبط إعدادات التطبيق، استخدِم مفاتيح
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.
شركاء خدمات Google للأجهزة الجوّالة: تتيح ميزة منح الأذونات في تطبيق TS.43 في Android 12 استخدام خدمات مشغّلي شبكات الجوّال التالية، وذلك وفقًا لمواصفات الإصدار 5.0 من TS.43:
- الولايات المتحدة: 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