跳到主要内容

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: 如果留空则自动生成
    • 对等体名称: 描述性名称(必填)
    • 角色: 选择 clientserverstp
    • 点码: SS7 点码(必填)
    • 本地 IP: 您系统的 IP 地址
    • 本地端口: 0 表示动态端口分配
    • 远程 IP: 对等体的 IP 地址
    • 远程端口: 对等体的端口(通常为 2905)
    • 路由上下文: M3UA 路由上下文 ID
    • 网络指示符: internationalnational
  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 = 最高,默认)
    • 网络指示符: 选择 internationalnational
  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 个连续的 PC)
  • 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(可选)6preserve
优先级路由优先级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"

统计摘要

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

  • 总活动: 注册的订阅者总数
  • 唯一 VLR: 不同 VLR 地址的数量
  • 唯一 MSC: 不同 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
状态ActiveFailed(颜色编码)● Active
最后更新时间最后更新时间戳"2025-10-30 14:23:45 UTC"
持续时间自最后更新以来的时间"15m 34s"

状态指示器

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

统计摘要

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

  • 总跟踪: 跟踪的订阅者总数
  • 活动: 处于活动状态的订阅者数量
  • 失败: 处于失败状态的订阅者数量
  • 唯一 HLR: 发送警报的不同 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.crtpriv/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 指南