انتقل إلى المحتوى الرئيسي

تسليم البيانات غير المعتمدة على بروتوكول الإنترنت (NIDD)

تسليم البيانات غير المعتمدة على بروتوكول الإنترنت يتيح لجهاز Cellular-IoT / NB-IoT تبادل رسائل صغيرة غير معتمدة على بروتوكول الإنترنت مع خادم التطبيق دون الحاجة إلى تعيين عنوان IP. البيانات تمر عبر خطة الإشارة NAS (تحسين CIoT EPS في Control-Plane) بين UE وMME؛ يقوم MME بإعادة توجيهها إلى OmniSCEF عبر T6a؛ وOmniSCEF يكشفها لخادم التطبيق عبر T8.

تم تعريف بنية NIDD وإجراءاته في 3GPP TS 23.682 §5.13؛ واجهة T6a Diameter في TS 29.128؛ وواجهة T8 NIDD API في TS 29.122.

جدول المحتويات

نظرة عامة

لدى جلسة NIDD نصفان مرتبطان:

  • يتم إنشاء تكوين NIDD بواسطة خادم التطبيق عبر T8. يسمي الجهاز (عن طريق معرف خارجي، MSISDN، أو مجموعة)، ونداء الإشعار، وخيارات NIDD.
  • يتم إنشاء ربط T6a عندما يقوم MME بإنشاء الاتصال غير المعتمد على بروتوكول الإنترنت لذلك المشترك. يربط جلسة Diameter وهوية MME بـ {IMSI, EBI} المستخدمة للوصول إلى UE.

يربط OmniSCEF بين النصفين من خلال هوية المشترك، بحيث تجد بيانات الرفع العلوي نداء AS الصحيح وتجد بيانات الرفع السفلي الاتصال الحي الصحيح.

دورة حياة الاتصال

يدير MME اتصال T6a أثناء اتصال UE وفصله. يمكن لخادم التطبيق أيضًا إنهاء الاتصال عن طريق حذف تكوين NIDD الخاص به.

إذا تم إنشاء اتصال لمشترك ليس لديه تكوين NIDD، يجيب OmniSCEF على CMR بـ DIAMETER_ERROR_USER_UNKNOWN (5001) — المشترك غير مزود لـ NIDD.

البيانات المنبعثة من الهاتف المحمول (الرفع العلوي)

تصل بيانات Non-IP المرسلة من UE إلى OmniSCEF كطلب بيانات غير معتمد على بروتوكول الإنترنت MO-Data-Request (ODR). يقوم OmniSCEF بتسليمها إلى خادم التطبيق عن طريق POSTing إشعار إلى نداء التكوين، ويجيب MME بـ MO-Data-Answer (ODA).

إذا لم يتمكن OmniSCEF من حل التكوين أو فشل نداء الإشعار، فإنه يجيب على ODA بـ DIAMETER_UNABLE_TO_COMPLY (5012).

مثال على إشعار الرفع العلوي (POSTed إلى نداء الإشعار):

{
"externalId": "device01@iot.example.org",
"data": "AQIDBA=="
}
الحقلالوصف
externalId / msisdnهوية الجهاز، كما هو مزود في التكوين.
dataالحمولة غير المعتمدة على بروتوكول الإنترنت، مشفرة بـ base64.
rdsSourcePort / rdsDestinationPortموجودة عند تمكين خدمة البيانات الموثوقة.
moExceptionDataCounterموجودة عندما يتم الإشارة إلى الرفع العلوي كـ بيانات استثناء MO.

البيانات المنتهية إلى الهاتف المحمول (الرفع السفلي)

يرسل خادم التطبيق بيانات Non-IP المنتهية إلى الهاتف المحمول عن طريق POSTing إلى مجموعة downlink-data-deliveries الخاصة بالتكوين. يقوم OmniSCEF بإعادة توجيهها إلى MME كطلب بيانات غير معتمد على بروتوكول الإنترنت MT-Data-Request (TDR)، ويسجل النتيجة (من MT-Data-Answer, TDA) على مورد تسليم فردي يمكن لـ AS استرجاعه.

عندما يكون UE في حالة خمول، يقوم MME بتخزين البيانات ويقوم بإشعار UE، ويجيب TDA بالنجاح بمجرد أن يتحمل المسؤولية عن التسليم. يعكس OmniSCEF النتيجة في deliveryStatus للتسليم (انظر قيم حالة التسليم).

مثال على طلب الرفع السفلي:

{
"data": "SGVsbG8=",
"maximumLatency": 3600,
"priority": 5
}
الحقلالوصف
dataالحمولة غير المعتمدة على بروتوكول الإنترنت للتسليم، مشفرة بـ base64. مطلوب.
maximumLatencyاختياري. الحد الأقصى المقبول لتأخير التخزين المؤقت، بالثواني.
priorityاختياري. الأولوية النسبية بين التسليمات المعلقة.
pdnEstablishmentOptionاختياري. السلوك عند عدم وجود اتصال — انظر خيارات إنشاء PDN.
rdsSourcePort / rdsDestinationPortاختياري. منافذ RDS — انظر خدمة البيانات الموثوقة.

مثال على استجابة الرفع السفلي:

{
"self": "https://scef01:8443/api/3gpp-nidd/v1/as01/configurations/AbC.../downlink-data-deliveries/XyZ...",
"data": "SGVsbG8=",
"deliveryStatus": "SUCCESS"
}

NIDD الجماعي

يمثل تكوين NIDD الذي تم إنشاؤه باستخدام externalGroupId (بدلاً من externalId/msisdn الفردي) مجموعة من الأجهزة (TS 23.682 §5.13.3A). يتم توزيع تسليم واحد إلى تكوين المجموعة على كل عضو في المجموعة الذي لديه اتصال T6a نشط.

يتم حل أعضاء المجموعة من خريطة المجموعة. تعكس deliveryStatus المجمع للتسليم أسوأ نتيجة لكل عضو، لذا فإن تسليم المجموعة يبلغ فقط عن SUCCESS عندما يتم خدمة كل عضو يمكن الوصول إليه.

خدمة البيانات الموثوقة

تقوم خدمة البيانات الموثوقة (RDS) بدمج تدفقات التطبيقات المتعددة عبر اتصال غير معتمد على بروتوكول الإنترنت واحد باستخدام أرقام المنافذ، وفقًا لـ TS 23.682 §4.5.14.3. يتم تمكين RDS لكل تكوين عن طريق تعيين reliableDataService: true عند إنشاء التكوين.

عند تمكين RDS:

  • الرفع السفلي — إذا كان التسليم يحدد rdsDestinationPort و rdsSourcePort، يقوم OmniSCEF بإطار الحمولة غير المعتمدة على بروتوكول الإنترنت مع رأس RDS يحمل تلك المنافذ قبل إرسال TDR.
  • الرفع العلوي — يقوم OmniSCEF بتحليل رأس RDS من حمولة ODR ويظهر rdsSourcePort و rdsDestinationPort على إشعار الرفع العلوي، موصلًا الحمولة الداخلية كـ data.

تتراوح المنافذ من 0 إلى 255. عندما لا يتم تمكين RDS، أو عندما يغفل التسليم المنافذ، يتم نقل الحمولة بدون إطار.

بيانات استثناء MO

يمكن لأجهزة NB-IoT الإشارة إلى إرسال الرفع العلوي كـ تقرير استثناء (تقرير عاجل، خارج النمط) عبر سبب إنشاء RRC، الذي يتم عدّه في RRC-Cause-Counter لـ T6a (TS 23.682 §5.13.4). عندما يرى OmniSCEF هذه الإشارة على ODR، فإنه يتضمن moExceptionDataCounter على إشعار الرفع العلوي حتى يتمكن خادم التطبيق من إعطاء الأولوية للتعامل.

مرجع موارد T8

NiddConfiguration

تم إنشاؤه بواسطة POST /api/3gpp-nidd/v1/{scsAsId}/configurations.

الحقلالنوعمطلوبالوصف
notificationDestinationسلسلة (URI)نعمنداء يتلقى خادم التطبيق إشعارات الرفع العلوي وحالة.
externalIdسلسلةمشروطمعرف الجهاز الخارجي (user@domain). واحد من externalId، msisdn، أو externalGroupId.
msisdnسلسلةمشروطMSISDN للجهاز.
externalGroupIdسلسلةمشروطمعرف المجموعة لـ NIDD الجماعي.
dnnسلسلةلااسم شبكة البيانات / APN للاتصال غير المعتمد على بروتوكول الإنترنت.
pdnEstablishmentOptionسلسلة (enum)لاالسلوك عند الرفع السفلي عند عدم وجود اتصال — انظر خيارات إنشاء PDN.
maximumPacketSizeعدد صحيحلاالحد الأقصى لحجم الحمولة غير المعتمدة على بروتوكول الإنترنت بالبايت (يكون افتراضيًا إلى default_max_packet_size المكون، 255).
reliableDataServiceBooleanلاتمكين خدمة البيانات الموثوقة.
mtcProviderIdسلسلةلامعرف مزود خدمة MTC.
validityTimeسلسلة (تاريخ-وقت)لامتى تنتهي صلاحية التكوين.
statusسلسلة (enum)للقراءة فقطحالة دورة الحياة — انظر قيم حالة التكوين.
selfسلسلة (URI)للقراءة فقطURI الخاص بالموارد.

NiddDownlinkDataTransfer

تم إنشاؤه بواسط�� POST /api/3gpp-nidd/v1/{scsAsId}/configurations/{configurationId}/downlink-data-deliveries. تم وصف الحقول تحت البيانات المنتهية إلى الهاتف المحمول. الحقول deliveryStatus و requestedRetransmissionTime هي للقراءة فقط ويتم تعيينها من TDA.

الإشعارات

يقوم OmniSCEF بإرسال POSTs التالية إلى notificationDestination الخاصة بالتكوين:

الإشعارمتى
NiddUplinkDataNotificationوصلت بيانات Non-IP المنبعثة (من ODR).
NiddDownlinkDataDeliveryStatusNotificationتغيرت نتيجة تسليم الرفع السفلي الذي تم قبوله سابقًا (حالة غير متزامنة).

يقر خادم التطبيق بكل إشعار بـ 204 No Content.

قيم مرجعية

قيم حالة التسليم

القيمةالمعنى
SUCCESSقام MME بتسليم البيانات (أو تحمل المسؤولية عن طريق التخزين المؤقت / إشعار UE الخامل).
SENDINGالتسليم جارٍ.
BUFFERINGقام MME بتخزين البيانات لجهاز UE الخامل.
FAILURE_UE_NOT_REACHABLEلم يكن من الممكن الوصول إلى UE.
FAILURE_REMOTE_FAILUREرفض MME / العقدة الخادمة الطلب أو فشلت فيه.
FAILUREفشل التسليم لسبب آخر.

خيارات إنشاء PDN

القيمةالسلوك عند عدم وجود اتصال في وقت الرفع السفلي
WAIT_FOR_UEالتخزين المؤقت حتى يقوم UE بإنشاء الاتصال.
INDICATE_ERRORرفض التسليم على الفور.
ESTABLISH_PDN_CONNECTIONتحفيز UE لإنشاء الاتصال غير المعتمد على بروتوكول الإنترنت.

قيم حالة التكوين

القيمةالمعنى
ACTIVEالتكوين مفوض وقابل للاستخدام.
TERMINATED_UE_NOT_AUTHORIZEDالمشترك غير مفوض لـ NIDD.
TERMINATEDانتهت صلاحية التكوين أو تم إزالته.