مدير نقل أومنيتوتش
إدارة نقل الأرقام لشركات الاتصالات — تكامل مع مراكز التصفية، توجيه 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 — روابط تنزيل لجميع رسائل 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 من A2P (التطبيق إلى الشخص) من مزودي CPaaS الخارجيين تتوجه بشكل صحيح إلى الأرقام المنقولة. عند نقل رقم، يجب أن يتم توفير المشغل الجديد بشكل صحيح في جداول توجيه كل مزود — لا يحدث هذا دائمًا تلقائيًا، وبدون أداة مثل هذه، لا توجد طريقة سهلة لاكتشاف الفجوة.
من خلال إرسال رسالة اختبار من كل مزود إلى رقم منقول، يمكنك التأكد من أي المزودين قد قاموا بتحديث توجيههم وأيهم لم يفعل. يمكن تصعيد المزودين الذين يعيدون خطأ أو يفشلون في التسليم مباشرة باستخدام معلومات التصحيح في النتيجة.
يتحقق من أن المزود قبل تقديم الرسالة — لا يؤكد التسليم إلى الجهاز. استخدم جهاز اختبار أو تحقق من سجل SMSc لتأكيد التسليم.
- أدخل رقم الهاتف المستهدف (عادةً رقم مؤخرًا تم نقله تحت الاختبار)
- اختر واحدًا أو أكثر من مزودي A2P للاختبار من خلالهم
- انقر على تحقق من التوجيه
سيتلقى الرقم المستهدف رسالة SMS من كل مزود مختار مع نص اختبار من {اسم المزود}. تظهر النتائج باللون الأخضر (مقبولة) أو الأحمر (خطأ). انقر على أي صف من النتائج لتوسيع معلومات التصحيح — المطلوبة عند تصعيد مشكلات التوجيه إلى مزودي CPaaS.
المزودون المتاحون:
| المزود | الملاحظات |
|---|---|
| Native | تسليم المنصة الأصلية عبر SMPP |
| CarrierA | مباشر من المشغل |
| CarrierB | مباشر من المشغل |
| 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 | سلسلة | Native, CarrierA, CarrierB, 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 |