免费使用

VQ for Asterisk 免费为您现有的 Asterisk PBX 加上通话质量监测。一条命令即可完成安装:此后 PBX 承载的每一通呼叫都会得到网络 MOS 评分、丢包和抖动数据以及 SIP 呼叫分析,结果显示在 Web 仪表盘中,也可以通过 REST API 获取。安装过程中 Asterisk 照常运行,呼叫从不受影响。

立即安装GitHub 源代码

免费的 Asterisk 通话质量监测

VQ for Asterisk 在您的 PBX 旁运行 Sevana 的 VQ 监测器引擎,与独立版 VQ 监测器服务器使用的是同一个引擎。引擎像抓包工具一样监听 PBX 自身的网络接口,因此从不介入 Asterisk 的通道或媒体路径;一个小巧的 Asterisk 模块负责启动它、保持它运行,并让您通过 Asterisk CLI 操作它。无需部署探针、镜像端口或监测服务器。

每通呼叫都有网络 MOS

每一路 RTP 流都会根据丢包和抖动,按 ITU-T G.107 E-model 计算评分,每 10 秒一次并覆盖整通呼叫,同时关联到其 SIP 呼叫:主叫、被叫、Call-ID、编解码器和呼叫结果。

一条命令完成安装

安装程序针对您自己的 Asterisk 编译模块,安装引擎和仪表盘,并把模块加载到正在运行的 PBX 中。再次运行即可升级;--uninstall 会移除全部内容。

不影响 PBX 安全

引擎和仪表盘以 Asterisk 用户身份作为独立进程运行。它们退出时模块会自动重启,它们的任何行为都不会导致 Asterisk 崩溃或干扰呼叫。

通过 Asterisk CLI 操作

vq show status 报告引擎、抓包计数器和仪表盘的状态。vq track add 用于选择需要录音以便回听的呼叫。

VQ for Asterisk 仪表盘概览:实时流、网络 MOS 良好的通话占比,以及最近 1 小时和 24 小时的平均网络 MOS
仪表盘概览:实时流、优质通话占比,以及最近 1 小时和 24 小时的平均网络 MOS。

安装

在运行 Asterisk 的 Linux 主机上执行:

curl -fsSL https://f.sevana.biz/vq-asterisk/install.sh | sudo bash

安装程序会找到您的 Asterisk 及其配置,显示引擎的许可协议并请您确认接受。如果缺少编译器、Asterisk 头文件或 ZeroMQ 库,它会提出为您安装。随后它针对您的 Asterisk 版本编译模块,安装全部组件,并在不重启的情况下把模块加载到正在运行的 PBX 中。完成后,它会显示引擎状态以及仪表盘的访问方式。

选项写在 bash -s -- 之后,例如用 --iface eth0 指定抓包接口,或用 --dashboard-port 8080 指定仪表盘端口。发布文件及其 SHA-256 校验和位于 f.sevana.biz/vq-asterisk。如需在无法访问互联网的主机上安装,请先下载发布包,再运行 install.sh --package。

工作原理

引擎通过 libpcap 抓取 SIP 和 RTP,把每一路 RTP 流与其 SIP 呼叫关联起来,计算网络 MOS,并通过本地 ZeroMQ 总线发布按流和按区间的报告。仪表盘订阅该总线,把结果存入 SQLite,并提供 Web 界面和 REST API。该总线使用与独立版 VQ 监测器服务器相同的公开协议,因此您自己的工具同样可以订阅。

Asterisk
 ├─ chan_pjsip / RTP               calls, untouched
 └─ res_vq_monitor.so              starts, supervises and controls:
      ├─ vq-core   capture: SIP + RTP → network MOS → ZeroMQ reports (loopback)
      └─ vq-db     SQLite, web dashboard, REST API (loopback)
                        ▲
      SSH tunnel or reverse proxy with authentication ── your users

录下您需要回听的呼叫

每通呼叫的统计数据都会保留,音频则只在需要时录制:音频每路流每 10 秒约占 1.3 MB,而统计数据只有几百字节。把 SIP 地址或 Call-ID 等匹配模式加入跟踪列表,匹配的呼叫就会被录音,包括已在进行中的呼叫,之后可以在仪表盘上播放或下载。默认情况下,统计数据保留 14 天,音频保留 1 小时。

*CLI> vq track add 1002@
*CLI> vq show track
*CLI> vq track clear

仪表盘的 Track list 页面编辑的是同一份列表,因此支持人员无需登录 PBX 的 shell,就能为某个问题分机的呼叫录音。

仪表盘、SIP 呼叫分析与 REST API

仪表盘上的所有内容也都可以通过有文档的 REST API 以 JSON 或 CSV 格式获取,可直接接入您自己的报表、NOC 工具或计费核对流程。

VQ for Asterisk 流详情:网络 MOS、抖动、丢包、编解码器、SIP 呼叫、录音以及按区间的网络 MOS
流详情:网络统计、所属 SIP 呼叫、一段录音以及每个区间的网络 MOS。
VQ for Asterisk SIP 呼叫详情:主叫、被叫、结果、带网络 MOS 的相关 RTP 流和 SIP 事件时间线
SIP 呼叫详情:该呼叫的 RTP 流及其从 INVITE 到挂断的信令时间线。

命令行参考

vq show status 引擎和仪表盘进程、引擎版本、进行中的流和 SIP 呼叫,以及各接口的抓包计数器(含丢弃的包)
vq show track 当前的跟踪列表
vq track add | remove | clear 选择需要录音的呼叫;对进行中的呼叫同样生效
vq core restart 仅重启引擎;呼叫不受影响
vq db restart 仅重启仪表盘
vq logger reload 日志轮转后重新打开引擎日志

系统要求

PBX 在 glibc 2.35 或更新版本的 64 位 x86 Linux 上运行、带 chan_pjsip 的 Asterisk:Debian 12、Ubuntu 22.04 或更新版本。已在 Ubuntu 22.04 上的 Asterisk 18 和 Ubuntu 24.04 上的 Asterisk 20 中测试
权限 安装需要 root 权限。引擎以 Asterisk 用户身份运行;安装程序为引擎程序授予抓包能力,Asterisk 本身的权限保持不变
抓包 承载 PBX 的 SIP 和 RTP 流量的网络接口。基于 TLS 的 SIP 无法解析,因此这类流会被评分,但没有主叫和被叫信息。SRTP 流只提供网络指标
存储 SQLite,无需外部数据库。统计数据 14 天后过期,音频 1 小时后过期,两者均可配置
安全 仪表盘只监听回环地址。可通过 SSH 隧道访问,或经由带身份验证的反向代理对外发布
许可 Asterisk 模块以 GPL-2.0 开源(github.com/sevana-ou/vq-asterisk),仪表盘以 Apache 2.0 许可开源(github.com/sevana-ou/vq-db)。引擎依据安装程序显示的 Sevana 许可协议免费使用,商业用途同样免费

加上 Sevana MOS:主叫方实际听到的效果

网络 MOS 反映传输层交付的质量。它看不到回声、静音、削波或配置不当的编解码器,而这些问题会破坏网络传输完全正常的通话。Sevana 的感知 PVQA 分析会解码音频,为主叫方实际听到的效果评分,其检测器还会指出具体的损伤。免费版只做网络分析;Sevana MOS、损伤检测器和技术支持需要商业授权。

免费版 配合 Sevana PVQA
单侧静音:某一方向只承载静音 — 有
网络 MOS、丢包、抖动、SIP 呼叫分析 有 有
通话诊断:单向音频、编解码器与打包时长不一致、媒体延迟 有 有
告警:质量越限时运行命令或调用 webhook 有 有
按需录音、仪表盘、REST API 有 有
基于解码音频的 Sevana MOS — 有
损伤检测器(回声、静音、死寂等) — 有
技术支持 社区(GitHub) Sevana

选择模块还是独立服务器?

如果您运行一台或几台 Asterisk PBX,希望无需额外硬件、SPAN 端口或单独服务器就能监测通话质量,请选择 VQ for Asterisk。对于运营商链路、SBC 和混合网络,请选择独立版 VQ 监测器服务器:它可以抓取镜像流量或 HEP 数据,通过多个探针汇入同一个数据库实现横向扩展,并支持在每秒数百万包的链路上进行 DPDK 抓包。两者使用同一个引擎,因此网络 MOS 可以直接比较。

开始使用

几分钟内即可在您的 PBX 上安装 VQ for Asterisk,也欢迎就 Sevana MOS 和独立版 VQ 监测器与我们联系。

立即安装联系 Sevana

VQ for Asterisk 仪表盘概览:实时流、网络 MOS 良好的通话占比,以及最近 1 小时和 24 小时的平均网络 MOS
VQ for Asterisk 流详情:网络 MOS、抖动、丢包、编解码器、SIP 呼叫、录音以及按区间的网络 MOS
VQ for Asterisk SIP 呼叫详情:主叫、被叫、结果、带网络 MOS 的相关 RTP 流和 SIP 事件时间线