跳到主要内容

Web UI 指南

← 返回主文档

本指南提供了使用 OmniSS7 Web UI(Phoenix LiveView 界面)的全面文档。

目录​

  1. 概述
  2. 访问 Web UI
  3. 路由管理页面
  4. 活跃订阅者页面
  5. 常见操作
  6. 自动刷新行为

概述​

OmniSS7 Web UI 是一个 Phoenix LiveView 应用程序,提供实时监控和管理功能。可用页面取决于哪个操作模式处于活动状态(STP、HLR 或 SMSc)。

Web UI 架构​

服务器配置​

参数值
协议HTTPS (force_ssl 启用)
端口8087(在 config :control_panel, ControlPanelWeb.Endpoint 下配置 → https: [port: 8087])
默认 IP0.0.0.0(监听所有接口)
证书priv/cert/omnitouch.crt
私钥priv/cert/omnitouch.pem
适配器Bandit (Phoenix)

访问 URL: https://[server-ip]:8087


访问 Web UI​

先决条件​

  1. SSL 证书: 确保 priv/cert/ 中存在有效的 SSL 证书:

    • omnitouch.crt - 证书文件
    • omnitouch.pem - 私钥文件
  2. 应用程序运行: 使用 iex -S mix 启动应用程序

  3. 防火墙: 确保端口 8087 对 HTTPS 流量开放

按模式可用的页面​

此处显示的页面标签与 config/config.exs 中注册的标签完全相同(use_builtin_pages / use_additional_pages)。模式列指示页面通常相关的操作模式(STP/HLR/SMSc);运行时配置根据部署过滤页面列表。

页面 (路由)标签STP 模式HLR 模式SMSc 模式描述
/application资源✅✅✅系统资源和监控
/configuration配置✅✅✅配置查看器
/license许可证✅✅✅许可证��态
/eventsSS7 事件✅✅✅事件日志和 SCCP 消息捕获
/logs系统日志✅✅✅实时应用程序日志查看器
/clientSS7 客户端✅✅✅手动 MAP 操作测试
/m3ua对等体✅✅✅M3UA 对等体 / ASP 连接状态
/sctpSCTP 连接✅✅✅实时 SCTP 关联状态
/routing路由✅❌✅M3UA 路由表管理
/routing_test路由测试✅❌✅路由测试和验证
/hlr_linksHLR 链接❌✅❌HLR API 状态和订阅者管理
/subscribers活跃订阅者❌✅❌实时订阅者位置跟踪 (HLR)
/smsc_linksSMSc 链接❌❌✅SMSc API 状态和队列管理
/smsc_subscribersSMSc 订阅者❌❌✅实时订阅者跟踪 (SMSc)
/camel_sessionsCAMEL 会话✅✅✅实时 CAMEL/CAP 对话监控
/camel_requestCAMEL 请求构建器✅✅✅交互式 CAP 请求构建器
/msisdn_imsi_testMSISDN/IMSI 测试✅✅✅MSISDN ↔ IMSI 查找 / 转换测试

M3UA 页面在导航中标记为 "对等体"(路由 /m3ua)。


路由管理​

页面: /routing
模式: STP, SMSc
自动刷新: 每 5 秒

路由管理页面提供了一个选项卡界面,用于管理 M3UA 路由表。

页面布局​

对等体选项卡​

管理 M3UA 对等体连接(其他 STP、HLR、MSC、SMSC)。

对等体表列​

列描述示例
ID唯一对等体标识符1
名称可读的对等体名称"STP_West"
角色连接角色client, server, stp
点码对等体的 SS7 点码100
远程远程 IP:端口10.0.0.10:2905
状态连接状态active, aspup, down
操作编辑/删除按钮-

添加对等体​

  1. 点击 对等体选项卡
  2. 填写 表单字段:
    • 对等体 ID: 如果留空则自动生成
    • 对等体名称: 描述性名称(必填)
    • 角色: 选择 client、server 或 stp
    • 点码: SS7 点码(必填)
    • 本地 IP: 您系统的 IP 地址
    • 本地端口: 0 表示动态端口分配
    • 远程 IP: 对等体的 IP 地址
    • 远程端口: 对等体的端口(通常为 2905)
    • 路由上下文: M3UA 路由上下文 ID
    • 网络指示符: international 或 national
  3. 点击 "添加对等体"

持久性: 对等体立即保存到 Mnesia,并在重启后保留。

编辑对等体​

  1. 点击 对等体行上的 "编辑" 按钮
  2. 根据需要修改 表单字段
  3. 点击 "更新对等体"

注意: 如果您更改对等体 ID,旧的对等体将被删除并创建一个新的。

删除对等体​

  1. 点击 对等体行上的 "删除" 按钮
  2. 确认 删除(所有使用此对等体的路由也将被删除)

对等体状态指示器​

状态颜色描述
active🟢 绿色对等体已连接并正在路由消息
aspup🟡 黄色ASP 已启动但尚未激活
down🔴 红色对等体已断开连接

点码路由选项卡​

根据目标点码配置路由规则。

路由表列​

列描述示例
目标 PC目标点码(zone.area.id 格式���1.2.3 (100)
掩码用于 PC 匹配的子网掩码/14 (精确),/8 (范围)
对等体 ID此路由的目标对等体1
对等体名称目标对等体的名称"STP_West"
优先级路由优先级(1 = 最高)1
网络网络指示符international
操作编辑/删除按钮-

添加点码路由​

  1. 点击 "点码路由" 选项卡
  2. 填写 表单字段:
    • 目标点码: 输入为 zone.area.id(例如,1.2.3)或整数(0-16383)
    • 掩码: 选择掩码 /14 进行精确匹配,较小值用于范围
    • 对等体 ID: 从下拉列表中选择目标对等体
    • 优先级: 输入优先级(1 = 最高,默认)
    • 网络指示符: 选择 international 或 national
  3. 点击 "添加路由"

点码格式: 您可以以两种格式输入点码:

  • 3-8-3 格式: zone.area.id(例如,1.2.3)
  • 整数格式: 0-16383(例如,1100)

系统会自动在格式之间转换。

理解掩码​

点码是 14 位值(0-16383)。掩码指定必须匹配的最高有效位数:

掩码匹配的 PC用例
/141 (精确匹配)���由到特定目标
/132 PCs小范围
/864 PCs中等范围
/0所有 16,384 PCs默认/回退路由

示例:

  • PC 1000 /14 → 仅匹配 PC 1000
  • PC 1000 /8 → 匹配 PC 1000-1063(64 个连续 PCs)
  • PC 0 /0 → 匹配所有点码(默认路由)

点码掩码参考卡​

网页包括一个交互式参考,显示所有掩码值及其范围。


全局标题路由选项卡​

根据 SCCP 全局标题地址配置路由规则。

要求: 必须在配置中启用全局标题路由:

config :omniss7,
enable_gt_routing: true

路由表列​

列描述示例
GT 前缀被叫方 GT 前缀(空 = 回退)"1234",""
源 SSN匹配被叫方 SSN(可选)6 (HLR),any
对等体 ID目标对等体1
对等体对等体名称"HLR_West (1)"
目标 SSN转发时重写 SSN(可选)6,preserve
优先级路由优先级1
描述路由描述"US numbers"
操作编辑/删除按钮-

添加全局标题路由​

  1. 点击 "全局标题路由" 选项卡
  2. 填写 表单字段:
    • GT 前缀: 留空以用于回退路由,或输入数字(例如,"1234")
    • 源 SSN: 可选 - 按被叫方 SSN 过滤
    • 对等体 ID: 选择目标对等体
    • 目标 SSN: 可选 - 转发时重写 SSN
    • 优先级: 路由优先级(1 = 最高)
    • 描述: 可读描述
  3. 点击 "添加路由"

回退路由: 如果 GT 前缀为空,则该路由充当不匹配任何其他路由的 GT 的捕获。

常见 SSN 值​

页面包括一个参考卡,显示常见的 SSN 值:

SSN网络元素
6HLR (家庭位置寄存器)
7VLR (访客位置寄存器)
8MSC (移动交换中心)
9EIR (设备身份寄存器)
10AUC (认证中心)
142RANAP
145gsmSCF (服务控制功能)
146SGSN

SSN 重写​

  • 源 SSN: 匹配传入消息中的被叫方 SSN
  • 目标 SSN: 如果设置,在转发时重写被叫方 SSN
    • 空 = 保留原始 SSN
    • 值 = 替换为此 SSN

用例: 将 SSN=6 (HLR) 的消息路由到对等体,并在出站时重写为 SSN=7 (VLR)。


路由表持久性​

所有路由都存储在 Mnesia 中,并在应用程序重启后保留。

路由如何持久化​

  1. Web UI 更改: 所有添加/编辑/删除操作立即保存到 Mnesia
  2. 应用程序重启: 路由在启动时从 Mnesia 加载
  3. Runtime.exs 合并: 来自 config/runtime.exs 的静态路由与 Mnesia 路由合并(无重复)

路由优先级​

当多个路由匹配一个目标时:

  1. 更具体的优先: 更高的掩码值(更具体)优先
  2. 优先级字段: 较低的优先级数字先路由(1 = 最高优先级)
  3. 对等体状态: 仅使用连接状态为 active 的对等体的路由

活跃订阅者​

页面: /subscribers
模式: 仅 HLR
自动刷新: 每 2 秒

显示发送 UpdateLocation 请求的订阅者的实时跟踪。

页面功能​

订阅者表列​

列描述示例
IMSI订阅者 IMSI"50557123456789"
VLR 编号当前 VLR GT 地址"555123155"
MSC 编号当前 MSC GT 地址"555123155"
更新时间最后 UpdateLocation 时间戳"2025-10-25 14:23:45 UTC"
持续时间自注册以来的时间"2h 15m 34s"

统计摘要​

当存在订阅者时,摘要卡显示:

  • 总活跃: 注册的订阅者总数
  • 独特 VLRs: 不同 VLR 地址的数量
  • 独特 MSCs: 不同 MSC 地址的数量

清除订阅者​

清除所有按钮: 从跟踪器中移除所有活跃订阅者。

确认: 清除之前需要确认(无法撤销)。

用例: 在网络维护或测试后清除过时的订阅者记录。

自动刷新​

页面每 2 秒 自动刷新,以显示实时的订阅者更新。


SMSc 订阅者​

页面: /smsc_subscribers
模式: 仅 SMSc
自动刷新: 每 2 秒

显示基于从 HLR 接收到的 alertServiceCenter 消息的订阅者的实时跟踪、消息传递状态和失败跟踪。

页面功能​

订阅者表列​

列描述示例
MSISDN订阅者的电话号码"15551234567"
IMSI订阅者 IMSI"001010123456789"
HLR GT发送 alertServiceCenter 的 HLR GT"15551111111"
发送的消息发送的 MT-FSM 消息计数5
接收的消息从订阅者接收的 MO-FSM 消息计数2
状态活跃 或 失败(颜色编码)● 活跃
最后更新最后更新时间戳"2025-10-30 14:23:45 UTC"
持续时间自最后更新以来的时间"15m 34s"

状态指示器​

  • ● 活跃 (绿色): 订阅者可达,最后一次成功接收 alertServiceCenter
  • ○ 失败 (红色): 最后一次交付尝试失败(SRI-for-SM 或缺失订阅者错误)

统计摘要​

当存在订阅者时,摘要卡显示:

  • 总跟踪: 跟踪的订阅者总数
  • 活跃: 处于活跃状态的订阅者数量
  • 失败: 处于失败状态的订阅者数量
  • 独特 HLRs: 发送警报的不同 HLR 数量

管理订阅者​

移除按钮: 从跟踪中移除单个订阅者。

清除所有按钮: 移除所有跟踪的订阅者。

确认: 清除所有需要确认才能清除(无法撤销)。

用例:

  • 在网络问题后移除过时的条���
  • 在开发后清除测试数据
  • 监控哪些 HLR 正在发送警报

消息计数器​

跟踪器会自动增加计数器:

  • 发送的消息: 当 SRI-for-SM 成功并发送 MT-FSM 时增加
  • 接收的消息: 当从订阅者接收到 MO-FSM 时增加

自动刷新​

页面每 2 秒 自动刷新,以显示实时的订阅者和状态更新。


常见操作​

搜索和过滤​

目前,Web UI 不包括内置的搜索/过滤功能。要查找特定路由:

  1. 使用浏览器的查找功能 (Ctrl+F / Cmd+F)
  2. 搜索对等体名称、点码或 GT 前缀

批量操作​

要执行批量路由更改:

  1. 选项 1: 使用 REST API 进行编程访问
  2. 选项 2: 编辑 config/runtime.exs 并重启应用程序
  3. 选项 3: 使用 Web UI 进行单个路由更改

导出/导入​

注意: Web UI 当前不支持导出或导入路由表。路由是:

  • 存储在 Mnesia 数据库文件中
  • 在 config/runtime.exs 中配置

要备份路由:

  1. Mnesia: 备份 Mnesia.{node_name}/ 目录
  2. 配置: 版本控制 config/runtime.exs

自动刷新行为​

不同页面具有不同的刷新间隔:

页面刷新间隔原因
路由管理5 秒路由更改不频繁
活跃订阅者2 秒订阅者状态频繁变化
M3UA 状态按页面变化连接状态监控

WebSocket 连接: 所有页面使用 Phoenix LiveView WebSocket 连接进行实时更新。

网络中断: 如果 WebSocket 连接丢失,页面将尝试自动重新连接。


故障排除​

页面未加载​

  1. 检查 HTTPS 证书: 确保 priv/cert/omnitouch.crt 和 priv/cert/omnitouch.pem 存在
  2. 验证端口 8087: 检查防火墙规则允许端口 8087 的 HTTPS 流量
  3. 应用程序运行: 确认应用程序正在运行,使用 iex -S mix
  4. 浏览器控制台: 检查 SSL 证书错误(自签名证书警告)

路由未持久化​

  1. 检查 Mnesia 存储: 验证配置中的 mnesia_storage_type: :disc_copies
  2. Mnesia 目录: 确保 Mnesia 目录可写
  3. 检查日志: 查看应用程序日志中的 Mnesia 错误

自动刷新不起作用​

  1. WebSocket 连接: 检查浏览器控制台中的 WebSocket 错误
  2. 网络: 验证网络连接稳定
  3. 页面重新加载: 尝试刷新页面 (F5)

相关文档​


总结​

OmniSS7 Web UI 提供直观的实时路由表管理和订阅者跟踪:

✅ 实时更新 - 自动刷新保持数据最新
✅ 持久存储 - Mnesia 确保路由在重启后保留
✅ 基于角色的 UI - 页面根据操作模式 (STP/HLR/SMSc) 进行调整
✅ 交互式管理 - 添加、编辑、删除路由无需重启
✅ 状态监控 - 实时连接和对等体状态

有关高级操作或自动化,请参见 API 指南。