SIP3 2026.2.1 介绍与选型指南
SIP3 2026.2.1 介绍与选型指南:组件架构、功能特性、发布渠道版本差异实测与 SIPCAPTURE Homer/sngrep 量化选型对比。
SIP3 2026.2.1 介绍与选型指南
一、环境信息
| 项目 | 内容 |
|---|---|
| 组件名称 | SIP3(社区版 SIP3 CE) |
| 官方网站 | https://sip3.io |
| 代码仓库 | https://github.com/sip3io(组织,按组件分仓) |
| 开源许可 | Apache License 2.0(CE 版,商业版另按 SIP3 Editions 授权) |
| 开发语言 | Java 21(Captain/Salto/Twig,JDK 25 运行时)+ JavaScript(Hoof 前端) |
| 目标平台 | Linux(Debian ≥ 10、Ubuntu 20.04/22.04/22.10 及以上;任一 Linux 可跑官方镜像) |
| 存储依赖 | MongoDB 7.0(信令与呼叫数据)、InfluxDB(服务指标)、Grafana(仪表盘) |
| 本文版本核实日期 | 2026-10-26(版本号、分支、镜像、星数均为当日实测取证) |
SIP3 是一个 SIP/VoIP/RTC 流量实时捕获与分析平台,由采集代理、事件处理核心、REST 后端与 Web 界面四个组件构成,定位于对 PBX、SIP 中继与语音网络进行呼叫级监控、质量分析与故障排查。需要特别说明的是:本组件与 SIPCAPTURE Homer 是两个完全不同的项目——Homer 是 SIPCAPTURE 基金会旗下基于 HEP/EEP 协议的抓包监控生态,SIP3 是 sip3io 组织的自有协议组件体系,二者仅在同领域竞争,无代码或协议继承关系。
二、软件概述
2.1 定位与核心价值
SIP3 的核心能力是把散落在网络中的 SIP 信令与 RTP 媒体流,实时聚合成"呼叫"这一业务对象:Captain 在 PBX 或镜像口抓包,Salto 以事件驱动流水线把 SIP 事务聚合为呼叫并计算时延/重传/质量指标,数据落地 MongoDB 与 InfluxDB,Twig 提供统一的 REST 查询接口,Hoof 提供呼叫搜索、呼叫流程图(Call Flow Diagram)与媒体质量视图。官方给出的典型用法包括 VoIP 语音质量监控(MOS/R-factor)、Wangiri 回拨欺诈检测、注册风暴与信令异常排查等。
CE(Community Edition)覆盖完整四组件与基础功能,EE(Enterprise Edition)在此基础上增加 OAuth2/角色权限、HEP/IPFIX 接入、媒体按需录制等能力。功能开关通过 features 列表在配置中声明(call、register、rtcp、rtp、rec、udf、sctp、vxlan、tzsp、websocket、hep、ipfix、ssl、dpdk 等),同一套代码按开关裁剪行为。
2.2 版本与发布渠道核实(2026-10-26)
SIP3 采用"年份.主.次"的版本号(如 2026.2.1)。经当日实测,各发布渠道的最新版本并不一致,选型时需特别注意:
| 发布渠道 | 实测最新版本/状态 | 说明 |
|---|---|---|
| apt 软件源 repo.sip3.io | sip3-captain/salto/twig/hoof-ce 2026.2.1-1(含配套 sip3-java 25.0.2-10) | 全渠道最新,本文基准版本 |
| 官方 Release Notes | 最新条目 2026.1.1(Java 21 源码 + JDK 25、Twig OAuth2 增强与 API key、Hoof 自定义搜索报告、批量 CVE 修复) | apt 源版本已领先于文档 |
Docker Hub(namespace sip3) | sip3/sip3-{captain,salto,twig,hoof}-ce latest = 2025.2.1(2025-07-07 推送) | 2025.3.x 与 2026.x 无官方镜像 |
| GitHub sip3-ansible | 最新发布分支 release/2025.3.2 | 官方文档引用的 release/2026.1.1 分支当日实测不存在 |
结论:基于 apt 源部署可获得 2026.2.1;基于官方镜像只能部署到 2025.2.1。旧单体仓库 sip3io/sip3 已下线,代码按组件拆分为 sip3-captain-ce、sip3-salto-ce、sip3-twig-ce(Hoof 前端另有独立仓库),三仓当日 GitHub 星标分别为 80、78、61(shields.io 实测)。
三、核心架构
3.1 组件拓扑
SIP3 CE 由四个可独立伸缩的组件组成,外加三个存储/展示依赖:
| 组件 | 角色 | 关键端口 | 技术栈 |
|---|---|---|---|
| Captain | libpcap 抓包代理,部署在 PBX 或镜像流量可达处,把解析后的数据发给 Salto | 发送 UDP 15060,管理通道 UDP 15090 | Java,libpcap,BPF 过滤 |
| Salto | 事件驱动核心(Vert.x 多反应器),SIP 事务/呼叫聚合、RTP/RTCP 质量计算、写库 | 接收 UDP 15060/15090,MongoDB 27017,InfluxDB 8086 | Java,Vert.x |
| Twig | REST/OpenAPI 后端,供 Hoof 与第三方系统查询呼叫数据 | HTTP 8080(/api 上下文) | Java,Spring Boot,springdoc |
| Hoof | Web 界面,呼叫搜索、呼叫流程图、组件管理 | HTTP 80(nginx 静态托管,反代 /api 与 /grafana) | JavaScript,nginx |
| MongoDB | 信令与呼叫业务数据(按日期分片集合,默认保留 30 个集合轮转) | 27017 | — |
| InfluxDB | 服务级指标时序数据 | 8086 | — |
| Grafana | 仪表盘(Dashboards 菜单入口) | 3000(经 Hoof 反代) | — |
数据流为:PBX/镜像口 → Captain → (UDP 15060 数据 + 15090 管理,启用 rtp/rtcp 时经管理通道交换 SDP) → Salto → MongoDB + InfluxDB → Twig ← Hoof。
3.2 数据组织
Salto 将数据按 time_suffix(默认 yyyyMMdd)写入按天分片的集合:呼叫索引 sip_call_index(含主叫/被叫、状态、错误码、时长、trying 延迟、建立时间、事务数、重传数等约 20 个索引字段)与原始报文 sip_call_raw、未解析消息 unknown_raw,并按 features 生成 sip_register_*、sip_message_*、sip_options_*、rtpr_rtp_*、rtpr_rtcp_*、dtmf_index 等集合;max_collections 默认 30,即默认按天轮转保留约 30 天数据,超过后旧集合被淘汰,这是容量规划时最重要的一个默认值。
四、功能特性
- 呼叫搜索:Simple Search 按号码/呼叫 ID 快速检索,Advanced Search 提供按状态、错误码、时长分布等多维条件(2025.3.x 起高级搜索查询串可在 Custom Search 中复用,2026.1.1 起支持搜索结果报告导出)。
- 呼叫流程图(Call Flow Diagram):呼叫详情内展示完整信令时序,支持未应答呼叫合并与 Callflow merging(2025.2.1 实验特性)。
- 媒体质量:RTP/RTCP 分析计算 MOS、R-factor、编解码、单向媒体、丢包分布(默认按 30s/50s/75s/95% 档位),Hoof 提供 RTP/RTCP 质量可视化(2025.3.1+)。
- 注册与消息:features 启用 register/message/options 后分别聚合 REGISTER、MESSAGE、OPTIONS 事件,含注册过期与更新周期控制。
- 服务指标:组件间收发、解析、聚合指标写 InfluxDB,Grafana 仪表盘展示;Captain 支持日志与 New Relic 指标输出。
- UDF(用户自定义函数):在 Salto 侧以自定义逻辑补充属性或对接外部系统(官方教程含 APIBAN 集成示例),2025.2.1 起 UDF 经 MongoDB 管理并提供 UDF API。
- 组件自注册与远程管理:Captain/Salto 经管理通道注册与保活,Hoof Components 页可查看组件版本(2025.2.1 起 Twig 支持在 UI 注册为组件、支持从 UI 远程关闭)。
- 抓包可扩展性(EE/特性开关):SSL/TLS 解密、SCTP、ICMP、VXLAN/TZSP 隧道封装、HEP(9060,EE)、IPFIX(4739,EE)、DPDK 高性能采集、WebSocket 传输(EE)。
- 安全(2026.1.1+):Twig OAuth2 支持增强、新增 OAuth2 API key 认证、用户操作安全审计。
五、快速开始
SIP3 官方推荐的最小拓扑是:一台 PBX(Asterisk/FreeSWITCH 等)上安装 Captain 作为代理,另一台服务器以"单体应用"方式安装 Salto + Twig + Hoof + 存储组件。三条官方部署路径:
- apt 软件源(版本最新,2026.2.1):配置
repo.sip3.io源后直接apt install sip3-captain-ce等四个包,由 systemd 托管;官方安装指南明确仅支持 Debian ≥ 10 与 Ubuntu 20.04/22.04/22.10。 - 官方镜像(版本滞后,2025.2.1):
sip3/sip3-captain-ce等四个镜像,通过容器环境变量渲染内置 Jinja2 配置模板,适合自行编排。 - sip3-ansible(release/2025.3.2):inventory 描述拓扑后
ansible-playbook -i inventories/xxx.yml playbooks/sip3.yml一键部署全套组件(tags 分 storage/frontend/backend),支持--connection=local本机部署。
本专栏后续文章分别提供SIP3 2026.2.1 Ubuntu 22.04 安装指南(apt + systemd 路径)与SIP3 2025.2.1 Docker Compose 部署指南(官方镜像路径)的完整实测过程;配置层面的逐项参数说明见SIP3 2026.2.1 配置参数详解。
六、适用场景与限制
6.1 适用场景
- PBX/SIP 中继运维监控:Asterisk、FreeSWITCH、FreePBX、Kamailio、openSIPS 等话音环境的呼叫级实时监控与排障,Captain 直接装在 PBX 上即可起步。
- 语音质量分析:RTP/RTCP 全链路 MOS/R-factor 统计,定位单通、回声、丢包、单向媒体。
- 反欺诈与异常检测:Wangiri 回拨欺诈、注册风暴、信令重放检测(官方教程提供 UDF 方案)。
- 自托管 CDR 与审计:呼叫明细落 MongoDB,可经 Twig REST API 对接自有工单/计费/报表系统。
6.2 限制与注意事项
- 发布渠道版本差异是主要坑点:官方镜像止步 2025.2.1、ansible 分支止步 2025.3.2,而 apt 源已达 2026.2.1;要跑最新版只有 apt 路径,且官方文档(面向 2026.1.1 的逐组件 playbook 写法)先行于制品发布。
- 存储组件需自备:MongoDB、InfluxDB、Grafana 不属于 SIP3 组件,需随栈一并部署与维护;MongoDB 集合按天分片、默认 30 个集合轮转,长保留期需调大
max_collections并评估磁盘。 - Java 运行时开销:四个 Java 组件默认 JVM 堆偏大(如 512M/1024M),小型环境需手工下调并验证。
- CE 与 EE 边界:HEP/IPFIX 接入、WebSocket 传输、媒体按需录制、OAuth2 细粒度角色等能力在 EE 或特性开关之下,CE 版评估时不要按全功能清单预期。
- 社区规模有限:组件仓星标为几十至一百量级(2026-10-26 实测),无正式 GitHub Release(版本经 apt 源/镜像分发),遇到问题更依赖官方文档与付费支持。
七、同类选型对比
任务线索中提到的"SIP Inspect"经核实(2026-10-26)并非一个独立的知名开源项目——该名称常见于防火墙设备(如 Cisco ASA 的 SIP inspect 应用层检测)的功能术语;语义上最接近的开源 SIP 报文检查工具是 sngrep,故下表以 sngrep 代表"轻量抓包检查"一类,与两大平台级方案对比。
7.1 量化对比表(数据核实日期 2026-10-26)
| 对比维度 | SIP3 CE(2026.2.1) | SIPCAPTURE Homer | sngrep |
|---|---|---|---|
| 定位 | 呼叫级集中分析平台(采集→聚合→检索→可视化一体) | HEP/EEP 抓包监控生态(captagent + Heplify/Homer + WebAPP) | 终端 SIP 消息流查看器(ngrep 的 SIP 专版) |
| 开源许可 | Apache-2.0 | AGPL-3.0 | GPL-3.0 |
| GitHub 星标 | captain 80 / salto 78 / twig 61(分仓) | 2k(sipcapture/homer) | 1.2k(irontec/sngrep) |
| 技术栈 | Java(Vert.x + Spring Boot) | Go + JavaScript(新一代 heplify-server + homer-webapp) | C(ncurses) |
| 存储依赖 | MongoDB + InfluxDB(自带 schema 与轮转) | ClickHouse / PostgreSQL(Homer 7+) | 无(终端实时/pcap 离线) |
| Web 界面 | Hoof 专用 UI + Grafana 仪表盘 | Homer WebAPP | 无 |
| 协议覆盖 | SIP/RTP/RTCP/DTMF/ISUP;EE 含 HEP/IPFIX/SSL/SCTP/VXLAN/TZSP/DPDK | SIP/RTC 任意 HEP 封装(HEP1-3),生态内 captagent 支持 HLS/SSL 等 | SIP over UDP/TCP(TLS 部分) |
| 部署复杂度 | 4 组件 + 3 存储依赖,apt/镜像/ansible 三路径 | captagent + server + webapp 三件套,官方 compose | 单二进制,apt 直接安装 |
| 扩展机制 | UDF 自定义函数(MongoDB 管理)、REST/OpenAPI 对接 | HEP 协议生态、多采集器并发接入 | BPF 过滤、pcap 读写 |
| 适用规模 | 载级横向扩展设计(组件独立伸缩) | 载级(ClickHouse 支撑海量记录) | 单机调试 |
| 商业支持 | 官方 EE 版本 + 付费支持 | QXIP 商业支持 | 社区支持 |
7.2 选型建议
- 需要完整"搜索 + 呼叫流程图 + 质量指标"的 Web 平台且倾向宽松许可(Apache-2.0、允许闭源集成):选 SIP3。其呼叫聚合模型、UDF 扩展和 REST API 对二次开发更友好;接受点是要自建 MongoDB/InfluxDB 且注意发布渠道版本差异。
- 已有 HEP 生态(如 Kamailio 自带 HEP、多厂商采集器混合接入)或希望用 ClickHouse 做海量信令留存:选 SIPCAPTURE Homer。HEP 协议开放、社区规模最大(2k 星)、AGPL-3.0 对自用无碍但集成发行需注意传染性。
- 只是临时抓包看一次信令流、或 SSH 进 PBX 快速排障:选 sngrep。零依赖单工具,不落库不做聚合,与平台级方案是互补而非竞争关系(生产环境常见组合:sngrep 日常排障 + SIP3/Homer 长期监控)。
八、参考链接
- 官网:https://sip3.io
- 文档(安装指南/Release Notes/Features):https://sip3.io/documentation/
- GitHub 组织:https://github.com/sip3io
- 组件仓库:https://github.com/sip3io/sip3-captain-ce 、https://github.com/sip3io/sip3-salto-ce 、https://github.com/sip3io/sip3-twig-ce
- Ansible 部署工程:https://github.com/sip3io/sip3-ansible
- apt 软件源:https://repo.sip3.io
- Docker Hub:https://hub.docker.com/u/sip3
- 许可证:https://www.apache.org/licenses/LICENSE-2.0
- 同类项目:https://github.com/sipcapture/homer 、https://github.com/irontec/sngrep