FusionPBX 是基于 FreeSWITCH 的多租户 PBX,原生支持多租户,并且对 SIP Trunk、分机管理、拨号规则提供了灵活的配置方式。
本文将详细介绍如何在 公网 FusionPBX 服务器上完成以下配置:
✅ 对接 Twilio SIP Trunk
✅ 上传 IVR 语音导航
✅ 修改注册端口 5060 → 7080
✅ 配置出局路由
✅ 创建话机分组 & 分组振铃
✅ 限制分机只能通过域名注册
📌 1. 对接 Twilio SIP Trunk
Twilio SIP Trunk 允许公网 FreeSWITCH/FusionPBX 直接对接 Twilio 进行语音通信。
🔹 1.1 添加 Twilio SIP Trunk
- 登录 FusionPBX 管理界面(通常是
https://yourdomain.com
)。 - 进入 “Accounts” → “Gateways”。
- 点击 “Add Gateway”,填写如下信息:
- Gateway:
Twilio
- Username:
你的 Twilio 账号
- Password:
你的 Twilio 账号密码
- Proxy:
your_twilio_domain.pstn.twilio.com
- Realm:
your_twilio_domain.pstn.twilio.com
- From User:
你的 Twilio 账号
- From Domain:
your_twilio_domain.pstn.twilio.com
- Register:
True
- Transport:
UDP
(或根据 Twilio 要求选择 TLS) - Context:
public
- Expire Seconds:
3600
- Retry Seconds:
30
- Ping:
True
- Gateway:
- 点击 “Save & Apply” 使配置生效。
- 重启 FusionPBX SIP 服务
systemctl restart freeswitch
- 测试 Trunk 连接
fs_cli -x "sofia status gateway Twilio"
如果返回
REGED
,说明 Twilio 连接成功。
📌 2. 上传 IVR 语音导航
IVR 允许来电者通过按键选择不同的服务,如客服、销售、技术支持等。
🔹 2.1 上传语音文件
- 进入 “Apps” → “Recordings”。
- 点击 “Upload”,选择
.wav
或.mp3
语音文件(建议格式 16-bit, 8kHz, Mono)。 - 录音名称可以设为
Main_IVR
。 - 点击 “Save”。
🔹 2.2 创建 IVR
- 进入 “Dialplan” → “IVR Menu”。
- 点击 “Add”,设置:
- IVR Menu Name:
Main_Menu
- Greeting:
Main_IVR
- Timeout:
5s
- Invalid Retries:
3
- Direct Dial:
Enable
- IVR Menu Name:
- 配置按键映射
1 → 业务部
2 → 客服
3 → 技术支持
0 → 语音信箱
- 点击 “Save & Apply”。
📌 3. 修改 FreeSWITCH 注册端口 5060 → 7080
- 编辑 SIP 配置文件
nano /etc/freeswitch/sip_profiles/internal.xml
- 找到
5060
端口,将其改为7080
:<param name="sip-port" value="7080"/>
- 重启 FreeSWITCH
systemctl restart freeswitch
- 确认端口监听
netstat -tulnp | grep freeswitch
确保
7080
端口在监听。
📌 4. 配置出局路由
🔹 4.1 创建出局路由
- 进入 “Dialplan” → “Outbound Routes”。
- 点击 “Add”:
- Route Name:
Twilio_Out
- Gateway:
Twilio
- Dialplan Expression:
_X.
(匹配所有外部号码) - Action:
Transfer ${destination_number} XML default
- Route Name:
- 点击 “Save & Apply”。
📌 5. 创建话机分组 & 分组振铃
🔹 5.1 创建 Ring Group
- 进入 “Apps” → “Ring Groups”。
- 点击 “Add”:
- Ring Group Name:
Support_Team
- Ring Group Extension:
600
- Strategy:
Simultaneous
(所有话机同时响铃) - Destinations:
1001
(客服1)1002
(客服2)1003
(客服3)
- Timeout Destination:
Voicemail
- Ring Group Name:
- 点击 “Save & Apply”。
- 在 IVR 中绑定分组
- 进入 IVR Menu,将
按键 2
绑定到Ring Group 600
。
- 进入 IVR Menu,将
📌 6. 只允许分机通过域名注册
🔹 6.1 限制 FreeSWITCH 只允许域名注册
- 进入 “Advanced” → “SIP Profiles”。
- 编辑 Internal Profile:
- External SIP Server:
pbx.yourdomain.com
- NAT Traversal:
Auto
- External SIP Server:
- 进入防火墙配置
ufw allow from pbx.yourdomain.com to any port 7080 proto udp ufw reload
🔹 6.2 确保租户只允许域名注册
- 进入 “Accounts” → “Domains”。
- 选择
pbx.yourdomain.com
作为唯一允许的注册域。
📌 7. 远程话机注册(企业内网)
如果话机在企业内网,而 FusionPBX 在公网,需要正确的 NAT 配置:
🔹 7.1 配置 STUN & NAT
- 进入 “Advanced” → “Variables”:
- external_sip_ip:
pbx.yourdomain.com
- nat_traversal:
Auto
- STUN Server:
stun.l.google.com:19302
- external_sip_ip:
- 内网话机设置
- SIP Server:
pbx.yourdomain.com:7080
- Outbound Proxy:
pbx.yourdomain.com:7080
- Transport:
TLS
- SIP Server: