FreePBX 运行在 Asterisk 之上,系统管理涉及 FreePBX 本身、Asterisk 及 Linux 服务器。
📌 1. FreePBX 相关命令
FreePBX 提供 fwconsole
工具,用于管理 FreePBX 和 Asterisk。
🔹FreePBX 服务管理
fwconsole restart # 重启 FreePBX & Asterisk
fwconsole stop # 停止 FreePBX & Asterisk
fwconsole start # 启动 FreePBX & Asterisk
fwconsole reload # 重新加载配置(不重启)
fwconsole chown # 修正 FreePBX 文件权限(常用于修复错误)
fwconsole restart --force # 强制重启 FreePBX
🔹模块管理
fwconsole ma list # 查看已安装模块
fwconsole ma upgradeall # 更新所有 FreePBX 模块
fwconsole ma install <模块名> # 安装模块
fwconsole ma remove <模块名> # 卸载模块
fwconsole ma enable <模块名> # 启用模块
fwconsole ma disable <模块名> # 禁用模块
示例:安装和更新 SIP Trunk 模块
fwconsole ma install sipsettings
fwconsole ma upgrade sipsettings
🔹网络与防火墙
fwconsole firewall start # 启动 FreePBX 防火墙
fwconsole firewall stop # 关闭 FreePBX 防火墙
fwconsole firewall list # 查看防火墙规则
fwconsole firewall trust <IP> # 添加受信任 IP
🔹用户 & 访问
fwconsole unlock <用户名> # 解锁用户
fwconsole admin resetpass <用户名> <新密码> # 重置管理员密码
📌 2. Asterisk 相关命令
Asterisk 是 FreePBX 的核心,使用 asterisk -r
进入 CLI。
🔹Asterisk CLI
asterisk -r # 进入 Asterisk CLI
asterisk -rvvvvv # 以详细模式进入 Asterisk CLI
exit # 退出 CLI
🔹查看 Asterisk 运行状态
core show version # 查看 Asterisk 版本
core show uptime # 显示 Asterisk 运行时间
core show calls # 查看当前呼叫数
core show channels # 查看当前通话通道
🔹SIP 相关命令
pjsip show endpoints # 查看所有 PJSIP 分机
pjsip show registrations # 查看注册的 SIP Trunk
sip show peers # 查看所有 SIP 设备
sip show registry # 查看 SIP 服务器注册状态
🔹监控通话
core show channels # 查看所有通话
core show calls # 统计当前通话数
core show channel <通道名> # 查看指定通道详情
🔹监听 & 录音
chanspy <分机号> # 监听指定分机通话
mixmonitor <通道名> # 录音指定通话
📌 3. Linux 服务器管理
如果 FreePBX 运行在 CentOS/Debian/Ubuntu 服务器上,你需要 Linux 命令进行维护。
🔹系统管理
systemctl status freepbx # 查看 FreePBX 运行状态
systemctl restart freepbx # 重启 FreePBX
systemctl status asterisk # 查看 Asterisk 运行状态
systemctl restart asterisk # 重启 Asterisk
🔹网络配置
ip a # 查看网络接口信息
netstat -tulnp | grep 7080 # 确认 FreePBX 是否在监听 7080 端口
iptables -L -n -v # 查看防火墙规则(CentOS 7 及以下)
firewall-cmd --list-all # 查看 firewalld 规则(CentOS 8 及以上)
ufw status # 查看 UFW 防火墙状态(Ubuntu/Debian)
🔹日志分析
tail -f /var/log/asterisk/full # 实时查看 Asterisk 日志
less /var/log/asterisk/full # 查看 Asterisk 历史日志
journalctl -u asterisk --no-pager # 查看 Asterisk 系统日志
📌 4. FreePBX 用户维护
🔹创建分机
- 进入 FreePBX Web 界面
- Applications → Extensions → Add Extension
- 选择 PJSIP
- 配置:
- User Extension:
1001
- Display Name:
User1
- Secret (SIP 密码):
自动生成
- User Extension:
- Submit & Apply Config
🔹修改分机密码
asterisk -rx "database put AMPUSER 1001/password 新密码"
🔹删除分机
asterisk -rx "database deltree AMPUSER 1001"
🔹查看所有已注册分机
pjsip show endpoints
🔹检查某个分机是否在线
pjsip show contacts 1001
📌 5. 备份 & 恢复
🔹手动备份
fwconsole backup --backup=全备份
或者进入 Web 界面 Admin → Backup & Restore → Create Backup
🔹恢复备份
fwconsole backup --restore=备份文件路径
📌 6. 解决常见问题
🔹无法拨打外线
pjsip show registrations # 确保 Trunk 正常注册
pjsip show endpoints # 确保分机正常注册
检查防火墙是否阻挡 7080/UDP 端口:
iptables -L -n -v | grep 7080
或者
firewall-cmd --list-ports
🔹FreePBX Web 界面打不开
fwconsole restart # 重启 FreePBX
如果仍然无法访问:
systemctl restart httpd # 重启 Apache(CentOS)
systemctl restart apache2 # 重启 Apache(Ubuntu/Debian)
🔹分机无法注册
- 检查 FreePBX 是否监听正确端口
netstat -tulnp | grep 7080
- 确保分机使用正确的域名
- 检查防火墙 & NAT 设置
fwconsole firewall list
确保 pbx.yourdomain.com
解析正常:
nslookup pbx.yourdomain.com