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

بوابة OmniMessage SMPP

نظرة عامة على المنتج

بوابة OmniMessage SMPP هي واحدة من عدة بروتوكولات واجهة أمامية لمنصة OmniMessage.

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

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

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

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

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

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

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

البدء السريع

الإعداد الأولي

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

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

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

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

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

بنية النظام

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

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

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

تكامل OmniMessage

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

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

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

كيف يعمل

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

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

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

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

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

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

واجهة برمجة التطبيقات REST الخاصة بـ OmniMessage

تتواصل البوابة مع جوهر OmniMessage عبر واجهة برمجة التطبيقات REST:

التكوين:

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، وإرسالها إلى المشغل، والإبلاغ عن الحالة.

هيكل الوثائق

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

  • CONFIGURATION.md - مرجع تكوين كامل مع شرح لجميع المعلمات
  • MESSAGE_CACHE.md - تخزين محلي للرسائل من أجل مرونة واجهة برمجة التطبيقات
  • MONITORING.md - دليل مقاييس Prometheus والتنبيهات
  • USAGE.md - إجراءات التشغيل اليومية
  • TROUBLESHOOTING.md - المشكلات الشائعة والحلول
  • GLOSSARY.md - المصطلحات والتعريفات

نقاط الوصول

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

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

مقاييس Prometheus

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

نقطة نهاية واجهة برمجة التطبيقات

  • الرابط: تم تكوينه في 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 الخاصة بك
  • التواصل عبر واجهة برمجة التطبيقات: يمكن التحقق من SSL أو استخدام شهادات موقعة ذاتيًا
  • SMPP: بروتوكول نصي عادي - استخدم أمان الشبكة
  • البيانات الاعتمادية: مخزنة في ملف التكوين - احمِ الوصول

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

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