OmniSS7 - 用户指南
OmniSS7 由 Omnitouch 网络服务提供,是一个全面的通用 SS7 信令栈,提供灵活的网络元素功能。

文档概述
本文档按网络元素角色组织。选择与您的部署相匹配的指南:
📚 配置指南
-
STP 指南 - 信号传输点配置
- 在网络对等体之间路由 SS7 流量
- 点码和全局标题路由
- 负载均衡和拓扑隐藏
- 如果您在网络之间路由 SS7 流量,请使用此指南
-
MAP 客户端指南 - MAP 客户端配置
- 作为 M3UA 客户端连接以发送 MAP 请求
- HLR 查询、身份验证、路由信息
- 通用 MAP 协议支持
- 如果您向网络元素发送 MAP 请求,请使用此指南
-
短信中心指南 - 短信中心 (SMSc) 配置
- 短信消息路由和投递
- 基于数据库的消息排队
- 自动刷新和投递报告
- 如果您在运营短信中心,请使用此指南
-
HLR 指南 - 家庭位置寄存器配置
- 订阅者数据库管理
- 身份验证向量生成
- 位置更新和路由信息
- 如果您在运营 HLR/HSS,请使用此指南
-
CAMEL 网关指南 - CAMEL 网关配置
- 智能网络服务 (CAP/CAMEL)
- 实时呼叫控制和计费
- CGrateS 集成用于计费
- 交互式请求构建器和会话监控
- 如果您提供 IN 服务或实时计费,请使用此指南
-
USSD 网关指南 - USSD 网关配置
- 将 SS7/MAP USSD 桥接到 HTTP/JSON 回调
- 多轮交互式 USSD 菜单
- 短代码路由到不同的回调 URL
- 通过 REST API 发起的网络源 USSD 推送
- 如果您正在构建 USSD 应用程序(余额查询、充值等),请使用此指南
🔧 常见功能
- 常见功能指南 - 共享组件
- Web UI 概述和配置
- API 文档
- 监控和指标 (Prometheus)
- 最佳实践和故障排除
📖 参考文档
- 附录 - 技术参考
- SS7 协议规范
- MAP 操作码
- TCAP 事务流程
- 字符编码和格式
快速开始
1. 系统概述
OmniSS7 可以根据您的网络需求以不同模式运行:
3. 配置
OmniSS7 从 config/config.exs 中的一组模式标志中选择其角色。这些标志可以组合,因此单个实例可以同时充当多个角色(例如,MAP 客户端加 SMSc)。
注意:本存储库中的
config/runtime.exs是一个简短的测试存根。生产服务器有自己的runtime.exs单独部署。编辑config/config.exs(以及它导入的特定环境文件)以更改默认配置。
选择角色:
- 在
config/config.exs中设置相关的模式标志 - 配置 M3UA 连接(
map_client_m3ua或cap_client_m3ua)和任何后端 API URL - 重启应用程序
→ 请参阅下面的特定模式指南以获取完整的配置说明
STP 模式 — 在对等体之间路由 SCCP/M3UA 流量:
config :omniss7,
sctp_handler: %{enabled: true, local_ip: {0, 0, 0, 0}, local_port: 2905, point_code: 100},
enable_gt_routing: true,
m3ua_peers: [...],
m3ua_routes: [...],
m3ua_gt_routes: [...]
HLR 模式:
config :omniss7,
hlr_mode_enabled: true,
map_client_enabled: true,
hlr_api_base_url: "https://hlr-backend:8443",
map_client_m3ua: %{...}
SMSc 模式:
config :omniss7,
map_client_enabled: true,
smsc_mode_enabled: true,
smsc_api_base_url: "https://smsc-backend:8443",
auto_flush_enabled: true,
map_client_m3ua: %{...}
CAMEL 网关模式:
config :omniss7,
cap_client_enabled: true,
camelgw_mode_enabled: true,
cgrates_enabled: true,
cgrates_url: "http://localhost:2080/jsonrpc",
cgrates_tenant: "cgrates.org",
cap_client_m3ua: %{...}
请参阅 配置参考 以获取每个参数的详细信息,包括 USSD 网关(ussd_gateway_enabled)。
4. 访问 Web UI
Web UI 通过 HTTPS 在端口 8087 提供服务 — 例如 https://localhost:8087/(或您配置的主机)。该端点强制使用 TLS,因此普通的 http:// 会被重定向。
系统架构
功能矩阵
| 功能 | STP 模式 | MAP 客户端 | SMSc 模式 | HLR 模式 | CAMEL 网关 |
|---|---|---|---|---|---|
| 点码路由 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 全局标题路由 | ✅ | ❌ | ❌ | ❌ | ❌ |
| SSN 重写 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 多对等体支持 | ✅ | ✅ | ✅ | ✅ | ✅ |
| MAP 请求(发送) | ❌ | ✅ | ✅ | ✅ | ❌ |
| MAP 响应(接收) | ❌ | ✅ | ✅ | ✅ | ❌ |
| 短信队列管理 | ❌ | ❌ | ✅ | ❌ | ❌ |
| 自动刷新短信 | ❌ | ❌ | ✅ | ❌ | ❌ |
| 订阅者数据库 | ❌ | ❌ | ❌ | ✅ | ❌ |
| 身份验证向量 | ❌ | ❌ | ❌ | ✅ | ❌ |
| 位置更新 | ❌ | ❌ | ❌ | ✅ | ❌ |
| CAP/CAMEL 支持 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 实时计费 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 呼叫控制(IN 服务) | ❌ | ❌ | ❌ | ❌ | ✅ |
| Web UI | ✅ | ✅ | ✅ | ✅ | ✅ |
| REST API | ✅ | ✅ | ✅ | ✅ | ✅ |
| Prometheus 指标 | ✅ | ✅ | ✅ | ✅ | ✅ |
常见操作
OmniSS7 监听多个端口,每个端口提供不同的服务:
| 端口 | 协议 | 提供者 | 目的 |
|---|---|---|---|
8087 | HTTPS | ControlPanel (Phoenix) | Web UI 仪表板 (强制 TLS) |
8445 | HTTPS | api_ex | JSON 状态 API (/api/status, /api/m3ua-status, /api/routing, …) |
8080 | HTTP | APIhandler (Plug.Cowboy) | MAP 操作 API (/api/*)、Swagger UI (/swagger)、OpenAPI 规范 (/swagger.json)、Prometheus 指标 (/metrics) |
2905 | SCTP | M3UA/M2PA | SS7 信令传输 |
Web UI 访问
- Web UI:
https://localhost:8087/(或配置的主机) - Swagger UI:
http://localhost:8080/swagger - OpenAPI 规范:
http://localhost:8080/swagger.json - 指标:
http://localhost:8080/metrics
监控
# 查看 Prometheus 指标
curl http://localhost:8080/metrics
# 检查 M3UA 对等体状态 (TLS,自签名证��)
curl -k https://localhost:8445/api/m3ua-status
# 服务状态
curl -k https://localhost:8445/api/status
日志
日志以结构化 JSON 格式(每行一个对象)发出,以便通过 Loki/Alloy 进行摄取,使用 OmniLogger.JsonFormatter。在 config/config.exs 中设置日志级别:
config :logger,
level: :debug # 选项: :debug, :info, :warning, :error
关键能力
- 完整的 MAP 协议支持 - MAP 第 2/3 阶段操作
- CAP/CAMEL 协议支持 - CAP v1/v2/v3/v4 用于智能网络服务
- M3UA/SCTP 信令 - 基于 IP 的 SS7 传输
- 实时计费 - CGrateS 集成用于预付费/后付费计费
- 短信投递 - 基于 HTTP/JSON 的消息队列,支持自动刷新
- 交互式请求构建器 - 用于 CAMEL/CAP 测试的 Web UI
- 会话监控 - 实时 CAMEL 呼叫会话跟踪
- 交互式 API 文档 - 用于测试的 Swagger UI
- Prometheus 指标 - 完整的可观察性
- 多角色配置 - STP、MAP 客户端、SMSc、HLR、CAMEL 网关、USSD 网关
协议栈概述
用例示例
网络网关 (STP)
在不同移动网络之间路由 SS7 流量
- 连接运营商网络
- 国际 SS7 网关
- 在 HLR 之间进行负载均衡
- 全局标题转换
- SCCP NAT(智能全局标题重用)
- → STP 指南
短信中心 (SMSc)
将短信消息投递给移动用户
- MT-SMS 投递
- MO-SMS 发起
- 短信家庭路由
- IMSI 隐藏
- 短信防火墙
- 消息队列管理
- 投递报告
- 集成到 OmniMessage 以处理所有 MAP 短信
- → 短信中心指南
MAP 客户端
通过简单的 RESTful API 与任何网络元素交互
- PRN / SRI / ATI / 等等
- 使用 RESTful API 构建您自己的 SS7/MAP 应用程序
- USSD 网关
- 身份验证向量请求
- IMSI/MSISDN 查找
- 路由信息查询
- → MAP 客户端指南
订阅者数据库 (HLR)
管理订阅者数据和身份验证
- 位置更新
- 身份验证生成
- 路由信息提供
- 完全集成到 OmniHSS
- → HLR 指南
智能网络平台 (CAMEL 网关)
为电信运营商提供实时呼叫控制和计费
- 预付费/后付费呼叫计费
- 呼叫控制(连接、释放、路由)
- 会话管理和 CDR 生成
- 测试的交互式请求构建器
- → CAMEL 网关指南
支持和资源
文档
核心配置指南:
- STP 配置指南 - 信号传输点路由
- MAP 客户端配置指南 - MAP 协议客户端
- 短信中心配置指南 - 短信路由和投递
- HLR 配置指南 - 订阅者数据库
- CAMEL 网关配置指南 - 智能网络与计费
集成与参考:
- CAMEL 请求构建器指南 - 交互式测试工具
- 常见功能指南 - 共享组件与 Web UI
- 技术参考 - 协议规范