مدير نقل أومنيتاتش
إدارة نقل الأرقام لمقدمي الخدمة — تكامل مع مراكز التنسيق، توجيه ENUM، وأحداث دورة حياة OSS/BSS، مع واجهة ويب لفرق العمليات.
قامت أومنيتاتش بنشر نقل الأرقام في شبكاتنا، مع تكامل مباشر مع PortingXS ودعم لـ NPAC في الأسواق الأمريكية الشمالية.
نظرة عامة
يتولى مدير نقل أومنيتاتش إدارة دورة حياة عمليات نقل الأرقام بالكامل: تقديم وتتبع الطلبات مع مركز التنسيق، الحفاظ على قاعدة بيانات توجيه ENUM للأرقام المنقولة، وتقديم أحداث دو��ة الحياة إلى OSS/BSS الخاص بالمشغل. يتكامل مع PortingXS عبر شبكتها التي تضم 43 دولة ومع NPAC للتطبيقات في الولايات المتحدة.
تم تصميم المنصة لتكون مدفوعة بواسطة OSS/BSS على نطاق واسع، مع واجهة ويب للعمل اليومي — مراجعة حالة النقل، التعامل مع الحالات الخاصة، استعلام التوجيه، والتحقق من تسليم الرسائل القصيرة على الأرقام المنقولة.
بعض الأمور التي تستحق الملاحظة قبل أن تقرأ المزيد:
- يستخدم التوجيه All-Call-Query ضد قاعدة بيانات ENUM مع معلمات
npdi/rnوفقًا لـ RFC 4694 و3GPP TS 23.228 — وليس جداول النطاق الثابتة، التي تتعطل بصمت عند النقلات اللاحقة - يتم إعادة محاولة عدم تطابق نوع الحساب (أكثر أسباب الرفض شيوعًا) تلقائيًا دون تدخل يدوي
- تمتلك المنصة سير عمل النقل والتوجيه؛ تظل أهلية الحساب ودورة حياة الخدمة في OSS/BSS الخاص بك، مع روابط API لربطها
- بالنسبة للمشغلين الذين يستخدمون OmniCRM، فإن تكامل OSS/BSS مُعد مسبقًا
يعمل مدير نقل أومنيتاتش كنقطة تكامل مركزية بين أنظمة إدارة العملاء، مراكز التنسيق الخارجية، بنية توجيه DNS/ENUM، ومنصات الفوترة.
هيكل التكامل
تم تصميم مدير نقل أومنيتاتش حول حدود واضحة: يمتلك سير عمل النقل والتوجيه، ويمتلك OSS/BSS الخاص بك العميل. هذا مقصود.
لدى المشغلين بالفعل BSS يعرف ما إذا كان حساب العميل في وضع جيد، وما الخدمات التي يمتلكونها، وماذا يحدث عند إنهاء خدمة. بناء تلك المنطق في منصة نقل يعني إما تكراره أو محاربته. بدلاً من ذلك، يكشف مدير نقل أومنيتاتش عن الروابط الصحيحة — تتحقق فحوص الأهلية من BSS الخاص بك للحصول على إجابة، وتقوم أحداث دورة الحياة (اكتمل النقل، تم تفويض النقل الخارجي) بإخطار BSS الخاص بك لاتخاذ إجراء. تقوم منصة النقل بعملها؛ يقوم BSS الخاص بك بعمله.
في الممارسة العملية، يعني ��ذا:
- يتم إدارة دورة حياة طلب النقل وتفاعلات مركز التنسيق بالكامل هنا
- يتم تحديث التوجيه تلقائيًا عند الاكتمال
- تظل أهلية الحساب، تفعيل الخدمة، وإغلاق الحساب في OSS/BSS الخاص بك — يتم تفعيلها بواسطة أحداث من هذه المنصة، وليس استبدالها بها
بالنسبة للمشغلين الذين يستخدمون OmniCRM، فإن هذا التكامل مُعد مسبقًا. بالنسبة للمشغلين الذين لديهم BSS موجود، توفر واجهة API روابط الأحداث اللازمة لتوصيلها.
توجد واجهة الويب لفرق النقل للتعامل مع العمليات اليومية — مراجعة الطلبات، التصرف في النقلات المعلقة، استعلام التوجيه، وتشخيص مشاكل تسليم الرسائل القصيرة. على نطاق واسع، من المتوقع أن تكون تقديمات النقل واستجابات دورة الحياة مؤتمتة من خلال واجهة API.
هيكل النظام
المكونات الأساسية
- مدير النقل — ينظم سير عمل النقل ويدير التفاعلات مع مركز تنسيق نقل الأرقام
- خادم DNS/ENUM — يدير توجيه المكالمات وحل الأرقام
- واجهة API وواجهة ويب — توفر وصول برمجي ومستخدم لوظائف النقل
نقاط التكامل
- OmniCRM — إدارة علاقات العملاء وتوفير الخدمة
- منصة الفوترة — إدارة الفوترة والإيرادات (CGrateS)
- PortingXS — مركز تنسيق نقل الأرقام الدولي
- NPAC — مركز تنسيق نقل الأرقام في الولايات المتحدة
- بنية DNS/ENUM — توجيه المكالمات وحل الأرقام
مدير النقل
سير عمل النقل الوارد
- بدء الطلب — يتم إنشاء طلب النقل الوارد عبر واجهة الويب أو واجهة API
- تقديم لمركز التنسيق — يقدم مدير النقل الطلب إلى مركز التنسيق المناسب (PortingXS للأسواق الدولية، NPAC للولايات المتحدة)
- مراقبة الحالة — يتتبع النظام تغييرات الحالة عبر تدفق أحداث مركز التنسيق
- توفير ENUM — عند اكتمال النقل بنجاح، يتم تحديث قاعدة بيانات التوجيه تلقائيًا
- تفعيل الخدمة — يتم تفعيل خدمة OmniCRM وتبدأ الفوترة
- تكامل الفوترة — يتم إخطار منصة الفوترة لبدء الفوترة
الكشف التلقائي عن مشغل المانح
عند تقديم طلب النقل الوارد بدون donornetworkoperator، يحدد مدير نقل أومنيتاتش تلقائيًا مشغل المانح من نطاق الرقم. هذه هي الإعداد الافتراضي الموصى به لمعظم التقديمات — يحتاج رمز المشغل إلى أن يتم تحديده صراحة فقط عندما يحتاج نتيجة الكشف التلقائي إلى تجاوزها.
إعادة تقديم نوع الحساب التلقائي
سبب الرفض الشائع من مشغلي المانح هو نوع الحساب غير صحيح (رمز الرفض 35) — علامة الدفع المسبق/الدفع الآجل في الطلب لا تتطابق مع سجلات المانح. بدلاً من الحاجة إلى تدخل يدوي، يقوم مدير النقل تلقائيًا بإعادة محاولة الطلب مع تبديل نوع الحساب (الدفع المسبق → الدفع الآجل أو العكس) عند تلقي هذا الرفض.
تخلق إعادة التقديم سجل نقل جديد. في واجهة الويب، يتم عرض معرف النقل الأصلي باللون الأخضر على السجل الجديد بحيث يمكن تتبع التاريخ. عبر واجهة API، GET /np_api/PortIn/{msgidentifier} يحل بشكل شفاف إلى السجل النشط إذا حدثت إعادة تقديم.
سير عمل النقل الخارجي
- استقبال الطلب — يتم استلام طلب النقل الخارجي من مشغل الاستحواذ عبر مركز التنسيق
- التحقق من الخدمة — يتحقق النظام من وجود الخدمة وأنها مؤهلة
- إخطار CRM — يتم تحديث OmniCRM بحالة النقل الخارجي
- إلغاء توفير ENUM — يتم تحديث قاعدة بيانات التوجيه لتوجيه المكالمات إلى مشغل الاستحواذ
- إنهاء الخدمة — عند الوقت المحدد للنقل: يتم إلغاء تفعيل الخدمة في OmniCRM، يتم إنشاء الفاتورة النهائية، يتم إغلاق جميع الخدمات المرتبطة
تكامل مراكز التنسيق
PortingXS
PortingXS (PXS) هو مركز تنسيق نقل الأرقام الدولي المعتمد على نطاق واسع والذي يعمل في 43 دولة عبر أربع مناطق:
| المنطقة | الدول |
|---|---|
| الأمريكتان ومنطقة البحر الكاريبي | أنتيغوا وبربودا، باهاماس، باربادوس، جزر كايمان، كوراساو، دومينيكا، غرينادا، غيانا، جامايكا، بنما، سانت لوسيا، سانت كيتس ونيفيس، سانت مارتن، سانت فنسنت وجزر غرينادين، ترينيداد وتوباغو، جزر تركس وكايكوس |
| أوروبا | بلجيكا، البوسنة والهرسك، جبل طارق، غيرنزي، أيرلندا، جزيرة مان، جيرسي، كوسوفو، مونتينيغرو، سلوفينيا، هولندا، أوكرانيا |
| أفريقيا | الجزائر، بنين، غانا، كينيا، ناميبيا، نيجيريا، رواندا، السنغال، سيشيل، توغو |
| الشرق الأوسط وآسيا | أرمينيا، بنغلاديش، ب��وناي، العراق، سريلانكا |
يتكامل مدير النقل عبر واجهة REST/SOAP API ويدير دورة النقل بالكامل من خلال آلة حالة.
القدرات الأساسية:
- إدارة النقل الوارد/الخارج مع سير عمل آلة الحالة بالكامل
- تحديثات الحالة في الوقت الحقيقي عبر تاريخ الأحداث
- تتبع رسائل SOA/ENUM XML
- قاعدة بيانات توجيه مركزية لـ ENUM (IMS) وMAP/INAP/CAP (All Call Query)
- تجاوز التوجيه اليدوي
نقاط نهاية واجهة API:
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
| POST | /PortIn/create | تقديم طلب نقل وارد جديد |
| GET | /PortIn/list | قائمة بجميع طلبات النقل الواردة |
| GET | /PortIn/{msgidentifier} | الحصول على تاريخ الأحداث |
| POST | /PortIn/{msgidentifier} | إرسال التعليمات للمضي قدمًا |
| DELETE | /PortIn/{msgidentifier} | إلغاء طلب النقل |
| GET | /PortOut/list | قائمة طلبات النقل الخارجي |
| POST | /PortOut/{msgidentifier} | تفويض النقل الخارجي |
| DELETE | /PortOut/{msgidentifier} | رفض النقل الخارجي |
| GET | /route/{phone_number} | استعلام التوجيه الحالي |
| POST | /route/{msisdn}/{operator}/{type} | تحديث التوجيه يدويًا |
يتم تكوين رموز المشغل، تنسيق الرقم، وأنواع الحسابات لكل نشر.
NPAC
للتطبيقات في الولايات المتحدة، يتكامل مدير نقل أومنيتاتش مع مركز إدارة نقل الأرقام (NPAC):
- إنشاء وإدارة طلبات خدمة NPAC (SO)
- تفاعلات مزود الخدمة المحلي (LSP)
- إدارة إصدار الاشتراك (SV)
- مزامنة الحالة في الوقت الحقيقي
- الامتثال للوائح النقل الأمريكية والجداول الزمنية
خادم DNS / ENUM
يوفر خادم DNS خدمات DNS شاملة لشبكات الاتصالات، داعمًا خدمات الحزمة القياسية، سيناريوهات التجوال، IMS، وتوجيه المكالمات لنقل الأرقام.
مناطق شبكة 3GPP
منطقة EPC (epc.mncXXX.mccYYY.3gppnetwork.org) — تستخدم لإشارات Diameter المحلية وسيناريوهات التجوال. تمكن الشبكات الزائرة من اكتشاف موارد PGW المحلية. تحتوي على ��جلات SRV وNAPTR لاكتشاف نظراء Diameter.
منطقة IMS (ims.mncXXX.mccYYY.3gppnetwork.org) — تدعم عمليات نظام الوسائط المتعددة IP. توجيه إشارات SIP وتحديد مواقع موارد CSCF لمشتركي IMS. تدعم VoLTE وRCS.
المنطقة العامة 3GPP (mncXXX.mccYYY.pub.3gppnetwork.org) — توفر وصولًا خارجيًا إلى الخدمات الموجهة للمشتركين: اكتشاف خادم XCAP، موقع BSF لـ GBA، واكتشاف ePDG لـ VoWiFi.
ENUM لنقل الأرقام
ينفذ خادم DNS خدمات ENUM وفقًا لـ RFC 3761 باستخدام منطقة e164enum.net.
All-Call-Query (ACQ): كل مكالمة تستعلم عن قاعدة بيانات ENUM لتحديد التوجيه الحالي.
تدفق استعلام ENUM:
- يقوم النظام المتصل باستخراج الرقم المكون (على سبيل المثال +1-555-0100)
- يتم تحويل الرقم إلى تنسيق ENUM (
0.0.1.0.5.5.5.1.e164.arpa) - يتم إصدار استعلام DNS NAPTR إلى خادم ENUM
- يعيد الخادم معلومات التوجيه: معرف المشغل، رقم التوجيه (RN)، مزود الخدمة، علامات التوجيه المخصصة
تتعامل OmniCall — منصة IMS وMSC من أومنيتاتش — مع تدفق ACQ ENUM بشكل تلقائي. لا يتطلب الأمر أي عمل تكاملي إضافي؛ تستعلم OmniCall عن خادم ENUM في كل مكالمة وتوجه بناءً على استجابة NAPTR. بالنسبة للمشغلين الذين يستخدمون OmniCall جنبًا إلى جنب مع مدير نقل أومنيتاتش، يكون توجيه الأرقام المنقولة صحيحًا من لحظة اكتمال النقل، دون الحاجة إلى تدخل يدوي أو صيانة جدول توجيه م��فصل.
نهج التوجيه للأرقام المنقولة
النهج المحدد في RFC 4694 والمعتمد من قبل 3GPP في TS 23.228 §4.18 لـ IMS هو All-Call-Query ضد قاعدة بيانات ENUM. تستعلم كل مكالمة عن ENUM لتوجيه الرقم المحدد، وتحمل الاستجابة رقم توجيه المشغل الحالي مباشرة. هذه هي الطريقة التي من المفترض أن يعمل بها نقل الأرقام في شبكة IMS — قرارات التوجيه بناءً على بيانات حقيقية لكل رقم، وليس جداول النطاق التي تتطلب صيانة يدوية وتخرج عن التاريخ مع النقلات المتكررة.
يقوم مدير نقل أومنيتاتش بتنفيذ ذلك بالكامل. عند اكتمال النقل، يتم دفع سجلات NAPTR إلى خادم ENUM تلقائيًا لكل رقم في النطاق. تحمل الاستجابة معاملين:
rn— رقم التوجيه لمشغل الخدمة الحالي. يقوم المفتاح الأصلي بالتوجيه إلى هذا، وليس إلى مشغل الرقم الأصلي.npdi— يشير إلى أن بحث NP ��د تم. يجب ألا تعيد العقد السفلية الاستعلام، مما يمنع الحلقات.
عند اكتمال النقل، يقوم مدير نقل أومنيتاتش تلقائيًا بدفع سجل NAPTR إلى خادم ENUM لكل رقم في النطاق المنقول:
0.0.1.0.5.5.5.1.e164.arpa. NAPTR 10 10 "u" "E2U+pstn:tel"
"!(^.*$)!sip:\1;npdi;rn=<routing_number>@<carrier_ims_domain>!"
بالنسبة للأرقام غير المنقولة، يتم تعيين npdi بدون rn — مما يؤكد أن البحث قد تم وأن الرقم لم يتحرك. في كلتا الحالتين، يحصل نواة IMS الأصلية (S-CSCF/BGCF) على إجابة حاسمة من DNS وتوجه دون أي مزيد من البحث في قاعدة البيانات.
يظل التوجيه صحيحًا عبر عدة نقلات دون أي تدخل يدوي. يظل خادم ENUM دائمًا المصدر الوحيد للحقيقة.
تكامل منصة الفوترة
النقل الوارد
عند نقل رقم بنجاح:
- ترسل البوابة إشعار التفعيل إلى منصة الفوترة
- تقوم منصة الفوترة بإنشاء حساب مشترك وملفات تقييم
- تبدأ الرسوم المتكررة وتقييم الاستخدام على الفور
- قد تكون الفاتورة الأولى محسوبة بشكل نسبي بناءً على تاريخ اكتمال النقل
النقل الخارجي
عند نقل رقم خارجي:
- ترسل البوابة إشعار الإلغاء إلى منصة الفوترة
- تتوقف الفوترة في الوقت الحقيقي عند الوقت المحدد للنقل
- يتم إنشاء الفاتورة النهائية: رسوم متكررة محسوبة بشكل نسبي، استخدام غير مدفوع، رسوم إنهاء مبكرة (إذا كانت قابلة للتطبيق)، ائتمانات/استردادات
- يتم إغلاق حساب المشترك مع رمز سبب النقل
سير العمل التشغيلي
العمليات اليومية
- مراجعة حالة الصباح — تحقق من أنشطة النقل الليلية وتحديثات مركز التنسيق
- معالجة عناصر العمل — التعامل مع الموافقات المعلقة وتأكيدات العملاء
- حل الأخطاء — التحقيق وحل النقلات الفاشلة أو المرفوضة
- التواصل مع العملاء — التنسيق مع العملاء بشأن تواريخ النقل القادمة
المراقبة
يوفر مدير نقل أومنيتاتش مراقبة آلية لـ:
- اتصال API بمركز التنسيق
- فشل توفير ENUM
- أخطاء مزامنة CRM
- فشل تكامل منصة الفوترة
- معدلات رفض النقل غير الطبيعية
الامتثال والتدقيق
- يتم تسجيل جميع أنشطة النقل مع مسارات تدقيق كاملة
- الامتثال للجداول الزمنية التنظيمية للنقل
- الاحتفاظ بسجلات التواصل بين المشغلين
- التسوية المالية مع رسوم مركز التنسيق
القضايا الشائعة
النقل عالق في حالة الانتظار — تحقق من اتصال API بمركز التنسيق، تحقق من معلومات العميل، راجع سجل الأحداث لمعرفة سبب الرفض.
التوجيه غير محدث بعد النقل — تأكد من أن حالة النقل هي Number_Ported. استخدم استعلام التوجيه للتحقق من الحالة الحالية. استخدم دفع التوجيه لتصحيحها يدويًا إذا لزم الأمر.
فشل التحقق من الرسائل القصيرة — قم بتوسيع صف النتيجة لجمع معرف الرسالة ومعرف المعاملة. قدم هذه المعلومات لمزود CPaaS عند التصعيد.
دليل المستخدم
البدء
يتم التحكم في الوصول بواسطة مفتاح API. عند التحميل الأول، سيتم مطالبتك بواجهة إدخال مفتاح API. أدخل مفتاح API المعين لك وانقر على حفظ التغييرات. يتم تخزين بيانات الاعتماد في localStorage للمتصفح وتستمر بين الجلسات. لتحديث مفتاحك في أي وقت، انقر على تغيير مفتاح API في الزاوية العلوية اليمنى من شريط التنقل.
تحدد فئة حسابك الميزات المتاحة:
| الفئة | الوصول |
|---|---|
| المسؤول | وصول كامل إلى جميع الميزات |
| مستخدم PXS | إدارة النقل الوارد/الخارج والتوجيه |
| قراءة فقط | استعلامات التوجيه والتحقق من الرسائل القصيرة فقط |
التنقل
طلب النقل — تقديم طلب نقل وارد جديد
النقل الوارد — عرض وإدارة جميع طلبات النقل الواردة
النقل الخارجي — مراجعة والرد على طلبات النقل الخارجي من م��غلين آخرين
استعلام التوجيه — البحث عن التوجيه الحالي لأي رقم
دفع التوجيه — توفير سجل توجيه يدويًا
التحقق من توجيه الرسائل القصيرة — إرسال رسائل SMS اختبارية عبر مزودي CPaaS متعددين
تغيير مفتاح API — تحديث بيانات اعتمادك (زر، أعلى اليمين)
طلب النقل الجديد
انقر على طلب النقل في التنقل لفتح نموذج التقديم.

| الحقل | الوصف |
|---|---|
| مشغل الشبكة المانحة | رمز مشغل المانح. اختر تلقائي للكشف التلقائي من نطاق الرقم. |
| تجاوز فترة الانتظار | تعيين إلى صحيح فقط عندما يتنازل العميل صراحة عن فترة الانتظار. الافتراضي: خطأ. |
| نوع الحساب | الدفع المسبق أو الدفع الآجل |
| نوع الأرقام | متحرك أو ثابت |
| الرقم الأول | بداية نطاق الرقم (تنسيق محلي، بدون رمز الدولة) |
| الرقم الأخير | نهاية ا��نطاق — نفس الرقم الأول لرقم واحد |
| إجمالي الأرقام | محسوب تلقائيًا |
| البريد الإلكتروني (جهة الاتصال) | البريد الإلكتروني للجهة الاتصال لهذا الطلب |
| رقم التفويض | رقم تفويض العميل — يتم ملؤه تلقائيًا من الرقم الأول إذا تُرك فارغًا |
انقر على تقديم لإنشاء الطلب. ستظهر رسالة نجاح تعرض معرف الرسالة المعين.
لوحة معلومات النقل الوارد

| العمود | الوصف |
|---|---|
| المعرف | معرف قاعدة البيانات الداخلية |
| معرف النقل | معرف رسالة مركز التنسيق |
| الحالة | الحالة الحالية للنقل |
| التاريخ المطلوب | طابع زمني للتقديم |
| التاريخ المحدث | طابع زمني آخر تحديث |
| المشغل | رمز مشغل الشبكة المانحة |
| الهدف | رقم الاتصال/التفويض |
| النوع | متحرك أو ثابت |
| نوع الخدمة | زر تاريخ الأحداث |
| الإجراءات | أزر��ر الإجراءات المعتمدة على الحالة |
حيث تم إعادة تقديم النقل (على سبيل المثال، بعد عدم تطابق نوع الحساب)، يتم عرض معرف النقل الأصلي باللون الأخضر. حيث تم رفض النقل، يتم عرض سبب الرفض باللون الأحمر.
حالات النقل الوارد:
| الحالة | المعنى |
|---|---|
Waiting_for_Authorisation_Response | تم تقديم الطلب، في انتظار رد المانح |
Waiting_for_Instruction | تم تفويض المانح — تأكيد المضي قدمًا |
Waiting_for_Instruction_Response | تم إرسال التعليمات، في انتظار الاعتراف |
Waiting_for_Ported_Response | تنفيذ النقل قيد التقدم |
Number_Ported / Number_Ported_Complete | اكتمل النقل، تم تحديث التوجيه |
Aborted | تم الإلغاء |
Rejected | رفض المانح الطلب |
TimeOut | انتهت صلاحية الطلب |
الإجراءات:
Waiting_for_Authorisation_Response— زر إلغاء (أحمر) يلغي الطلبWaiting_for_Instruction— زر التعليمات (أخضر) يؤكد أن النقل يجب أن يستمر
تاريخ الأحد��ث:
انقر على تاريخ الأحداث في أي صف لفتح نافذة سجل الأحداث.

- الأحداث — قائمة قابلة للطي لكل انتقال حالة مع نوع الحدث وتفاصيل السجل
- XML Bodies — روابط تنزيل لجميع رسائل SOA/ENUM XML، مقسمة إلى outbound (
Output_XML) وinbound (Input_XML) - البيانات التفصيلية — تفريغ JSON كامل لسجل النقل
لوحة معلومات النقل الخارجي

| العمود | الوصف |
|---|---|
| المعرف | معرف قاعدة البيانات الداخلية |
| معرف النقل | معرف رسالة مركز التنسيق |
| الحالة | الحالة الحالية للنقل |
| التاريخ المطلوب | طابع زمني للتقديم |
| التاريخ المحدث | طابع زمني آخر تحديث |
| المشغل | رمز مشغل المستلم (المستحوذ) |
| الأهداف | نطاقات الأرقام التي يتم نقلها |
| نوع الخدمة | زر سجل الأحداث |
| الإج��اءات | أزرار تفويض أو رفض |
الإجراءات (Waiting_for_Authorisation_Response):
- تفويض (أخضر) — يوافق على النقل الخارجي ويخطر مشغل الاستحواذ
- رفض (أحمر) — ينكر الطلب. استخدم فقط لأسباب مشروعة: عدم تطابق الحساب، رصيد غير مدفوع، طلب احتيالي، أو رقم غير نشط.
انقر على سجل الأحداث في أي صف لعرض تبادل الرسائل الكامل.

استعلام التوجيه
أدخل الرقم المحلي (يتم إضافة رمز الدولة تلقائيًا) وانقر على تحقق من التوجيه.

الاستجابة هي نتيجة CGrateS ProcessEvent الخام:
| الحقل | الوصف |
|---|---|
Event.E164Address | الرقم المستعلم عنه |
Event.NAPTRAddress | سلسلة توجيه NAPTR — مجال IMS أو رقم التوجيه |
Event.NAPTROrder | قيمة ترتيب NAPTR |
Event.NAPTRPreference | قيمة تفضيل NAPTR |
MatchedProfiles | ملف تعريف سمة CGrateS المتطابق لهذا الرقم |
دفع التوجيه

| الحقل | الوصف |
|---|---|
| رقم الهاتف (بدون رمز الدولة) | رقم محلي — يتم إضافة رمز الدولة تلقائيًا |
| المشغل | رمز المشغل لتوجيه هذا الرقم إليه |
| النوع | متحرك أو ثابت |
استخدمه لتصحيحات الطوارئ، التوفير الأولي، أو عندما يفشل التوجيه التلقائي بعد النقل.
التحقق من توجيه الرسائل القصيرة

الحالة الرئيسية لاستخدام هذه الأداة هي التحقق من أن رسائل SMS من مزودي CPaaS الخارجيين تتجه بشكل صحيح إلى الأرقام المنقولة. عند نقل رقم، يجب أن يتم توفير المشغل الجديد بشكل صحيح في جداول توجيه كل مزود — هذا لا يحدث دائمًا تلقائيًا، وبدون أداة مثل هذه، لا توجد طريقة سهلة لاكتشاف الفجوة.
من خلال إرسال رسالة اختبار من كل مزود إلى رقم مُنقل، يمكنك تأكيد أي المزودين قد قاموا بتحديث توجيههم وأيهم لم يفعل. يمكن تصعيد المزودين الذين يعودون بخطأ أو يفشلون في التسليم مباشرة باستخدام معلومات التصحيح في النتيجة.
يتحقق من أن المزود قبل تقديم الرسالة — لا يؤكد التسليم إلى الهاتف المحمول. استخدم جهاز اختبار أو تحقق من سجل SMSc لتأكيد التسليم.
- أدخل رقم الهاتف المستهدف (عادةً رقم مُنقل حديثًا تحت الاختبار)
- اختر واحدًا أو أكثر من مزودي A2P للاختبار من خلالهم
- انقر على تحقق من التوجيه
سيستقبل الرقم المستهدف رسالة SMS من كل مزود مختار مع نص اختبار من {اسم المزود}. تظهر النتائج باللون الأخضر (مقبولة) أو الأحمر (خطأ). انقر على أي صف من النتائج لتوسيع معلومات التصحيح — المطلوبة عند تصعيد مشاكل التوجيه إلى مزودي CPaaS.
المزودون المتاحون:
| المزود | الملاحظات |
|---|---|
| Enet | تسليم SMPP من المنصة الأصلية |
| GTT | مباشر من المشغل |
| Digicel | مباشر من المشغل |
| Sinch | مزود CPaaS |
| Twilio | لدى أومنيتاتش جهة اتصال تصعيد مباشرة |
| Vonage | لدى أومنيتاتش جهة اتصال تصعيد مباشرة |
| Telnyx | عميل أومنيتاتش — جهة اتصال مباشرة مع الفريق |
| Pilvo | لدى أومنيتاتش جهة اتصال تصعيد مباشرة |
Swagger / مستكشف API
يكشف مدير نقل أومنيتاتش عن واجهة Swagger حية في /np_api/doc.



مخطط OpenAPI متاح في /np_api/swagger.json للاستيراد إلى Postman أو أدوات API الأخرى.
مرجع API
عنوان URL الأساسي
/np_api/
التوثيق التفاعلي متاح في /np_api/doc.
المصادقة
راجع دليل المسؤول لإعداد المصادقة وإدارة بيانات الاعتماد.
| الفئة | القدرات |
|---|---|
admin | وصول كامل إلى جميع نقاط النهاية |
pxs | إدارة النقل الوارد/الخارج والتوجيه |
read_only | نقاط نهاية التحقق ومعلومات الرقم فقط |
نقاط نهاية النقل الوارد
إنشاء طلب النقل الوارد
POST /np_api/PortIn/create — المصادقة: admin, pxs
| الحقل | النوع | مطلوب | الوصف |
|---|---|---|---|
donornetworkoperator | سلسلة | لا | رمز مشغل المانح — اترك فارغًا للكشف التلقائي |
email | سلسلة | نعم | البريد الإلكتروني للجهة الاتصال |
overridecooloff | منطقي | لا | تخطي فترة الانتظار التنظيمية (الافتراضي: خطأ) |
contacttelephonenumber | سلسلة | نعم | رقم تفويض العميل |
Type_of_Numbers | سلسلة | نعم | "mobile" أو "fixed" |
telephonenumberseriestart | سلسلة | نعم | الرقم الأول في النطاق |
telephonenumberserieend | سلسلة | نعم | الرقم الأخير في النطاق |
AccountType | سلسلة | نعم | "Prepaid" أو "Postpaid" |
PortingState | عدد صحيح | لا | تجاوز الحالة الأولية (الافتراضي: 0) |
curl -X POST https://your-host/np_api/PortIn/create \
-u "your_username:your_api_key" \
-H "Content-Type: application/json" \
-d '{
"donornetworkoperator": "DONOR",
"email": "ops@example.com",
"overridecooloff": false,
"contacttelephonenumber": "5550100",
"Type_of_Numbers": "mobile",
"telephonenumberseriestart": "5550100",
"telephonenumberserieend": "5550199",
"AccountType": "Prepaid"
}'
الاستجابة:
{
"result": "success",
"msgidentifier": "XX202501-CARR-00001",
"message": "تم إنشاء طلب النقل الوارد بنجاح"
}
قائمة طلبات النقل الوارد
GET /np_api/PortIn/list — المصادقة: admin, pxs
ترجع حتى 30 سجلًا مرتبة حسب الأحدث.
الحصول على طلب النقل الوارد
GET /np_api/PortIn/{msgidentifier} — المصادقة: admin, pxs
ترجع السجل الكامل بما في ذلك تاريخ الأحداث ونطاقات الأرقام. إذا تم استبداله بإعادة تقديم، فإنه يرجع بشكل شفاف السجل الأحدث.
شكل الاستجابة:
{
"port_in_id": 42,
"msgidentifier": "XX202501-CARR-00001",
"PortingState": 2,
"PortingStateString": "Waiting_for_Instruction",
"donornetworkoperator": "DONOR",
"email": "ops@example.com",
"contacttelephonenumber": "5550100",
"Type_of_Numbers": "mobile",
"AccountType": "Prepaid",
"overridecooloff": false,
"submission_timestamp": "2025-01-15T10:30:00",
"update_timestamp": "2025-01-15T14:22:00",
"failure_reason": null,
"original_porting_request": null,
"phone_number_ranges": [
{ "telephonenumberseriestart": "5550100", "telephonenumberserieend": "5550199" }
],
"events": [
{
"porting_in_event_id": 1,
"msgtype": "PortingRequest",
"direction": 0,
"eventlog": "تم تقديمه إلى مركز التنسيق",
"submission_timestamp": "2025-01-15T10:30:00Z"
}
]
}
قيم حالة النقل:
| القيمة | الحالة |
|---|---|
| 0 | NoPort |
| 1 | Waiting_for_Authorisation_Response |
| 2 | Waiting_for_Instruction |
| 3 | Waiting_for_Instruction_Response |
| 10 | Waiting_for_Ported_Response |
| 11 | Waiting_for_Change_Response |
| 20 | Number_Ported |
| 30 | Number_Ported_Complete |
| 97 | TimeOut |
| 98 | Aborted |
| 99 | Rejected |
رموز أسباب الرفض (failure_reason):
| الرمز | السبب |
|---|---|
| 0 | غير معروف |
| 31 | تم تعليق الحساب |
| 32 | مشكلة في الحساب |
| 33 | مشكلة في الفاتورة |
| 34 | تجاوز الإيداع |
| 35 | نوع حساب غير صحيح |
| 36 | تم الإبلاغ عنه كمسروق أو مفقود |
| 37 | خاص |
| 38 | لا فترة انتظار (إعادة توطين) |
| 39 | مشكلة في فاتورة الدفع المسبق |
| 99 | رفض عام |
إرسال التعليمات (تأكيد النقل)
POST /np_api/PortIn/{msgidentifier} — المصادقة: admin, pxs
يؤكد أن النقل يجب أن يستمر. صالح فقط عندما تكون PortingState هي Waiting_for_Instruction (2).
إلغاء النقل الوارد
DELETE /np_api/PortIn/{msgidentifier} — المصادقة: admin, pxs
يلغي النقل الوارد. صالح في الحالات: Waiting_for_Authorisation_Response, Waiting_for_Instruction, Waiting_for_Authorisation.
قائمة ملفات XML
GET /np_api/PortIn/get_xml_list/{msgidentifier} — المصادقة: admin, pxs
ترجع مصفوفة من أسماء ملفات XML لنقل.
تنزيل ملف XML
GET /np_api/PortIn/get_xml/{folder}/{filename} — المصادقة: admin, pxs
folder هو output_XML (مرسل) أو input_XML (مستلم).
نقاط نهاية النقل الخارجي
قائمة طلبات النقل الخارجي
GET /np_api/PortOut/list — المصادقة: admin, pxs
الحصول على طلب النقل الخارجي
GET /np_api/PortOut/{msgidentifier} — المصادقة: admin, pxs
شكل الاستجابة:
{
"port_out_id": 99,
"msgidentifier": "XX202501-DONOR-00001",
"PortingState": 1,
"PortingStateString": "Waiting_for_Authorisation_Response",
"recipientnetworkoperator": "DONOR",
"Type_of_Numbers": "mobile",
"submission_timestamp": "2025-01-16T09:15:00",
"update_timestamp": "2025-01-16T09:15:00",
"phone_number_ranges": [
{ "telephonenumberseriestart": "5550200", "telephonenumberserieend": "5550249" }
],
"events": []
}
تفويض النقل الخارجي
POST /np_api/PortOut/{msgidentifier} — المصادقة: admin, pxs
يوافق على النقل الخارجي ويخطر مشغل الاستحواذ.
رفض النقل الخارجي
DELETE /np_api/PortOut/{msgidentifier} — المصادقة: admin, pxs
يرفض النقل الخارجي. استخدم فقط لأسباب مشروعة: عدم تطابق الحساب، رصيد غير مدفوع، طلب احتيالي، أو رقم غير نشط.
نقاط نهاية التوجيه
استعلام توجيه الرقم
GET /np_api/route/{msisdn} — المصادقة: admin, pxs
ترجع سجل توجيه CGrateS بما في ذلك عنوان NAPTR، الترتيب، التفضيل، وبيانات اشتراك HSS. msisdn هو الرقم الكامل بتنسيق E.164 بدون + في البداية.
دفع تحديث التوجيه
POST /np_api/route/{msisdn}/{operator}/{type} — المصادقة: admin, pxs
يوفر يدويًا سجل توجيه. operator هو محدد حسب النشر. type هو mobile أو fixed.
حذف سجل التوجيه
DELETE /np_api/route/{msisdn} — المصادقة: admin, pxs
يزيل سجل التوجيه.
استعلام HSS فقط
GET /np_api/route/hss_route/{msisdn} — المصادقة: admin, pxs
ترجع بيانات اشتراك HSS فقط، دون البحث في قاعدة بيانات التوجيه.
نقاط نهاية التحقق
التحقق من توجيه الرسائل القصيرة
POST /np_api/validate/sms_validate — المصادقة: admin, pxs, read_only
ترسل رسالة SMS اختبارية عبر مزود CPaaS محدد. يتم إضافة بادئة رمز الدولة تلقائيًا.
| الحقل | النوع | الوصف |
|---|---|---|
phone_number | سلسلة | الرقم المستهدف |
Operator | سلسلة | Enet, GTT, Digicel, Sinch, Twilio, Vonage, Telnyx, Pilvo, ClickSend |
apiKey | سلسلة | مفتاح API للمزود (إذا لزم الأمر) |
الاستجابة:
{
"result": "Sent",
"x-message-id": "SM1234567890abcdef",
"x-transaction-id": "8a2c925809bb403f01",
"x-message-timestamp": "2025-01-15T10:30:00.000Z",
"x-provider": "Twilio",
"x-provider-response": "..."
}
معلومات الرقم
GET /np_api/info/{msisdn} — المصادقة: admin, pxs, read_only
يستعلم من مركز التنسيق عن معلومات الرقم. ترجع استجابة مركز التنسيق الخام بتنسيق JSON.
إنهاء الرقم
DELETE /np_api/terminate/{msisdn}/{type_of_numbers} — المصادقة: admin, pxs
يقدم طلب إنهاء إلى مركز التنسيق ويزيل سجل التوجيه. type_of_numbers هو mobile أو fixed.
مستقبل XML لمركز التنسيق
POST /np_api/{deployment_prefix}/recv/ — المصادقة: pxs (بيانات اعتماد مركز التنسيق)
نقطة نهاية داخلية يستخدمها مركز التنسيق لتسليم الرسائل XML الواردة. ليست للاستخدام المباشر. يتم تكوين بادئة النشر لكل تثبيت.
| نوع الرسالة | الإجراء |
|---|---|
authorisation_request | ينشئ سجل نقل خارجي جديد |
authorisation_response | يحدث حالة النقل الوارد؛ يعيد المحاولة مع تبديل نوع الحساب عند الرمز 35 |
instruction_response | يتقدم النقل الوارد إلى Waiting_for_Ported_Response |
ported | يحدد النقل المكتمل، يحدث قاعدة بيانات التوجيه، يرسل إشعار ترحيبي |
timedout | يحدد الحالة إلى TimeOut |
terminated | يزيل سجل التوجيه |
استجابات الأخطاء
{
"result": "استثناء تم رفعه في ...",
"Reason": "تفاصيل الخطأ"
}
| الحالة | المعنى |
|---|---|
| 200 | نجاح |
| 401 | فشل المصادقة |
| 403 | الملف غير موجود (تنزيل XML) |
| 500 | خطأ داخلي — تحقق من حقل Reason |