跳到主要内容

操作指南

📖 返回主文档

本文档涵盖了控制面板中可用的操作监控和管理功能。

相关文档​

核心文档​

监控与测试工具​

呼叫处理与服务​

集成接口​


操作​

本节涵盖了在OmniTAS控制面板中可用的操作监控和管理功能。

目录​

用户视图​

用户视图提供了对存储在Sofia SIP注册数据库中的IMS用户注册的实时监控。

访问: 在控制面板中导航到 /subscribers

功能​

  • 注册列表: 查看所有活动用户注册
  • 注册详情: 点击任何注册以查看完整详情,包括:
    • SIP用户和领域
    • 联系URI
    • 注册状态和到期
    • 网络信息(IP、端口、主机名)
    • 认证详情
    • 从P-Access-Network-Info解析的网络位置信息(MCC/MNC、无线类型、小区ID),如果可用

用户视图

注册详情

数据源​

���册数据直接从Sofia注册数据库查询,提供对用户附加状态的实时可见性。

用例​

  • 监控活动用户注册
  • 验证用户附加状态
  • 排查注册问题
  • 审计用户连接性

呼叫详细记录(CDR)​

CDR视图提供对TAS存储的呼叫详细记录的访问,用于计费、故障排除和分析目的。

访问: 在控制面板中导航到 /cdr

CDR视图

功能​

  • 分页视图: 浏览呼叫记录(每页100条,带有上一页/下一页控制)
  • 高级搜索: 强大的搜索功能,支持精确匹配、反向/排除和多个术语
  • 列选择: 自定义显示哪些字段
    • 点击 "列" 按钮打开列选择器模态
    • 选择/取消选择单个列
    • 全选 / 取消全选 快速操作
    • 选择在会话之间保持(保存到浏览器localStorage)
    • 显示 "X / Y 列" 计数器
  • 可排序列: 点击任何列标题进行排序(升序/降序)
    • 视觉指示器(▲升序,▼降序)
    • 排序的列以蓝色高亮显示
    • 排序更改时重置为第1页
  • 多个过滤选项:
    • 文本搜索: 在所有字段中使用高级运算符进行搜索
    • 日期范围过滤: 按开始/结束日期和时间过滤(日期时间选择器)
    • 字段特定过滤: 按确切字段值过滤(挂断原因、主叫ID、目的地、上下文)
    • 活动过滤显示: 视觉芯片显示当前活动的过滤器
    • 清除所有: 一键删除所有活动过滤器
  • 详细信息: 点击任何CDR行以展开并查看所有字段:
    • 呼叫方(主叫ID名称/号码,目的地号码)
    • 时间戳(开始、应答、结束)
    • 持续时间和计费秒数
    • 挂断原因(颜色编码:绿色=正常,黄色=取消,红色=错误)
    • 呼叫UUID(A-leg和B-leg)
    • 上下文和账户代码
    • 所有可用数据库字段按字母顺序排列
  • 颜色编码的挂断原因:
    • 🟢 绿色: NORMAL_CLEARING
    • 🟡 黄色: 取消的呼叫
    • 🔴 红色: 错误条件
  • 总计数: 实时显示总匹配记录
  • 响应式布局: 在较小屏幕上适当换行过滤器

如何使用​

  1. 基本查看:

    • 页面加载最新的100条CDR记录(按 start_stamp 降序排序)
    • 右上角显示总记录计数
    • 使用 上一页 / 下一页 按钮导航页面
    • 点击任何行以展开并查看所有字段
  2. 自定义列:

    • 点击右上角的 "列" 按钮
    • 模态显示所有可用字段
    • 勾选/取消勾选字段以显示/隐藏列
    • 使用 "全选" 或 "取消全选" 进行快速选择
    • 设置会自动保存到浏览器
    • 关闭模态以应用更改
  3. 排序数据:

    • 点击任何列标题按该字段排序
    • 第一次点击:降序(▼)
    • 第二次点击:升序(▲)
    • 第三次点击:返回降序
    • 排序的列以蓝色高亮显示
  4. 搜索记录:

    • 在 "搜索" 框中输入搜索查询
    • 支持高级运算符(见下文搜索语法)
    • 在多个字段中搜索: caller_id_number、destination_number、uuid、caller_id_name、hangup_cause
    • 点击 "应用" 执行搜索
  5. 按日期范围过滤:

    • 使用 "开始日期" 和 "结束日期" 日期时间选择器
    • 日期过滤需要两个日期
    • 支持日期和时间选择
    • 点击 "应用" 进行过滤
  6. 按特定字段过滤:

    • 从 "选择过滤字段" 下拉菜单中选择字段:
      • 挂断原因
      • 主叫ID
      • 目的地
      • 上下文
    • 在 "输入过滤值" 中输入确切值
    • 点击 "应用" 进行过滤
  7. 组合过滤器:

    • 所有过滤器可以同时使用:
      • 文本搜索 + 日期范围 + 字段过滤器共同工作
    • 活动过滤器显示为过滤表单下方的芯片
    • ���击 "清除所有" 一次性删除所有过滤器
  8. 查看详细信息:

    • 点击任何CDR行以展开
    • 以网格布局显示所有数据库字段
    • 字段按字母顺序显示
    • 挂��原因颜色编码以便快速识别
    • 再次点击行以折叠

高级搜索语法​

搜索框支持强大的查询语法,以便在多个字段中同时进行精确记录过滤。

搜索工作原理:

搜索引擎检查每个CDR记录中的 所有可搜索字段。当记录在 任何 这些字段中匹配您的搜索条件时,该记录将包含在结果中:

  • caller_id_number
  • destination_number
  • uuid
  • caller_id_name
  • hangup_cause

搜索运算符(可以组合):

  1. 包含搜索(默认):

    • 语法: term(无引号)
    • 匹配: 记录的 任何字段包含 该术语
    • SQL: 使用 LIKE '%term%' 在所有可搜索字段中连接 OR
    • 示例: 61480 匹配 "61480123456"、"55561480999" 等。
  2. 精确匹配:

    • 语法: "term"(带双引号)
    • 匹配: 记录的 任何字段完全等于 该术语
    • SQL: 使用 = 'term' 在所有可搜索字段中连接 OR
    • 示例: "911" 仅匹配完全 "911",而不是 "9115" 或 "1911"
  3. 反向/排除:

    • 语法: !term(感叹号前缀,无引号)
    • 匹配: 记录的 任何字段不包含 该术语
    • SQL: 使用 NOT LIKE '%term%' 在所有可搜索字段中连接 AND
    • 示例: !NORMAL ��除任何字段中包含 "NORMAL" 的记录
  4. 精确反向/排除:

    • 语法: !"term"(感叹号 + 双引号)
    • 匹配: 记录的 任何字段完全不等于 该术语
    • SQL: 使用 != 'term' 在所有可搜索字段中连接 AND
    • 示例: !"NORMAL_CLEARING" 排除任何字段完全等于 "NORMAL_CLEARING" 的记录
  5. 多个术语与AND:

    • 语法: term1 AND term2(不区分大小写的AND)
    • 匹配: 匹配 所有术语 的记录(每个术语可以匹配不同字段)
    • 每个术语使用其自己的运算符进行处理(引号、!等)
    • 术语在SQL中用 AND 组合
    • 示例: "911" AND "12345" 查找在一个字段中有 "911" 和在另一个字段中有 "12345" 的记录

搜索执行逻辑:

对于每个CDR记录:
对于正常搜索(无 !):
- 检查是否 **任何字段包含/等于** 该术语 → 如果为真则包含
- SQL: field1 LIKE '%term%' OR field2 LIKE '%term%' OR ...

对于反向搜索(!):
- 检查是否 **所有字段都不包含/等于** 该术语 → 如果为真则包含
- SQL: field1 NOT LIKE '%term%' AND field2 NOT LIKE '%term%' AND ...

对于AND搜索:
- 每个术语单独评估
- 所有术语条件必须为真 → 如果为真则��含
- SQL: (term1_conditions) AND (term2_conditions) AND ...

复杂搜索示例:

查询工作原理结果
61480在所有字段中进行包含搜索所有包含 "61480" 的记录(主叫、目的地、UUID等)
"911"在所有字段中进行精确匹配任何字段完全等于 "911" 的记录
!NORMAL_CLEARING反向包含搜索排除任何字段中包含 "NORMAL_CLEARING" 的记录(失败的呼叫)
!"NORMAL_CLEARING"精确反向排除任何字段完全等于 "NORMAL_CLEARING" 的记录
"911" AND "12345"精确 "911" 和精确 "12345"同时包含两个值的记录(例如,主叫="12345",目的地="911")
!NORMAL AND 61480反向包含 "NORMAL" 和包含 "61480"涉及 "61480" 的非正常呼叫
!"ANSWER" AND !NORMAL精确反向 "ANSWER" 和反向包含 "NORMAL"排除已接听的呼叫和任何包含 "NORMAL" 的记录
61480 AND !NORMAL_CLEARING包含 "61480" 和反向包含 "NORMAL_CLEARING"涉及 "61480" 的失败呼叫

实际用例:

  • 查找特定号码: 61480123456 - 包含搜索找到部分匹配
  • 查找精确紧急呼叫: "911" - 仅呼叫到完全 "911"
  • 所有失败的呼叫: !NORMAL_CLEARING - 排除成功的呼叫
  • 特定主叫的失败呼叫: "61480123456" AND !NORMAL - 组合精确主叫与反向
  • 排除测试号码: !test AND !demo - 多个反向搜索
  • 复杂调试: 61480 AND !"ANSWER" AND !CANCEL - 包含一个术语,排除精确和部分其他

数据源​

CDR数据直接从TAS CDR SQLite数据库查询。

架构可能因特定要求而在不同部署之间有所不同。

CDR导出选项​

重要: CDR记录可以以多种格式导出,以支持与计费系统、分析平台和报告工具的集成。

CDR数据库架构和导出格式是特定于部署的。在设置系统时,请向您的集成工程师请求您所需的特定CDR输出格式。常见的导出格式包括:

  • CSV(逗号分隔值)
  • JSON(用于API集成)
  • XML
  • 直接数据库访问
  • 自定义格式导出

您的集成工程师可以配置针对您的操作和计费要求量身定制的CDR导出机制。

用例​

  • 呼叫故障排除: 按号码或UUID搜索特定呼叫以调试问题
  • 计费对账: 按日期范围过滤以匹配计费周期
  • 质量分析: 按挂断原因过滤以识别问题模式
  • 紧急呼叫审计: 搜索 "911" 以验证紧急呼叫处理
  • 客户支持: 按主叫ID或目的地查找特定客户呼叫
  • 模式分析: 按持续时间或时间戳排序以识别异常
  • 合规与记录保存: 日期范围过滤用于法规报告
  • 失败呼叫分析: 使用 !NORMAL_CLEARING 查找所有失败的呼叫
  • 基于上下文的报告: 按上下文过滤以分析特定呼叫流

配置​

默认可见列​

您可以通过在 config/runtime.exs 中设置 cdrs_field_list 来配置在LiveView中 默认显示 的CDR字段:

config :tas,
cdrs_field_list: [
"caller_id_number",
"destination_number",
"start_stamp",
"duration",
"hangup_cause"
]

行为:

  • 如果未设置 cdrs_field_list:默认显示所有可用CDR字段
  • 如果设置了 cdrs_field_list:仅默认显示指定字段,但 所有其他字段仍可在列选择器中使用
  • 如果列表中的字段在CDR数据中不存在,系统会自动跳过
  • 字段名称可以指定为字符串或原子
  • 用户可以随时从列选择器中手动选择其他列

用例:

  • 设置一个干净的默认视图,仅显示基本字段
  • 减少新用户的信息过载
  • 在所有用户中标准化初始列布局
  • 默认隐藏高级字段,但仍可访问

示例配置:

# 默认仅显示基本呼叫信息
cdrs_field_list: [
"start_stamp",
"caller_id_number",
"destination_number",
"duration",
"billsec",
"hangup_cause"
]

注意: 此配置设置 默认可见 列。所有CDR字段仍可在 "列" 选择器中使用 - 用户可以手动显示/隐藏任何需要的字段。

故障排除​

未找到结果​
  1. 检查搜索词中的拼写错误
  2. 尝试去掉引号以进行更广泛的搜索
  3. 验证该术语是否存在于可搜索字段中
  4. 检查日期范围是否过于严格
结果过多​
  1. 添加更多AND术语以缩小范围
  2. 使用引号进行精确匹配
  3. 应用日期范围过滤
  4. 使用字段特定过滤
结果意外​
  1. 请记住,搜索适用于 所有可搜索字段
  2. 检查该术语是否出现在意外字段中(如UUID)
  3. 使用精确匹配以避免部分匹配
  4. 验证反向逻辑(AND与OR)

提示​

  • 列选择: 隐藏未使用的列以专注于相关数据并提高性能
  • 组合过滤器: 同时使用搜索 + 日期范围 + 字段过滤以进行精确查询
  • 日期范围性能: 缩小日期范围可更快返回结果,适用于大型数据库
  • 排序以进行分析: 按持续时间排序以查找长/短呼叫,或按时间戳查看呼叫模式
  • 活动过滤芯片: 使用视觉芯片验证当前活动的过滤器
  • 持久设置: 列选择在每个浏览器中保存,适用于不同的分析任务
  • 颜色编码: 快速扫描挂断原因 - 绿色表示良好,红色需要调查
  • 可展开的详细信息: 点击行以查看所有字段,而不干扰主视图
  • 搜索运算符: 掌握搜索语法以进行强大的过滤:
    • 使用引号进行精确匹配: "911"
    • 使用 ! 排除: !NORMAL_CLEARING
    • 与AND组合: "61480" AND !NORMAL
  • 分页: 请记住,过滤器在页面之间保持 - 使用分页查看大型结果集

活动呼叫监控​

活动呼叫视图显示有关系统中正在进行的呼叫的实时信息。

访问: 在控制面板中导航到 /calls

功能​

  • 实时状态: 活动呼叫会话的实时视图
  • 呼叫详情: 查看通道变量和呼叫状态信息
  • UUID跟踪: 监控A-leg和B-leg呼叫标识符

IMS会议服务器​

IMS会议服务器提供符合3GPP IMS标准(RFC 4579、RFC 4575、TS 24.147)的多方会议能力。

访问: 在控制面板中导航到 /conference

文档: 详细文档请参见 IMS会议服务器用户指南

功能​

  • 实时监控: 活动会议和参与者的实时视图
  • 会议统计仪表板:
    • 活动会议数量
    • 所有会议的总参与者
    • 视频会议数量
    • 锁定会议数量
    • 服务器配置详情(域、MNC/MCC、最大参与者)
  • 会议列表: 查看所有活动会议,包括:
    • 会议ID和SIP URI
    • 当前参与者数量
    • 会议创建者身份
  • 会议详情: 点击任何会议以展开并查看:
    • 完整的会议信息(状态、视频状态、锁定状态、录音状态)
    • 完整的参与者列表及其角色和状态
    • 参与者视频状态
  • 会议控制操作:
    • 锁定/解锁会议以控制访问
    • 启用/禁用会议视频
    • 实时状态更新与操作反馈
  • 自动刷新: 可配置的自动刷新(默认:5秒)以进行实时监控

OmniTAS控制台管理​

所有会议操作也可以通过OmniTAS控制台使用 ims_conference 命令进行:

ims_conference list                    # 列出所有活动会议
ims_conference info <conf_id> # 显示会议详情
ims_conference stats # 显示服务器统计信息
ims_conference lock <conf_id> # 锁定会议
ims_conference unlock <conf_id> # 解锁会议
ims_conference video <conf_id> on|off # 控制视频
ims_conference record <conf_id> start|stop # 控制录音
ims_conference add <conf_id> <sip_uri> # 添加参与者
ims_conference remove <conf_id> <uuid> # 移除参与者
ims_conference destroy <conf_id> # 终止会议

用例​

  • 操作监控: 实时可见活动会议和资源使用情况
  • 容量管理: 监控参与者数量和视频使用情况以管理带宽
  • 故障排除: 诊断会议访问问题、参与者连接问题
  • 会议控制: 锁定会议以保护隐私,管理视频以控制带宽
  • 合规性: 监控和记录会议以确保合规性

3GPP合规性​

会议服务器实现了关键的3GPP IMS会议规范:

  • TS 24.147:使用IM核心网络子系统的会议
  • RFC 4579:SIP呼叫控制 - 用户代理的会议
  • RFC 4575:SIP事件包用于会议状态
  • RFC 5239:集中会议的框架

网关状态​

监控连接到TAS的SIP网关/中继的状态和健康状况。

访问: 在控制面板中导航到 /gw

功能​

  • 注册状态: 查看网关注册状态
  • 呼叫统计: 跟踪进出呼叫和失败
  • Ping监控: SIP OPTIONS ping时间和可达性
  • 网关详情: 完整的配置和状态信息

监控的指标​

  • SIP注册状态
  • Ping时间(平均SIP OPTIONS响应时间)
  • 正常运行时间(自配置文件重启以来的秒数)
  • 进呼叫/出呼叫
  • 失败的进呼叫/失���的出呼叫
  • 最后ping时间和频率

Diameter对等状态​

监控Diameter对等连接的Sh和Ro接口。

访问: 在控制面板中导航到 /diameter

功能​

  • 对等状态: 每个配置对等体的连接状态
  • 应用支持: 查看支持的Diameter应用程序(Sh、Ro)
  • 看门狗状态: Diameter看门狗监控

系统日志查看器​

实时统一日志查看器,用于TAS后端(Elixir)和TAS呼叫处理(FreeSWITCH)日志。

访问: 在控制面板中导航到 /logs

日志视图

功能​

  • 统一日志流: 在一个界面中查看来自TAS后端和呼叫处理的日志
  • 实时更新: 日志消息实时流式传输(每1秒自动刷新)
  • 颜色编码的日志级别:
    • 🟣 控制台 - 控制台消息(紫色/洋红色)
    • 🔴 警报/严重 - 需要立即关注的紧急问题(红色)
    • 🟠 错误 - 错误条件(浅红色)
    • 🟡 警告 - 警告消息(黄色)
    • 🔵 通知 - 显著的信息消息(青色)
    • 🔵 信息 - 一般信息消息(蓝色)
    • ⚪ 调试 - 调试/详细日志(灰色)
  • 源徽章:
    • 🔵 TAS后端 - Elixir应用程序日志(蓝色徽章)
    • 🟣 TAS呼叫处理 - FreeSWITCH日志(紫色徽章)
  • 左边框指示器: 颜色编码的左边框与日志级别匹配,便于快速视觉扫描
  • 多个过滤器:
    • 源过滤器: 所有源 / TAS后端 / TAS呼叫处理
    • 级别过滤器: 所有 / 控制台 / 警报 / 严重 / 错误 / 警告 / 通知 / 信息 / 调试
    • 文本搜索: 在日志消息中实时关键字搜索
  • 暂停/恢复: 冻结日志流以分析特定条目而不失去上下文
  • 清除日志: 从显示中删除所有当前日志条目
  • 日志计数器: 显示过滤日志与总日志(例如,“显示150条,共500条日志”)
  • 尾部行为: 为了性能,保持最后500条日志条目
  • 元数据展示: 文件名和行号用于源代码引用(如果可用)
  • 可滚动视图: 固定高度容器,自动滚动以显示最新日志

如何使用​

  1. 基本查看:

    • 页面加载最新的500条来自两个源的日志条目
    • 日志实时生成时出现
    • 最近的日志出现在顶部
    • 每1秒自动刷新
  2. 按源过滤:

    • 从 "源" 下拉菜单中选择:
      • 所有源 - 显示TAS后端和呼叫处理日志
      • TAS后端 - 仅Elixir应用程序日志
      • TAS呼叫处理 - 仅FreeSWITCH/拨号计划日��
    • 过滤立即应用
  3. 按日志级别过滤:

    • 从 "级别" 下拉菜单中选择:
      • 所有 - 显示所有日志级别
      • 控制台 到 调试 - 仅显示该特定级别
    • 有助于专注于错误或调试特定问题
  4. 搜索关键字:

    • 在 "搜索日志..." 框中输入
    • 在日志消息中进行不区分大小写的搜索
    • 输入时实时过滤
    • 与源和级别过滤器结合
  5. 暂停/恢复流:

    • 点击 "暂停" 按钮(橙色)以冻结日志更新
    • "已暂停" 指示器出现在标题中
    • 在没有新日志干扰的情况下查看特定日志条目
    • 点击 "恢复" 按钮(绿色)以重新启动实时流
  6. 清除日志:

    • 点击 "清除" 按钮(红色)以删除所有显示的日志
    • 清除TAS后端和呼叫处理日志
    • 新日志将在生成时出现
  7. 阅读日志条目:

    • 时间戳: 以HH:MM:SS.毫秒格式显示时间
    • 源徽章: 指示TAS后端(蓝色)或呼叫处理(紫色)
    • 日志级别: 颜色编码的级别在方括号中 [ERROR]、[INFO] 等
    • 文件/行: 源代码位置(如果可用)
    • 消息: 实际日志消息内容

日志级别解释​

级别颜色使用时机示例
控制台紫色控制台特定消息高优先级FreeSWITCH控制台输出
警报红色需要立即采取行动系统组件故障
严重红色严重条件数据库连接丢失
错误浅红色错误条件无法处理呼叫,配置无效
警告黄色警告条件使用了已弃用的功能,重试尝试
通知青色显著的正常事件配置重新加载,服务启动
信息蓝色信息消息呼叫连接,Diameter请求发送
调试灰色调试级别消息函数进入/退出,变量值

用例​

  • 实时故障排除: 在活动呼叫期间监控日志以调试问题
  • 错误调查: 过滤错误/严重级别以查找问题
  • 呼叫流分析: 搜索呼叫ID或电话号码以追踪呼叫路径
  • 性能监控: 在负载测试期间观察警告和错误
  • 集成调试: 过滤TAS后端以查看Diameter/Sh/Ro消息
  • 拨号计划调试: 过滤TAS呼叫处理以查看FreeSWITCH呼叫路由
  • 系统健康监控: 保持日志打开以观察异常
  • 开发与测试: 使用调试级别查看详细的应用程序行为

提示​

  • 组合过滤器: 同时使用源 + 级别 + 搜索进行精确过滤
    • 示例:源="TAS后端" + 级别="错误" + 搜索="Diameter" → 查找Diameter错误
  • 搜索前暂停: 在输入搜索查询之前暂停流以避免日志滚动
  • 明智使用调试: 调试级别是详细的 - 过滤到特定源以减少噪音
  • 颜色扫描: 快速扫描左边框 - 红色边框表示问题
  • 源徽章: 蓝色徽章(后端)用于应用逻辑,紫色徽章(呼叫处理)用于呼叫
  • 时间戳精度: 毫秒时间戳有助于跨系统关联事件
  • 文件引用: 点击/记录文件:行引用以跳转到源代码
  • 定期清除: 在切换调查上下文时清除日志以保持清晰
  • 搜索UUID: 搜索呼叫ID/UUID以跟踪特定呼叫通过整个系统
  • 紧急搜索: 搜索 "911" 或 "紧急" 以快速查找紧急呼叫处理

技术细节​

  • 日志限制: 显示最大500条日志(达到限制时丢弃最旧的)
  • 刷新率: 每1000毫秒(1秒)自动刷新
  • 搜索: 仅在消息字段上进行不区分大小写的子字符串匹配
  • 空过滤: 自动过滤掉空/占位符日志消息
  • 源检测: 日志标记为 :elixir 或 :freeswitch 源
  • 排序: 日志按时间戳降序排序(最新的在前)
  • PubSub: Elixir日志通过Phoenix PubSub实时更新
  • FreeSWITCH日��: 通过事件套接字接口(ESI)日志监听器收集

呼叫模拟器​

交互式呼叫模拟工具,用于测试拨号计划逻辑而无需进行真实呼叫。

访问: 在控制面板中导航到 /simulator

详细文档: 请参见 HLR和呼叫模拟器指南

功能​

  • 模拟呼叫类型: 测试MO、MT和紧急呼叫
  • 可配置参数:
    • 源和目的地号码
    • 源IP地址(模拟SBC/CSCF)
    • 强制特定呼叫处置
    • 跳过OCS授权以加快测试
  • 全面结果:
    • 完整的拨号计划变量输出
    • Sh/HLR查找结果
    • OCS授权结果
    • SS7 MAP查询结果(如适用)
    • 生成的拨号计划XML
  • 逐步处理: 查看呼叫处理的每个阶段

用例​

  • 在部署之前测试拨号计划更改
  • 验证用户订阅
  • 调试呼叫路由问题
  • 培训员工了解呼叫流
  • 验证OCS/HLR集成
  • 测试紧急呼叫处理

HLR/MAP测试​

测试SS7 MAP操作,包括发送路由信息(SRI)和提供漫游号码(PRN)查询。

访问: 在控制面板中导航到 /hlr

详细文档: 请参见 HLR和呼叫模拟器指南

功能​

  • SRI查询: 测试发送路由信息以进行呼叫路由
  • PRN查询: 测试提供漫游号码以供漫游用户使用
  • 实时结果: 实际查询配置的MAP网关
  • 响应显示: 查看MSRN、MSC地址和转发状态
  • 错误处理: 清晰显示MAP错误和超时

用例​

  • 验证HLR连接
  • 测试漫游号码分配
  • 调试对漫游用户的呼叫路由
  • 验证MAP网关配置
  • 排查呼叫转移问题

OCS测试​

直接针对您的OCS测试Diameter Ro(在线计费)信用控制请求(CCR)操作。

访问: 在控制面板中导航到 /ocs_test

OCS测试视图

功能​

  • 灵活的CCR类型: 发送INITIAL、UPDATE、TERMINATION或EVENT请求
  • 会话模拟: 重用相同的呼叫ID以模拟完整的会话生命周期
  • 事件类型选择: 测试SMS(基于事件)和呼叫(基于会话)计费
  • 方向控制: 测试出站(MO)和入站(MT)场景
  • 可选参数: 指定目标主机和用户名以进行高级测试
  • 实时结果: 查看完整的CCA(信用控制应答)响应

如何使用​

  1. 输入测试参数:

    • 被叫MSISDN: 目的地号码(例如,61400123456)
    • 主叫MSISDN: 源号码(例如,61400987654)
    • 事件类型: 选择 sms 或 call
      • SMS默认使用EVENT_REQUEST(类型4)
      • 呼叫默认使用INITIAL_REQUEST(类型1)
    • 方向: out 表示MO或 in 表示MT
  2. 配置CCR类型:

    • 请求类型: 选择CCR类型:
      • 1:INITIAL_REQUEST - 启动新会话
      • 2:UPDATE_REQUEST - 会话中重新授权
      • 3:TERMINATION_REQUEST - 结束会话并报告使用情况
      • 4:EVENT_REQUEST - 一次性事件(SMS,立即事件)
    • 请求编号: 从1开始,在同一会话中递增
  3. 会话测试:

    • 呼叫ID: 自动生成的唯一标识符以进行关联
    • 点击 "新ID" 以生成新的呼叫ID进行新的测试
    • 保持相同的呼叫ID 以模拟完整的会话:
      • 第一个请求:INITIAL_REQUEST(类型1,编号1)
      • 会话中:UPDATE_REQUEST(类型2,编号2、3、4...)
      • 最后请求:TERMINATION_REQUEST(类型3,编号N+1)
  4. 高级选项:

    • 目标主机: 针对特定OCS节点(可选)
    • 用户名: 重写订阅者标识符(可选)
  5. 运行并查看:

    • 点击 "运行CCR" 发送请求
    • 查看完整的CCA响应及所有AVP
    • 检查结果代码、授予的单位和有效时间
    • 最后运行时间戳显示在右上角

用例​

  • OCS连接测试: 验证Diameter Ro连接和身份验证
  • 信用控制逻辑: 测试信用分配、消费和耗尽场景
  • 会话流测试: 模拟完整的呼叫生命周期(INITIAL → UPDATE → TERMINATION)
  • 计费验证: 验证不同号码范围的正确计费率
  • 故障转移测试: 通过针对特定目标主机测试OCS冗余
  • 集成调试: 通过详细的AVP检查排查OCS集成问题
  • 负载测试准备: 在负载测试之前验证OCS行为
  • 紧急号码绕过: 验证紧急号码是否正确绕过计费

提示​

  • 使用相同的呼叫ID和递增的请求编号测试会话连续性
  • 同时监控OCS日志以关联测试请求
  • 测试UPDATE请求以验证会话中重新授权逻辑
  • 验证TERMINATION请求是否正确关闭会话并防止泄漏
  • 通过在消耗授予的单位后发送UPDATE请求来测试信用耗尽

Sh接口测试​

测试Diameter Sh用户数据请求(UDR)操作,以从HSS检索用户配置文件数据。

访问: 在控制面板中导航到 /sh_test

Sh测试视图

功能​

  • 多个数据引用: 查询超过20种不同的用户数据类型
  • 实时HSS查询: 对配置的HSS进行实时Diameter Sh请求
  • 完整响应显示: 查看完整的XML用户数据和AVP
  • 会话跟踪: 显示HSS主机名、领域和会话ID
  • 错误处理: 清晰显示Diameter结果代码和错误条件

如何使用​

  1. 输入公共身份:

    • 公共身份: 订阅者的IMS公共身份
    • 格式: sip:61400123456@ims.mncXXX.mccXXX.3gppnetwork.org
    • 也可以使用 tel:+61400123456 格式
  2. 选择数据引用: 选择要检索的用户数据类型:

    • RepositoryData (0): 完整的用户配置文件
    • IMSPublicIdentity (10): 公共身份列表
    • IMSUserState (11): 注册状态
    • S-CSCFName (12): 分配的S-CSCF
    • InitialFilterCriteria (13): 应用服务器的iFC触发器
    • LocationInformation (14): 当前位置信息
    • ChargingInformation (16): P-计费地址
    • MSISDN (17): 电话号码
    • IMSI (32): 国际移动用户身份
    • IMSPrivateUserIdentity (33): 私有用户身份
    • ���有更多...
  3. 运行并查看:

    • 点击 "获取SH数据" 发送UDR请求
    • 查看完整的用户数据应答(UDA)响应
    • 检查用户配置文件XML、服务数据和iFC规则
    • 会话元数据显示哪个HSS响应

用例​

  • 用户验证: 确认用户在HSS中已配置
  • iFC调试: 查看初始过滤标准和触发点
  • 注册故障排除: 检查用户状态和S-CSCF分配
  • 计费配置: 验证P-计费功能地址
  • HSS连接测试: 验证Diameter Sh连接
  • 配置文件验证: 确保分配了正确的服务配置文件
  • 集成测试: 在配置更改后测试HSS集成
  • 漫游分析: 检查位置信息和服务网络

提示​

  • 使用 IMSPublicIdentity (10) 查看用户的所有别名
  • 使用 RepositoryData (0) 一次查询获取完整的用户配置文件
  • 检查 IMSUserState (11) 以验证用户是否已注册
  • InitialFilterCriteria (13) 显示将触发的应用服务器
  • 会话ID可用于关联HSS日志中的查询
  • 错误响应包括Diameter结果代码(例如,5001 = 用户未知)

号码翻译测试​

测试号码翻译规则和格式,而无需进行实际呼叫。

访问: 在控制面板中导航到 /translate

号码翻译视图

功能​

  • 实时翻译: 输入时自动翻译
  • 国家代码支持: 测试不同国家代码上下文
  • 处置感知: 根据呼叫处置应用不同规则
  • 实时结果: 立即反馈翻译后的号码
  • 调试信息: 查看原始返回值以进行故障排除

如何使用​

  1. 配置参数:

    • 国家代码: 拨号上下文(例如,AU、US、NZ)
      • 默认使用 config/runtime.exs 中配置的国家代码
      • 接受格式: AU、:AU、au
    • 电话号码: 要翻译的号码
      • 示例: +61400111222、0400111222、61400111222
    • 处置: (可选)呼叫上下文以进行条件规则
      • 示例: originate、route、emergency
  2. 测试翻译:

    • 在表单中输入值
    • 输入时自动运行翻译
    • 或点击 "翻译" 手动触发
    • 立即查看翻译结果
  3. 查看结果:

    • 翻译: 显示格式化后的输出号码
    • 错误: 显示验证错误或翻译失败
    • 原始返回(调试): 显示完整的Elixir元组以进行调试

用例​

  • 拨号计划开发: 在部署之前测试号码格式规则
  • 格式验证: 验证E.164转换是否正常工作
  • 国家代码测试: 确保正确处理国��前缀
  • 紧急号码检测: 验证紧急号码是否被正确识别
  • 短码处理: 测试特殊服务代码(语音邮件等)
  • 中继准备: 正确格式化号码以满足SIP中继要求
  • 处置逻辑: 测试MO与MT场景的不同规则
  • 调试翻译问题: 排查特定号码为何无法路由

提示​

  • 测试本地格式(0400111222)和国际格式(+61400111222)
  • 验证紧急号码(000、112)是否被正确检测
  • 使用处置字段测试不同呼叫场景(MO、MT、紧急)
  • 检查短码和内部号码是否被适当处理
  • 调试输出显示原始返回值 - 有助于调查问题
  • 测试边缘情况,如前导零、国际前缀和特殊字符

语音邮件管理​

管理和收听存储在系统中的语音邮件消息。

访问: 在控制面板中导航到 /voicemail

语音邮件视图

功能​

  • 完整语音邮件列表: 查看所有邮箱中的语音邮件消息
  • 浏览器内播放: 直接在网页界面中收听语音邮件录音
  • 消息详情: 查看用户名、UUID、时间戳、文件路径和元数据
  • 删除功能: 删除单个语音邮件消息
  • 自动刷新: 刷新按钮以重新加载最新的语音邮件数据
  • 动态列: 自动显示所有可用的数据库字段

如何使用​

  1. 查看语音邮件列表:

    • 页面自动加载所有语音邮件记录
    • 表格显示来自语音邮件数据库的所有字段
    • 时间戳自动从纪元值格式化
    • 文件路径缩短以便于阅读
  2. 收听消息:

    • 点击任何语音邮件旁的 "▶ 播放" 按钮
    • 音频播放器出现,带有控制(播放、暂停、快进、音量)
    • 支持WAV、MP3和OGG格式
    • 点击 "停止" 关闭音频播放器
  3. 删除消息:

    • 点击 "删除" 按钮以移除语音邮件
    • 确认提示防止意外删除
    • 成功删除后页面自动刷新
  4. 刷新数据:

    • 点击右上角的 "刷新" 按钮以重新加载语音邮件列表
    • 在留下新语音邮件后非常有用

显示的消息详情​

表格动态显示所有可用字段,通常包括:

  • 用户名: 邮箱所有者
  • UUID: 唯一消息标识符
  • 创建纪元: 留下消息的时间(自动格式化为可读日期/时间)
  • 读取纪元: 访问消息的时间(如果适用)
  • 文件路径: 音频文件的位置
  • 来自语音邮件数据库的其他元数据

用例​

  • 用户支持: 收听语音邮件消息以进行故障排除
  • 测试语音邮件��递: 验证语音邮件是否被正确存储
  • 消息管理: 清理旧的或测试的语音邮件消息
  • 故障排除录音问题: 检查文件路径并验证音频文件是否存在
  • 邮箱维护: 监控语音邮件存储和使用情况
  • 质量保证: 审查录制的消息以确保音频质量

提示​

  • 文件路径自动缩短以仅显示相关部分
  • 纪元时间戳自动转换为人类可读格式
  • 空的语音邮件数据库显示 "未找到语音邮件记录"
  • 音频播放使用HTML5音频元素 - 在所有现代浏览器中支持
  • 删除确认防止意外删除重要消息

TTS提示管理​

管理系统中使用的文本到语音(TTS)生成的音频提示。

访问: 在控制面板中导航到 /prompts

提示视图

功能​

  • 提示设置显示: 查看当前TTS语音、响应格式和指令
  • 录音状态: 查看哪些提示存在,哪些缺失
  • 文件详情: 查看每个提示的文件大小、修改时间和路径
  • 浏览器内播放: 直接在网页界面中收听提示
  • 生成缺失: 自动创建所有缺失的提示文件
  • 单独重新录制: 使用更新的设置重新生成特定提示
  • 全部重新录制: 重新生成所有提示(在更改���音或设置后非常有用)

如何使用​

  1. 查看提示设置:

    • 语音: 正在使用的TTS语音(例如,alloy、nova、shimmer)
    • 响应格式: 音频格式(例如,wav、mp3、opus)
    • 指令: 传递给TTS引擎的特殊指令
  2. 检查录音状态:

    • 文本: 要说出的提示文本
    • 相对路径: 音频文件存储的位置
    • 存在: 如果文件存在则为绿色 "是",如果缺失则为黄色 "否"
    • 大小: 文件大小(以字节/KiB/MiB为单位)
    • 修改: 最后修改时间戳
  3. 生成提示:

    • 生成缺失: 仅创建尚不存在的提示
      • 对于初始设置或添加新提示后非常有用
    • 全部重新录制: 无论存在与否,重新生成所有提示
      • 在更改语音、格式或指令后非常有用
      • 使用时请谨慎,因为它会重新生成所有内容
  4. 管理单个提示:

    • ▶ 播放: 收听提示(仅在文件存在时启用)
    • 🔄 重新录制: 仅重新生成此一个提示
      • 如果某个提示听起来不正确非常有用
      • 使用当前语音和设置
  5. 收听提示:

    • 点击 "▶ 播放" 收听提示
    • 音频播放器在底部出现,带有完整控制
    • 点击 "停止" 关闭播放器

提示配置​

提示在您的应用程序配置中进行配置:

config :tas, :prompts,
voice: "nova",
response_format: "wav",
instructions: "清晰且专业地说话。",
recordings: [
%{path: "/sounds/en/us/callie/voicemail/vm-enter_id.wav",
text: "请输入您的邮箱ID,后面跟上井号"},
# ... 更多提示
]

用例​

  • 初始设置: 在系统安装后生成所有提示
  • 语音更改: 使用不同的TTS语音重新录制所有提示
  • 质量改进: 修复听起来不正确的单个提示
  • 格式更新: 以不同的音频格式重新生成提示(wav → mp3)
  • 文本更新: 在配置中更改提示文本后重新录制
  • 测试TTS: 在部署之前预览提示的声音
  • 故障排除播放: 验证提示文件是否存在且可访问
  • 存储管理: 检查文件大小并管理磁盘使用情况

提示​

  • 使用 "生成缺失" 进行初始设置 - 它不会覆盖现有提示
  • 在配置中更改语音或格式后使用 "全部重新录制"
  • 单独的 "重新录制" 对于特定提示的迭代非常有用
  • 在部署之前收听提示以确保质量
  • 较大的响应格式(wav)质量更好,但占用更多磁盘空间
  • 指��字段可以指导TTS引擎的语调和节奏
  • 重新录制可能需要时间,如果您有很多提示,请耐心等待
  • 提示存储在FreeSWITCH声音目录中,便于访问

拨号计划XML模板​

查看和检查用于呼叫路由的FreeSWITCH拨号计划XML模板。

访问: 在控制面板中导航到 /routing

拨号计划模板

功能​

  • 模板列表: 查看来自 priv/templates/ 目录的所有XML拨号计划模板
  • 文件详情: 查看每个模板的文件名和最后修改时间戳
  • 语法高亮: 颜色编码的XML显示,便于阅读
    • 标签为青色
    • 属性为浅蓝色
    • 值为橙色/棕色
    • 注释为绿色
  • 可展开视图: 点击任何模板以查看其完整的XML内容
  • 只读视图: 安全检查而不冒险意外修改
  • 可滚动内容: 大模板在固定高度容器内滚动(最大600px)

如何使用​

  1. 查看模板列表:

    • 页面加载来自模板目录的所有 .xml 文件
    • 按文件名字母顺序排序
    • 显示每个文件的修改时间戳
  2. 检查模板:

    • 点击任何行以展开并查看XML内容
    • 模板以语法高亮显示
    • 再次点击以折叠
  3. 阅读XML内容:

    • 标签(青色):XML元素名称,如 <extension>、<condition>
    • 属性(浅蓝色):属性名称,如 name=、field=
    • 值(橙色):属性值,如 "public"、"destination_number"
    • 注释(绿色):XML注释 <!-- ... -->

用例​

  • 审查拨号计划逻辑: 检查路由规则和呼叫流模板
  • 故障排除呼叫路由: 理解不同呼叫类型使用的模板
  • 验证模板语法: 在部署之前检查XML结构
  • 培训与文档: 与团队成员共享模板内容
  • 更改审计: 比较修改时间戳以跟踪更新
  • 模板开发: 在创建新模板时参考现有模板

提示​

  • 模板从TAS应用程序中的 priv/templates/ 加载
  • 仅显示 .xml 文件
  • 通过Web界面以只读方式查看模板
  • 修改时间戳有助于识别最近的更改
  • 使用此视图验证模板是否符合您的拨号计划预期
  • 语法高亮使复杂的XML更易于视觉解析
  • 与 /logs 视图结合使用,以将路由行为与模板关联

技术细节​

  • 位置: 模板存储在 priv/templates/ 目录中
  • 格式: FreeSWITCH XML拨号计划格式
  • 文件扩展名: 仅列出 .xml 文件
  • 排序: 按文件名字母顺序排序
  • 语法高亮: 使用正则表达式模式进行客户端侧着色
  • 最大显示高度: 600px,超大文件滚动

ESL命令运行器​

直接从Web界面执行FreeSWITCH事件套接字层(ESL)命令。

访问: 在控制面板中导航到 /command

ESL命令运行器

功能​

  • 命令执行: 运行任何ESL/FreeSWITCH API命令
  • 实时输出: 实时查看命令结果
  • 命令历史: 最近命令下拉菜单(最后10个命令)
  • 自动完成准备: 单宽输入以精确输入命令
  • 错误处理: 清晰显示命令错误和异常
  • 无自动执行: 选择历史填充输入,但需要明确点击 "运行"

如何使用​

  1. 输入命令:

    • 在输入框中输入ESL命令
    • 示例:
      • status - 显示FreeSWITCH状态
      • show channels - 列出活动呼叫
      • uuid_dump <uuid> - 转储呼叫的所有变量
      • sofia status - 显示SIP配置文件状态
      • reloadxml - 重新加载XML拨号计划
      • version - 显示FreeSWITCH版本
  2. 运行命令:

    • 点击 "运行" 按钮以执行
    • 按钮在执行时显示 "正在运行…"
    • 不能同时运行多个命令
  3. 查看输出:

    • 结果出现在下面的 "输出" 部分
    • 成功的命令显示原始响应
    • 错误以 "错误:" 前缀显示
    • 输出可滚动,最大高度为600px
    • 单宽字体以对齐数据
  4. 使用命令历史:

    • 最近的命令在第一次执行后出现在下拉菜单中
    • 从 "最近:" 下拉菜单中选择以填充输入框
    • 历史保持最后10个唯一命令
    • 最近的命令在顶部
    • 选择历史不会自动执行(安全功能)

常用命令​

命令描述示例输出
status系统状态和正常运行时间FreeSWITCH运行信息
show channels列出所有活动呼叫呼叫列表或 "0 总计"
show calls活动呼叫的摘要呼叫计数摘要
uuid_dump <uuid>呼叫的所有变量完整变量转储
uuid_kill <uuid>挂断特定呼叫"+OK" 或错误
sofia statusSIP配置文件状态配置文件列表和状态
sofia status profile <name>特定配置文件详情注册计数等
reloadxml重新加载拨号计划XML"+OK" 确认
versionFreeSWITCH版本信息版本字符串
global_getvar <var>获取全局变量变量值
api help列出可用命令命令参考

用例​

  • 呼叫调试: 使用 uuid_dump 获取活动呼叫的详细信息
  • 系统状态: 使用 status 和 show calls 检查FreeSWITCH健康状况
  • SIP故障排除: 使用 sofia status 检查SIP配置文件
  • 拨号计划重新加载: 使用 reloadxml 应用配置更改
  • 紧急操作: 使用 uuid_kill 挂断卡住的呼叫
  • 变量检查: 检查全局或通道变量

故障排除​

用户未显示​

  • 验证OmniTAS是否正在运行
  • 检查Sofia配置文件是否处于活动状态: sofia status profile internal
  • 验证配置中的数据库路径是否与实际数据库位置匹配

CDR记录未出现​

  • 确认OmniTAS CDR模块已加载
  • 检查CDR数据库是否存在于配置路径
  • 验证OmniTAS中的CDR模块配置

性能考虑​

  • 大型CDR数据库(>1M记录)可能需要额外索引以获得最佳性能
  • 考虑定期归档旧的CDR记录
  • 用户注册查询通常很快,因为注册数据库很小

配置​

访问控制​

控制面板应在适当的访问控制(防火墙、VPN、身份验证)后部署,因为它提供了对用户活动和呼叫记录的可见性。