本文讲语音网关侧。不同固件菜单名称可能略有差异,但核心都是:SIM 卡正常、网关整机注册 FreePBX、呼入呼出路由打通。
设备与限制
旧款 SMG4004-4LC 常见特点:
- 4 个 SIM 卡槽;
- 可做 GSM/GOIP 语音网关;
- 部分老硬件只支持 2G 通话和短信;
- 支持 SIP 注册到 PBX;
- 短信可通过 HTTP API、SMTP、SMPP 或设备自带接口处理,具体看固件。
使用前先确认本地运营商还支持设备可用的制式。很多地区 2G 退网后,老设备会出现可识别 SIM 但无法稳定驻网的问题。
旧文中的设备和卡槽界面截图:


网络规划
示例:
| 项目 | 示例 |
|---|---|
| FreePBX | 10.20.20.60 |
| SMG4004 | 10.20.20.74 |
| SIP 传输 | UDP |
| FreePBX chan_sip 端口 | 5160 |
| 中继账号 | smg4004 |
网关后台、FreePBX 后台和 SIP 信令都建议只放在内网或 VPN 内,不要直接暴露公网。
FreePBX 侧先确认基础页面和 SIP 端口设置无误:


如果前面有软路由或防火墙,也要确认 SIP 与 RTP 所需端口已经在内网策略里放行:

升级固件
旧设备到手后,第一步不是接 PBX,而是确认固件版本。
建议检查:
- 设备型号是否和固件完全匹配。
- 是否支持当前 SIM 卡运营商网络。
- 是否有短信 API 或短信转发相关功能。
- 升级前导出当前配置。
固件升级失败可能导致设备不可用,所以不要跨型号刷,也不要在不稳定供电环境下升级。
SIM 卡检查
插卡后先在网关后台确认:
- 卡槽识别正常;
- 信号强度正常;
- 运营商注册成功;
- 能看到号码或 IMSI;
- 单卡手动测试呼出成功;
- 外部手机拨入该 SIM 卡能触发网关呼入。
如果这一步不通,FreePBX 配再好也没用。先解决 SIM、天线、制式、信号和运营商限制。
SMG4004 测试呼叫相关界面参考:



注册到 FreePBX
在 FreePBX 里提前准备好 chan_sip 中继,例如:
host=dynamic
port=5160
type=peer
secret=CHANGE_TO_A_LONG_RANDOM_PASSWORD
context=from-pstn
dtmfmode=rfc2833
insecure=no
qualify=3000然后到 SMG4004 后台的 SIP 注册页面,选择整机注册或网关注册,不建议一开始按每个端口分别注册。填写:
| 项目 | 示例 |
|---|---|
| SIP Server | 10.20.20.60 |
| SIP Port | 5160 |
| Username | smg4004 或 FreePBX 中继名 |
| Password | FreePBX 中继 secret |
| Register Mode | Gateway / Whole Gateway |
| Transport | UDP |
保存后回到 FreePBX 控制台查看是否注册:
asterisk -rvvv
sip show peers如果看到网关对应 peer 为 OK 或可达,说明 SIP 注册基本成功。
FreePBX 创建中继时可以对照下面几张旧文截图:




呼出路由
呼出路径是:
SIP 分机 -> FreePBX 出站路由 -> SMG4004 中继 -> SIM 卡 -> 被叫号码FreePBX 出站路由可以先用最简单的 X. 规则,确认从分机直接拨手机号能送到网关。
网关侧通常需要配置:
- IP/Tel Routing;
- SIP to Mobile;
- Outbound Route;
- Call Route;
- Port Group。
名称因固件不同会变,但逻辑是把来自 FreePBX 的 SIP 呼叫送到一个或多个 SIM 卡口。测试阶段可以先固定走第 1 个卡口,稳定后再做轮询或分组。
出站路由旧文截图:



呼入路由
呼入路径是:
外部电话 -> SIM 卡 -> SMG4004 -> FreePBX 中继 -> 入站路由 -> SIP 分机网关侧要把移动网络来电送到 FreePBX 的 SIP Server。FreePBX 侧则用入站路由把呼叫送到某个分机或 Ring Group。
测试建议:
- 用外部手机拨 SIM 卡号码。
- 观察 SMG4004 是否显示来电。
- 观察 FreePBX 是否有 inbound call 日志。
- 观察 SIP 软电话是否振铃。
FreePBX 控制台可以实时看日志:
asterisk -rvvv最后保存 FreePBX 配置,并在 SMG4004 后台选择“整机注册”到 FreePBX:


DTMF 设置
网关和 FreePBX 的 DTMF 建议保持一致,常用:
RFC2833如果菜单、语音邮箱或按键转接异常,优先检查 DTMF。其次检查编解码器,先用保守的 alaw、ulaw 做测试。
常见问题
网关注册不上:
- FreePBX chan_sip 是否启用;
- 端口是不是
5160; - 中继密码是否一致;
- 防火墙是否放行内网 UDP 5160;
- 网关和 FreePBX 是否能互 ping。
能呼出但无声音:
- RTP 端口是否被防火墙拦截;
- FreePBX 的 Local Networks 是否填写;
- 是否跨 NAT;
- 网关和 FreePBX 是否在同一内网。
能注册但呼入不到分机:
- 网关移动到 SIP 的路由是否启用;
- FreePBX 是否有入站路由;
context=from-pstn是否正确;- 是否把呼叫送到了不存在的 DID。
下一步
电话链路跑通后,再处理短信。短信不要强行塞进 FreePBX;更推荐让网关通过 API、邮件或本地脚本把短信交给 Telegram Bot。