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

بوابة OmniMessage SMPP - دليل العمليات

ما هي بوابة OmniMessage SMPP؟

بوابة OmniMessage SMPP هي واحدة من عدة بروتوكولات واجهة أمامية لمنصة الاتصالات OmniMessage. تتيح إرسال رسائل SMS من خلال ربط البنية التحتية الخاصة بك بشبكات الهاتف المحمول باستخدام بروتوكول SMPP (رسالة قصيرة من نظير إلى نظير) القياسي في الصناعة.

مهم: هذه البوابة هي واجهة بروتوكول بدون حالة. ليس لديها منطق تجاري، أو معالجة رسائل، أو قدرات تخزين. كل الذكاء يأتي من OmniMessage، الذي يتم الوصول إليه عبر REST API. مثل واجهات OmniMessage الأخرى (Diameter، MAP، IMS)، تقوم ببساطة بترجمة رسائل البروتوكول من وإلى التنسيق الداخلي لـ OmniMessage.

القدرات الرئيسية

  • إرسال واستقبال رسائل SMPP ثنائية الاتجاه: إرسال واستقبال رسائل SMS عبر SMPP
  • اتصالات متعددة: الاتصال بعدة مشغلين في وقت واحد
  • أداء عالي: معالجة آلاف الرسائل في الثانية
  • المراقبة: مقاييس Prometheus المدمجة ولوحة التحكم على الويب
  • موثوقية: إعادة الاتصال التلقائي وإعادة محاولة الرسائل
  • تشغيل بدون حالة: يتم تفويض جميع المعالجة إلى خلفية OmniMessage

من يجب أن يستخدم هذا الدليل؟

هذا الدليل مخصص لفرق العمليات المسؤولة عن:

  • تثبيت وتكوين البوابة
  • مراقبة حركة الرسائل
  • إدارة اتصالات SMPP
  • استكشاف المشكلات وإصلاحها

بدء سريع

إعداد المرة الأولى

  1. الوصول إلى لوحة التحكم على الويب: https://your-server:8087
  2. تحقق من حالة النظام: انتقل إلى SMPP → الحالة المباشرة
  3. مراجعة التكوين: انظر CONFIGURATION.md
  4. إعداد المراقبة: انظر MONITORING.md

العمليات اليومية

المهام التشغيلية الشائعة:

المهمةالإجراء
تحقق من حالة الاتصالواجهة الويب → SMPP → الحالة المباشرة
عرض حركة الرسائلواجهة الويب → قائمة الانتظار
مراقبة صحة النظامواجهة الويب → السجلات أو مقاييس Prometheus
إضافة/تعديل الاتصالاتواجهة الويب → SMPP → أقران العميل/الخادم

انظر OPERATIONS.md لإجراءات مفصلة.

هيكل النظام

بوابة SMPP هي مترجم بروتوكول بدون حالة يعمل كجزء من منصة OmniMessage:

المفاهيم الرئيسية:

  • بوابة SMPP: مترجم بروتوكول فقط - لا معالجة للرسائل، أو تخزين، أو منطق تجاري
  • OmniMessage: المنصة الأساسية التي تتعامل مع جميع منطق الرسائل، والتوجيه، والتخزين
  • اتصالات API: تسترجع البوابة الرسائل لإرسالها من OmniMessage وتبلغ عن حالة التسليم

تكامل OmniMessage

بوابة OmniMessage SMPP هي واجهة بروتوكول لمنصة الرسائل OmniMessage. إنها واحدة من عدة أنواع واجهات متطابقة تتفاعل مع شبكات الهاتف المحمول باستخدام بروتوكولات مختلفة:

الواجهةالبروتوكولالغرض
بوابة SMPPSMPP (SMS)إرسال الرسائل القصيرة عبر بروتوكول SMPP
بوابة DiameterDiameterالرسائل المعتمدة على IMS
بوابة MAPMAPإشارة الشبكة المحمولة
بوابة IMSIMSنظام الوسائط المتعددة عبر بروتوكول الإنترنت

تشارك جميع الواجهات نفس الهيكل: إنها مترجمات بروتوكول بدون حالة تفوض كل الذكاء إلى جوهر OmniMessage.

كيف تعمل

تدفق الرسائل الواردة (النظام الخارجي → المشغل):

تدفق الرسائل الصادرة (المشغل → بوابة SMPP):

ما الذي تفعله البوابة

  • تستقبل PDUs SMPP من المشغلين والعملاء الخارجيين
  • تحلل وتتحقق من رسائل بروتوكول SMPP
  • تترجم تنسيق SMPP إلى التنسيق الداخلي لـ OmniMessage
  • تستدعي REST API لـ OmniMessage مع بيانات الرسالة
  • تستقبل الرسائل من OmniMessage عبر استعلام API
  • تحول تنسيق OmniMessage مرة أخرى إلى PDUs SMPP
  • تبلغ عن إيصالات التسليم مرة أخرى إلى OmniMessage

ما الذي لا تفعله البوابة

  • ❌ لا تخزين الرسائل أو الاستمرارية
  • ❌ لا قرارات توجيه (تقرر OmniMessage)
  • ❌ لا تحديد معدل (تفرض OmniMessage)
  • ❌ لا تحقق من الأرقام (تتحقق OmniMessage)
  • ❌ لا تتبع الحالة (تحافظ OmniMessage على الحالة)
  • ❌ لا منطق تجاري (تتعامل OmniMessage مع كل المنطق)

واجهة برمجة تطبيقات OmniMessage REST

تتواصل البوابة مع جوهر OmniMessage عبر REST API:

التكوين:

config :omnimessage_smpp,
api_base_url: "https://omnimessage-core.example.com:8443"

العمليات الرئيسية لواجهة برمجة التطبيقات:

  • GET /api/message_queue?destination_smsc=<bind_name> - استرجاع الرسائل المعلقة
  • PUT /api/messages/<id>/delivery_status - الإبلاغ عن إيصال التسليم
  • GET /api/system/health - فحص الصحة

تنسيق الرسالة: تحتوي الرسائل في قائمة الانتظار على جميع معلومات التسليم الضرورية:

  • الرقم الوجهة
  • نص الرسالة
  • الرقم المصدر
  • الأولوية
  • فترة الصلاحية
  • SMSC المستهدف (اسم ربط المشغل)

تسترجع البوابة ببساطة هذه، وتقوم بتنسيقها كـ SMPP، وترسلها إلى المشغل، وتبلغ عن الحالة.

هيكل الوثائق

تم تنظي�� هذه الوثائق في الأدلة التالية:

نقاط الوصول

لوحة التحكم على الويب

  • الرابط: https://your-server:8087
  • الميزات:
    • عرض حالة اتصال SMPP
    • مراقبة قائمة الرسائل
    • عرض سجلات النظام
    • تكوين أقران SMPP
    • الوصول إلى الوثائق

مقاييس Prometheus

  • الرابط: http://your-server:4000/metrics
  • التنسيق: تنسيق نص Prometheus
  • الاستخدام: التكامل مع Grafana/Prometheus

نقطة نهاية API

  • الرابط: تم تكوينه في API_BASE_URL
  • الغرض: تكامل واجهة قائمة الرسائل الخلفية

مرجع سريع

المهام الشائعة

المهمةالأمر/الموقع
بدء البوابةsystemctl start omnimessage-smpp
إيقاف البوابةsystemctl stop omnimessage-smpp
إعادة تشغيل البوابةsystemctl restart omnimessage-smpp
عرض السجلاتjournalctl -u omnimessage-smpp -f
تحقق من الحالةواجهة الويب → SMPP → الحالة المباشرة
عرض المقاييسcurl http://localhost:4000/metrics
تحرير التكوين/opt/omnimessage-smpp/config/runtime.exs

الملفات المهمة

الملفالغرض
/opt/omnimessage-smpp/config/runtime.exsالتكوين الرئيسي
/opt/omnimessage-smpp/priv/cert/شهادات SSL
/var/log/omnimessage-smpp/سجلات التطبيق
/etc/systemd/system/omnimessage-smpp.serviceتعريف الخدمة

ملاحظات الأمان

  • واجهة الويب: تستخدم HTTPS مع شهادات SSL الخاصة بك
  • اتصالات API: يمكن التحقق من SSL أو استخدام شهادات موقعة ذاتيًا
  • SMPP: بروتوكول نصي عادي - استخدم أمان الشبكة
  • المعتمدات: مخزنة في ملف التكوين - احمِ الوصول

الخطوات التالية

  1. مراجعة CONFIGURATION.md لجميع خيارات التكوين
  2. إعداد MONITORING.md مع Prometheus
  3. التعرف على OPERATIONS.md للمهام اليومية
  4. إضافة TROUBLESHOOTING.md إلى المفضلة للرجوع السريع
  5. مراجعة GLOSSARY.md للمصطلحات