免费使用
VQ for Asterisk 免费为您现有的 Asterisk PBX 加上通话质量监测。一条命令即可完成安装:此后 PBX 承载的每一通呼叫都会得到网络 MOS 评分、丢包和抖动数据以及 SIP 呼叫分析,结果显示在 Web 仪表盘中,也可以通过 REST API 获取。安装过程中 Asterisk 照常运行,呼叫从不受影响。
VQ for Asterisk 在您的 PBX 旁运行 Sevana 的 VQ 监测器引擎,与独立版 VQ 监测器服务器使用的是同一个引擎。引擎像抓包工具一样监听 PBX 自身的网络接口,因此从不介入 Asterisk 的通道或媒体路径;一个小巧的 Asterisk 模块负责启动它、保持它运行,并让您通过 Asterisk CLI 操作它。无需部署探针、镜像端口或监测服务器。
每一路 RTP 流都会根据丢包和抖动,按 ITU-T G.107 E-model 计算评分,每 10 秒一次并覆盖整通呼叫,同时关联到其 SIP 呼叫:主叫、被叫、Call-ID、编解码器和呼叫结果。
安装程序针对您自己的 Asterisk 编译模块,安装引擎和仪表盘,并把模块加载到正在运行的 PBX 中。再次运行即可升级;--uninstall 会移除全部内容。
引擎和仪表盘以 Asterisk 用户身份作为独立进程运行。它们退出时模块会自动重启,它们的任何行为都不会导致 Asterisk 崩溃或干扰呼叫。
vq show status 报告引擎、抓包计数器和仪表盘的状态。vq track add 用于选择需要录音以便回听的呼叫。

在运行 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,就能为某个问题分机的呼叫录音。
network_mos < 3.6 && jitter > 20 这类过滤表达式,并可导出 CSV。仪表盘上的所有内容也都可以通过有文档的 REST API 以 JSON 或 CSV 格式获取,可直接接入您自己的报表、NOC 工具或计费核对流程。


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 许可协议免费使用,商业用途同样免费 |
网络 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 监测器与我们联系。