跳到主要内容

技术规格指标

本节汇总 RustPBX 的兼容性、性能假设、外部依赖与可扩展边界,方便在规划容量或做架构评审时引用。

1. 支持矩阵

项目说明
操作系统64-bit Linux(Debian 11+/Ubuntu 20.04+/CentOS Stream);亦可在容器/Kubernetes 中运行
数据库默认 SQLite;生产建议 PostgreSQL/MySQL,models 层使用 SeaORM 统一管理
SIP 编解码G.711a/u、G.729、Opus、G.722、iLBC(可在 Trunk/分机配置指定)
传输协议UDP/TCP/TLS for SIP,RTP/SRTP for 媒体,WebSocket/WebRTC for 浏览器客户端
控制台Web UI(React+Docusaurus 文档)、REST/AMI 管理接口

2. 性能参考

说明:由于场景差异较大,下列为在 4C/8G、启用 SRTP 的常见经验值,实际需结合压测工具 examples/perfcli.rs 验证。

  • 并发呼叫:单实例 500~800 并发为常见区间,取决于编解码与录音策略。
  • 每秒呼叫建立数(CPS):轻量场景可达 30+ CPS,需结合运营商节流策略。
  • 延迟:内部处理延迟 < 20ms,端到端取决于网络质量。

3. 可观察性与接口

  • 健康探针handler::ami 暴露 /health,可供负载均衡或黑盒探测;perfcli 亦可批量检测节点状态。
  • 日志:通过 log_levellog_file 控制 tracing 输出,方便采集到 ELK/Loki;HTTP 访问日志可借助 AccessLogEventFormat
  • Diagnostics UItemplates/console/diagnostics.html 提供 WebRTC probe、Trunk/Route Evaluate、Web Dialer,满足大部分排障需求。
  • Webhook/AMIhandler/ami.rshandler/llmproxy.rs 可扩展事件回调或对接外部语音机器人。

4. 安全与合规

  • 加密:支持 TLS/SRTP、WebRTC DTLS,证书可由 addons/acme 管理。
  • 鉴权:分机级/SIP Trunk 级凭证,控制台支持自定义中间件(console/middleware.rs)。
  • 审计:通话记录与操作日志可导出满足监管留存,需自行配置保留周期。

5. 扩展点

  • Addonsaddons/wholesaleaddons/acme 等示例,开发者可新增目录实现行业扩展。
  • Playbook/LLMplaybook/llm/ 提供 AI 语音场景接口,可与外部模型通信。
  • Handlerhandler/ 目录中为自定义 API/协议入口,可增加 Webhook、gRPC 等。

6. 部署与容灾建议

  • 多实例部署:建议至少两台节点 + 共享数据库,结合外部 SBC 或负载均衡实现流量分配。
  • 状态同步:活跃呼叫信息保存在 proxy/active_call_registry.rs,多实例需借助外部 Redis/数据库共享或按业务分区。
  • 备份:配置文件使用 Git 管理;数据库定期快照;录音/文件可放对象存储。

如需官方基准数据,可参考 docs/specs 后续发布的性能报告,或在测试环境运行 cargo bench 与自定义压测脚本获得更精确结果。