跳到主要内容

OmniMessage SMPP 网关 - 操作指南

版本: 1.0.0
适用于运营团队

什么是 SMPP 网关?

OmniMessage SMPP 网关是 OmniMessage 电信平台的多个前端协议之一。它通过使用行业标准的 SMPP(短消息对等协议)协议,将您的基础设施与移动网络连接,从而实现 SMS 消息传递。

重要提示: 此网关是无状态协议前端。它没有业务逻辑、消息处理或存储能力。所有智能来自 OmniMessage,通过 REST API 访问。与其他 OmniMessage 前端(Diameter、MAP、IMS)一样,它仅仅是将协议消息转换为 OmniMessage 的内部格式,反之亦然。

关键功能

  • 双向 SMPP 消息传递: 通过 SMPP 发送和接收 SMS 消息
  • 多个连接: 同时连接多个运营商
  • 高性能: 每秒处理数千条消息
  • 监控: 内置 Prometheus 指标和网页仪表板
  • 可靠性: 自动重连和消息重试
  • 无状态操作: 所有处理委托给 OmniMessage 后端

谁应该使用本指南?

本指南适用于负责以下工作的运营团队:

  • 安装和配置���关
  • 监控消息流量
  • 管理 SMPP 连接
  • 故障排除

快速开始

首次设置

  1. 访问网页仪表板: https://your-server:8087
  2. 检查系统状态: 导航至 SMPP → 实时状态
  3. 查看配置: 请参阅 CONFIGURATION.md
  4. 设置监控: 请参阅 MONITORING.md

日常操作

常见操作任务:

任务操作
检查连接状态网页 UI → SMPP → 实时状态
查看消息流量网页 UI → 队列
监控系统健康网页 UI → 日志或 Prometheus 指标
添加/修改连接网页 UI → SMPP → 客户端/服务器对等体

请参阅 OPERATIONS.md 获取详细程序。

系统架构

SMPP 网关是一个无状态协议转换器,作为 OmniMessage 平台的一部分运行:

关键概念:

  • SMPP 网关: 仅为协议转换器 - 无消息处理、存储或业务逻辑
  • OmniMessage: 核心平台处理所有消息逻辑、路由和存储
  • API 通信: 网关从 OmniMessage 检索要发送的消息,并报告交付状态

OmniMessage 集成

OmniMessage SMPP 网关是 OmniMessage 消息平台的 协议前端。它是与移动网络使用不同协议接口的多个相同前端类型之一:

前端协议目的
SMPP 网关SMPP (SMS)通过 SMPP 协议进行 SMS 消息传递
Diameter 网关Diameter基于 IMS 的消息传递
MAP 网关MAP移动网络信令
IMS 网关IMSIP 多媒体子系统

所有前端共享相同的架构:它们是无状态的协议转换器,将所有智能委托给 OmniMessage Core

工作原理

入站消息流(外部系统 → 运营商):

出站消息流(运营商 → SMPP 网关):

网关的功能

  • 接收来自运营商和外部客户端的 SMPP PDU
  • 解析和验证 SMPP 协议消息
  • 将 SMPP 格式转换为 OmniMessage 内部格式
  • 使用消息数据调用 OmniMessage REST API
  • 通过 API 轮询从 OmniMessage 接收消息
  • 将 OmniMessage 格式转���回 SMPP PDU
  • 将交付回执报告回 OmniMessage

网关不执行的功能

  • ❌ 不存储或持久化消息
  • ❌ 不做路由决策(由 OmniMessage 决定)
  • ❌ 不进行速率限制(由 OmniMessage 强制执行)
  • ❌ 不进行号码验证(由 OmniMessage 验证)
  • ❌ 不进行状态跟踪(由 OmniMessage 维护状态)
  • ❌ 不处理业务逻辑(由 OmniMessage 处理所有逻辑)

OmniMessage REST API

网关通过 REST API 与 OmniMessage Core 通信:

配置:

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

关键 API 操作:

  • GET /api/message_queue?destination_smsc=<bind_name> - 检索待处理消息
  • PUT /api/messages/<id>/delivery_status - 报告交付回执
  • GET /api/system/health - 健康检查

消息格式: 队列中的消息包含所有必要的交付信息:

  • 目标号码
  • 消息正文
  • 源号码
  • 优先级
  • 有效期
  • 目标 SMSC(运营商绑定名称)

网关仅检索这些信息,将其格式化为 SMPP,发送给运营商,并报告状态。

文档结构

本文档组织成以下指南:

访问点

网页仪表板

  • URL: https://your-server:8087
  • 功能:
    • 查看 SMPP 连接状态
    • 监控消息队列
    • 查看系统日志
    • 配置 SMPP 对等体
    • 访问文档

Prometheus 指标

  • URL: http://your-server:4000/metrics
  • 格式: Prometheus 文本格式
  • 用途: 与 Grafana/Prometheus 集成

API 端点

  • URL:API_BASE_URL 中配置
  • 目的: 消息队列后端集成

快速参考

常见任务

任务命令/位置
启动网关systemctl start omnimessage-smpp
停止网关systemctl stop omnimessage-smpp
重启网关systemctl restart omnimessage-smpp
查看日志journalctl -u omnimessage-smpp -f
检查状态网页 UI → 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服务定义

安全注意事项

  • 网页 UI: 使用 HTTPS 和您的 SSL 证书
  • API 通信: 可以验证 SSL 或使用自签名证书
  • SMPP: 明文协议 - 使用网络安全
  • 凭据: 存储在配置文件中 - 保护访问

后续步骤

  1. 查看 CONFIGURATION.md 以获取所有配置选项
  2. 设置 MONITORING.md 与 Prometheus
  3. 熟悉 OPERATIONS.md 以了解日常任务
  4. 收藏 TROUBLESHOOTING.md 以便快速参考
  5. 查看 GLOSSARY.md 以了解术语

版权 © 2025 Omnitouch Network Services
许可给: Omnitouch