跳到主要内容

基础配置

本章节帮助你从零搭建一套可用的 RustPBX 实例,包括环境要求、安装、初始化配置与基础验证。所有步骤均以中文说明,方便交付与培训。

1. 前置条件

  • 运行环境:推荐 4C/8G 以上的 x86_64 Linux(Debian/Ubuntu/CentOS 均可)。
  • 依赖:Docker 或 Podman(容器部署),或已安装 Rust toolchain(裸机编译),以及 SQLite/PostgreSQL(按照 Cargo.toml 中的 feature 选择)。
  • 网络:服务器需要固定公网 IP,开放 SIP/HTTPS/诊断端口,并将运营商或 SBC 的 IP 加入安全组。
  • 证书:若启用 WebRTC/HTTPS,需要准备 TLS 证书,可由 addons acme 自动签发。

(此处可插入「部署拓扑」截图)

2. 安装方式

2.1 商用镜像部署(推荐)

  1. 准备 config.tomlconfig/ 目录(详见下一节)。
  2. 拉取官方镜像:docker pull docker.cnb.cool/miuda.ai/rustpbx:latest
  3. 启动示例:
docker run -d --name rustpbx \
-v $(pwd)/config.toml:/app/config.toml \
-v $(pwd)/config:/app/config \
-v $(pwd)/rustpbx.sqlite3:/app/rustpbx.sqlite3 \
-p 8080:8080 -p 15060:15060/udp \
docker.cnb.cool/miuda.ai/rustpbx:latest
  1. 在 Compose/Kubernetes 中同样引用该镜像,并将配置与数据库挂载为持久卷;日志默认写到 stdout/stderr,便于集中收集。

2.2 裸机部署

  1. 安装 Rust(rustup default stable)。
  2. 在项目根执行 cargo build --release,可得到 target/release/rustpbx
  3. 将二进制放入 /usr/local/bin,配合 systemd/supervisor 启动。

3. 初始化配置

RustPBX 的运行参数主要来自 config.tomlconfig/ 子目录:

  1. config.toml:全局服务段([proxy][ua][console][recording][callrecord] 等)以及插件启停;建议先填写监听地址(http_addrproxy.addr)、鉴权方式(proxy.user_backendsconsole.allow_registration)与日志级别。
  2. Trunk 文件:在 config/trunks/ 下按模板新增 *.toml,包含 uriauthcodec 等字段。
  3. Routing 文件:在 config/routes/ 中定义入站/出站匹配规则,并指向分机、队列或 Trunk。
  4. Queue/ACL:如需排队和安全策略,分别在 config/queue/config/acl/ 中准备对应文件。
  5. 数据库迁移:启动时自动初始化 models/ 中定义的表结构。

(此处可插入「config 目录结构」截图)

4. 启动与首个登录

  1. 启动服务后访问控制台地址(默认 https://<host>:<port>/console/)。
  2. 通过 console 段配置的管理员账号登录,首次登录建议立即修改密码并开启多因素认证(若已集成)。
  3. 在控制台的「系统状态」页确认组件全部 Healthy,若有告警先排查网络/证书问题。

5. 快速验证清单

  1. 创建测试 Trunk:录入运营商或软交换的测试线路。
  2. 添加路由:为测试号段配置 inbound/outbound 路由,动作指向一个临时分机。
  3. 注册软终端:在「分机管理」中创建分机,并在软电话/SIP 设备上完成注册。
  4. 发起测试呼叫:验证主叫与被叫均能建立通话,录音与 CDR 正常生成。
  5. 执行 Reload:通过控制台 Settings → Reload,使配置立即生效,并在 Diagnostics → Routing 运行一次 Evaluate,确认命中的规则与输出的 Trunk。

完成以上步骤后,系统即可承载初始业务流量。更深入的线路策略、计费和诊断方法请参见后续章节。