资讯动态

MDD Sim Gateway 短信与彩信收发指南:APN、MMSC 与独占 AT 口配置详解

发布时间:2026/11/6 6:36:38 来源:尧图企业网站定制
MDD Sim Gateway 短信与彩信收发指南APN、MMSC 与独占 AT 口配置详解MDD Sim Gateway 是一款自托管的 SIM/eSIM 通信网关把物理 SIM 和 eSIM 变成自己可控的 VoWiFi 通话、短信、蜂窝数据与独立网络出口。本文面向新手详解短信与彩信收发的完整链路短信发送通道如何选、APN 与 MMSC 如何自动识别与手动填写以及让彩信发送提速上百倍的独占 AT 口配置原理与验证方法。 工作原理短信与彩信走的是两条不同链路在动手配置前先理解两个关键事实消息类型到达方式依赖什么短信SMSVoWiFi 经 Asterisk 引擎送达或 4G 注册时由 ModemManager 独立接收 3GPP 短信线路已注册VoWiFi 或蜂窝网络彩信MMS第一步WAP Push 通知以短信形式到达VoWiFi 或 4G 均可第二步网关通过 HTTP 从运营商 MMSC 取回正文通知到达 MMSC 可达彩信最容易被忽略的一点MMSC 通常只在运营商的彩信 APN 内可达公网和普通上网 APN 根本访问不到域名甚至在公共 DNS 里都解析不出来。这就是通知收到了、彩信却下不下来的常见根源。 短信收发发送通道选择与模块存储策略登录网关后进入左侧短信页即可跨模块查看所有 SIM 的会话发送通道输入框下方可选择自动优先 VoWiFi或蜂窝通道。VoWiFi 在线时优先走 VoWiFi否则走 4G 模块。长短信网关自动处理长短信拼接UDH 分段收发都能正确重组。模块短信存储策略4G 模块的短信写入网关数据库后默认会从模块/SIM 存储中删除避免存储写满后收不到新短信。可用环境变量MDD_CELLULAR_SMS_STORAGE调整为delete入库后删除默认、when_full存储将满时删最早的、keep始终保留when_full按MDD_CELLULAR_SMS_STORAGE_LIMIT默认 20 条或ATCPMS?读到的容量计算。详见 docs/INSTALL.md 与 control/app/cellular_sms.py。 彩信配置第一步让网关自动识别 APN 与 MMSC在短信页打开对应线路的彩信设置对话框。网关会按 SIM 的 MCC/MNC 从mobile-broadband-provider-info数据库中查出该运营商的彩信 APN、MMSC 与代理并在对话框底部显示例如已检测到某运营商 · APN mms · MMSC http://mms.xxx.com · 代理 10.0.0.100:8080常见字段说明字段说明启用 / 自动下载是否开启彩信收到通知后是否自动取回正文通道自动优先模块、ModemQuectel 内置 TCP/IP、主机网络APN / MMSC 地址 / 代理查不到时手动填写MMSC 需http://开头代理格式host:port账号 / 密码少数运营商彩信 APN 需要鉴权时使用大小上限KB每条彩信的最终报文上限默认 300 KBUser-Agent默认Android-Mms/2.0个别运营商可改写如果界面提示未检测到运营商设置说明该 SIM 的网络代码不在内置数据库中——这时手动填写 MMSC 是启用彩信的前提。实现见 webui/src/views/MmsSettings.jsx查询逻辑见 control/app/mms_transport.py。 彩信配置第二步模块通道 vs 主机网络MMSC 藏在彩信 APN 里而主机通常走上网 APN于是有了两种取回正文的方式模块通道modem在 SIM 所在蜂窝模块内部临时激活彩信 APN用 Quectel 内置 TCP/IP 协议栈ATQICSGP/QIACT/QIOPEN收发 HTTP不占用主机数据连接、不改动主机路由。要求 ModemManager 以--debug运行SIM 桥接同样需要。验证模块是否支持mmcli -m 0 --commandATQICSGP?返回QICSGP:即可用报错则说明命令通道未开启或模块不支持只能改用主机网络。主机网络host直接从主机网络发 HTTP 请求仅当主机能访问到该 MMSC 时才可用例如部署方已把 MMS APN 路由给主机。⚠️ 注意经 ModemManager 命令通道转发时上传指令以SEND OK结束而 ModemManager 不认每段都要等超时速度约100 字节/秒且超过 4 KB 的请求会被直接拒绝。因此这条慢通道只用于下载和回执——这也引出了下一节的正题。⚡ 独占 AT 口彩信发送提速的关键配置问题发送彩信时如果 AT 指令仍经 ModemManager 转发同样要忍受 100 字节/秒的速度连续超时 10 次后 ModemManager 还会判定模块失效。100 KB 的彩信按这个速度要传 15 分钟以上完全不可用。解法安装程序会写入/etc/udev/rules.d/78-mdd-mms-at-port.rules由 install.sh 完成让 ModemManager 忽略 Quectel 模块中被标记为备用AT 口ID_MM_PORT_TYPE_AT_SECONDARY的端口主 AT 口和 QMI 仍归 ModemManager 管理。网关在每台模块的端口列表中找出这个备用口并独占使用通过提示符驱动的二进制发送通道上传彩信速度约 100 KB / 3 秒多台模块各自用自己的备用口不同模块的彩信收发并行同一模块上依次进行也可用环境变量MDD_MMS_AT_PORT显式指定端口设备。验证是否生效mmcli -m 0端口列表中备用 AT 口显示为(ignored)即代表已交给网关独占。两个边界情况要知道只有一个 AT 口的模块无法独占发送彩信会报错并说明原因但下载不受影响写入或删除该 udev 规则时会重启 ModemManager4G 数据连接会短暂断开属正常现象。完整原理见 docs/TROUBLESHOOTING.md。 附件格式与大小限制发之前先过这关网关按文件内容而非扩展名判断附件是否合法添加时即检查被拒绝的文件不会进入待发送列表策略格式直接发送JPEG、GIF、PNGAMR、AMR-WB、MP3、AACm4a3GP / MP4 视频H.263 / MPEG-4 / H.264配 AMR 或 AAC 声音纯文本vCard 2.1/3.0vCalendar 1.0 / iCalendar 2.0自动转换WebP、BMP、HEIC/HEIF、AVIF → 转成 JPEG 后发送仅接收其他格式如 MOV、WAV、WBMP保存并提供下载无法预览常见被拒原因iPhone 默认录制的 HEVCH.265视频请导出为 H.264、vCard 4.0请导出为 3.0。图片附件会由网关在线路限额内压缩最长边 1600 像素起去掉拍摄位置等元数据多条附件可合并为一条或每张单独发送大小上限针对打包后的整条报文计算提交 MMSC 前超时会拒绝。格式表定义在 control/app/mms_media.py。️ 常见问题排查清单状态未知请求已发出但没收到 MMSC 答复。为避免对方收到两条彩信网关不会自动重发需人工判断。可重试的失败上传中途被模块拒绝、或连接未建立时MMSC 不可能收到完整请求网关会在 3 秒 / 10 秒后换新连接重发三次失败才标记失败错误信息里带有模块原始答复。通知已过期模块离线期间积压、超过 MMSC 保存期限的通知直接标记已过期不请求 MMSC但仍可手动重试。彩信收不到先查两件事线路是否注册VoWiFi 或 4G、MMSC/APN 是否正确。建议在概览页确认线路状态 相关文件索引内容路径彩信故障排查全文APN、MMSC、独占 AT 口、附件策略docs/TROUBLESHOOTING.mdMMSC HTTP 传输modem/host 通道、provider 查询control/app/mms_transport.py蜂窝短信收发与存储策略control/app/cellular_sms.py附件格式与压缩策略control/app/mms_media.py彩信设置对话框前端webui/src/views/MmsSettings.jsx短信/彩信主页面前端webui/src/views/Messages.jsxudev 独占 AT 口规则写入install.sh按以上步骤走完——短信通道、MMSC 识别、彩信通道、独占 AT 口四项确认无误后建议收发一条真实短信和一条带图彩信做验收之后这套自托管网关的短信与彩信能力就可以放心交给日常使用了。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑