BroadNet
SS7 / MAPالمعاملات

TCAP: المعاملات والحوارات والمكوّنات

آخر تحديث 3 دقائق للقراءةقائم على المعايير
إجابة مباشرة

TCAP (جزء تطبيق قدرات المعاملات، ITU-T Q.771–Q.775) يحمل العمليات غير الدارية مثل MAP فوق SCCP. وله طبقتان فرعيتان: طبقة المعاملات الفرعية تربط حوارًا بين عقدتين برسائل Begin/Continue/End/Abort ومعرّفات المعاملات، وطبقة المكوّنات الفرعية تحمل العمليات الفردية كمكوّنات Invoke وReturnResult وReturnError وReject.

§01

طبقة المعاملات الفرعية

تدير طبقة المعاملات الفرعية الحوار من الطرف إلى الطرف بين ندّي TCAP. ويخصّص كل جانب معرّف معاملة (معرّفا المعاملة المُنشِئ والوجهة) كي تبقى عدة حوارات متزامنة عبر مسار SCCP نفسه متمايزة. ويُفتَح الحوار ويُستمَرّ ويُغلَق بأربعة أنواع رسائل. ويمكن حتى ضغط تبادل عملية واحدة في زوج Begin+End واحد حين لا يلزم مزيد من التفاعل.

أنواع رسائل معاملات TCAP
رسالةالغرض
TC-BEGINفتح حوار؛ يحمل Originating Transaction ID
TC-CONTINUEمتابعة حوار مفتوح في أي من الاتجاهين (مع وجود كلا الـ TID)
TC-ENDأغلق الحوار، مع إمكانية نقل المكون الأخير
TC-ABORTإنهاء غير طبيعي (إلغاء من المستخدم أو إلغاء من مقدم الخدمة)
TC-UNIأحادي الاتجاه - لا يتطلب حوارًا منظمًا
§02

جزء الحوار وسياق التطبيق

يتفاوض جزء حوار اختياري على سياق التطبيق — معرّف كائن يسمّي التطبيق والإصدار الذي سيتحدّثه الطرفان، مثلًا سياق MAP shortMsgGatewayContext لتوجيه SMS أو إصدار MAP محدد لـ UpdateLocation. ويحمل أيضًا معلومات المستخدم، وعند ABORT سبب الإلغاء. والاتفاق على سياق التطبيق هو كيف يعرف المستقبِل أي عمليات ومعاملات MAP يتوقعها ضمن الحوار.

§03

طبقة المكوّنات الفرعية

تحمل طبقة المكوّنات الفرعية العمليات الفعلية. يطلب مكوّن Invoke عملية، محدَّدة بمعرّف Invoke ورمز عملية (رمز عملية MAP)، مع وسائط العملية. ويردّ الند بـ ReturnResult (Last أو Not Last للنتائج المجزّأة)، أو ReturnError (خطأ تطبيق مثل absentSubscriber)، أو Reject (مشكلة على مستوى البروتوكول مثل عملية غير معروفة). ويمكن أن تسافر عدة مكوّنات في رسالة معاملة واحدة، ويربط معرّف Invoke كل استجابة بطلبها — تمامًا مثل sequence_number في SMPP.

أنواع مكوّنات TCAP
مكونالمعنى
Invokeطلب عملية (معرف الاستدعاء + رمز العملية + الوسائط)
ReturnResult (Last)النتيجة النهائية الناجحة للعملية التي تم تنفيذها
ReturnResult (Not Last)جزء غير نهائي من نتيجة كبيرة
ReturnErrorفشلت العملية بسبب خطأ في التطبيق (رمز الخطأ + المعلمة)
Rejectمشكلة في البروتوكول - مكون مشوه أو غير متوقع أو غير معروف
§04

حوار MAP فوق TCAP

استعلام MAP نموذجي حوار TCAP واحد. يرسل المُبادِر TC-BEGIN حاملًا مكوّن Invoke لعملية MAP؛ ويجيب المستجيب بـ TC-END حاملًا ReturnResult (أو ReturnError). وتستخدم المحادثات الأطول — حيث يتبادل الطرفان عدة عمليات — TC-CONTINUE في الأثناء. ومعرّفات المعاملات ومعرّفات Invoke معًا تتيح لعقدة مشغولة إبقاء آلاف الحوارات وعملياتها المعلَّقة منظَّمة.

SendRoutingInfoForSM كحوار TCAPtext
SMSC → HLR   TC-BEGIN  OTID=0x1A2B
               Invoke  invokeID=1  opCode=sendRoutingInfoForSM(45)
                        {msisdn, sm-RP-PRI, serviceCentreAddress}
HLR → SMSC   TC-END    DTID=0x1A2B
               ReturnResultLast invokeID=1
                        {imsi, locationInfoWithLMSI: MSC address}
التعليمات

الأسئلة المتكررة

ما الفرق بين طبقتي المعاملات والمكوّنات الفرعيتين؟

تدير طبقة المعاملات الفرعية الحوار ككل — فتحه واستمراره وإغلاقه بـ Begin/Continue/End/Abort ومعرّفات المعاملات. وتحمل طبقة المكوّنات الفرعية العمليات الفردية داخل ذلك الحوار كمكوّنات Invoke وReturnResult وReturnError وReject.

ما هو معرّف Invoke في TCAP؟

معرّف Invoke معرّف صغير يسنده المُبادِر لكل مكوّن Invoke كي تُطابَق ReturnResult أو ReturnError المقابلة بالطلب. وهو يحدّد نطاق الاستجابات ضمن حوار واحد، شبيه بمعرّف ربط طلب/استجابة.

ما هو سياق تطبيق TCAP؟

سياق التطبيق معرّف كائن في جزء الحوار يسمّي أي تطبيق وإصدار يستخدمه الطرفان — مثلًا سياق MAP محدد لتوجيه SMS. ويخبر المستقبِل أي عمليات وصيغ معاملات يتوقعها في الحوار.

ما الفرق بين ReturnError وReject؟

تبلّغ ReturnError عن فشل على مستوى التطبيق لعملية جرى فهمها — مثلًا MAP absentSubscriber. وتبلّغ Reject عن مشكلة على مستوى البروتوكول، مثل رمز عملية غير معروف أو مكوّن سيئ البنية، ويولّدها TCAP نفسه لا التطبيق.

هل يمكن أن تحمل رسالة TCAP واحدة عدة عمليات؟

نعم. يمكن أن تحمل رسالة معاملة واحدة عدة مكوّنات، فتحزم عقدة عدة Invoke أو تعيد عدة نتائج في Begin/Continue/End واحد. ويميَّز كل منها بمعرّف Invoke، ويمكن تجزئة النتائج بـ ReturnResult Not Last.

مراجع

مواصفات المصدر

تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.

BNتتم صيانته بواسطة فريق الهندسة BroadNet·خدمة الرسائل عالية الجودة منذ عام 2003
ضعه على السلك

قم بالبناء باستخدام ربط SMPP حقيقي وواجهة برمجة تطبيقات REST.

اطلب الوصول التجريبي باستخدام مفاتيح اختبار حقيقية: أرسل أولاً إلى رقمك الذي تم التحقق منه، ثم انتقل إلى الإنتاج عبر أكثر من 200 دولة بمجرد الموافقة على معرّف المُرسِل ومساراته.