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

بوابة OmniMessage SMPP

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

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

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

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

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

  • إرسال واستقبال الرسائل عبر SMPP: إرسال واستقبال الرسائل النصية القصيرة عبر SMPP كـ SMSc أو ESME (عميل أو خادم)
  • اتصالات متعددة: الاتصال بعدة مشغلين في نفس الوقت
  • أداء عالي: معالجة آلاف الرسائل في الثانية
  • تخزين محلي للرسائل: الاستمرار في قبول الرسائل أثناء انقطاع واجهة برمجة التطبيقات مع إعادة المحاولة التلقائية
  • إيصالات التسليم (DLR): إرسال إيصالات تسليم SMPP مرة أخرى إلى الربط المتصل لكل رسالة مقدمة
  • المراقبة: مقاييس 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):

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

  • تستقبل SMPP PDUs من المشغلين والعملاء الخارجيين
  • تحلل وتتحقق من رسائل بروتوكول SMPP
  • تترجم تنسيق SMPP إلى التنسيق الداخلي لـ OmniMessage
  • تستدعي واجهة برمجة التطبيقات REST لـ OmniMessage مع بيانات الرسالة
  • تستقبل الرسائل من OmniMessage عبر استعلام واجهة برمجة التطبيقات
  • تحول تنسيق OmniMessage مرة أخرى إلى SMPP PDUs
  • تبلغ عن إيصالات التسليم مرة أخرى إلى 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 للمصطلحات