Air8784 整机使用说明
作者:王世豪 | 最后修改:2026-10-29
资源一览(快速入口)
本页即为 Air8784 整机的图文使用说明,下面先把最常用的四类资源列在开头,方便快速取用:
- 打包好的默认出厂固件(含内核,解压后的 .soc 文件可直接烧录):见第 11.3 节 打包出厂固件下载
- 出厂固件源码:LuatOS · module/Air8784/project/factory
- 视频教程(烧录调试、固件功能 + Web 前端 + 小程序综合演示):B 站 BV1tXHW66E9i
- 图文使用说明(本页):
- 烧录调试 → 详见《下载和调试》
- 固件功能与通话场景 → 第 5–9 节
- Web 前端(SIP 控制台) → 第 3、4、8 节
注意: 如果是自己下载出厂固件烧录到设备,且烧录时勾选了"清除 KV 分区",会把出厂已写入 fskv 的
test_done标志一并清掉,设备上电后默认进入产测模式(factory.lua),不会直接运行业务;需要发送TEST_DONE#指令(通过 USB 虚拟串口 VUART_0)写入标志并重启,才会进入业务模式(task_main.lua)。已出厂的设备已提前烧好该标志,上电即进业务模式,无需此操作;产测 / 业务模式的区别详见第 2 节。
1. 开箱:认识你的 Air8784
Air8784 不是单颗芯片,而是「主控 + 语音处理」的组合。Air8784 基于合宙 4G 模组 Air780EHM 和合宙回声抑制芯片 Air1103 设计—主控负责 4G 联网和业务逻辑,Air1103 负责回声抑制与通话音质。
1.1 硬件组成

1.2 上电与两个按键
按底板设计供电(典型 5V Type-C 或 VBAT),上电后主控自启。
设备这一侧只认两个物理按键:发起呼叫、接听来电、挂断,都由它们完成。
反过来,对端可以主动呼入设备——电脑 MicroSIP、手机 Linphone、另一台 Air8784,或经 SIP 服务器送来的呼叫,设备都会振铃,按 SOS 接听即可。

| 按键 | GPIO | 短按 | 长按 |
|---|---|---|---|
| SOS | GPIO20 | 发起任务 / 接听来电 | 无 |
| UP | GPIO21 | 无 | 挂断当前通话 |
上表的按键功能是出厂固件的默认定义,不是硬件写死的。后续可以自己通过软件二次开发修改按键逻辑(例如改成长按发起、双击播放留言等)。
2. 上电后:设备进了哪个模式
固件开机读取 fskv 中的 test_done 标志来决定走哪条路,这一步不需要你干预,但需要会看结果。
| fskv 状态 | 进入的模式 | 说明 |
|---|---|---|
| 无 test_done | 产测模式(factory.lua) | 未完成出厂烧录的状态 |
| 有 test_done | 业务模式(task_main.lua) | 本教程从这里开始,默认运行 CC(phone)分支 |
你拿到已出厂的设备,上电后应直接进入业务模式。日志里能看到「进入业务模式」字样,以及 SIP 自动注册成功「exsip init completed」:
这两行日志出现,说明网络和 SIP 账号都已就绪。但要注意:此时设备还不能拨号——它还没有呼叫目标。
注册成功 ≠ 能打电话。第一次上电默认进 CC(phone)模式,但设备此时还不知道打给谁,按 SOS 也拨不出去。
必须先在网页「设备设置 → SOS 设置」里选好通道、填好号码并提交下发,设备才有呼叫目标。任何通话场景都是这个顺序:先在控制台配好 SOS 通道,再用设备按键触发。
3. 准备:把设备挂到自己的合宙 IoT 账号
Air8784 的 SIP 体验平台认的是「合宙 IoT 账号 + 项目」,所以在登录控制台之前,要先把账号和项目备好,并把设备挂到自己名下。这一步只需做一次。
3.1 登录合宙 IoT 云平台
打开合宙 IoT 云平台,用手机号登录。CRM 与 IoT 是同一个合宙账号(账号即手机号),忘记密码可点「找回密码」重置:
https://iot.openluat.com/cloud/main
3.2 新建 8784_SIP 项目
- 进入「我的项目」。
- 点「新建项目」。
- 项目名称填 8784_SIP,项目描述随意,比如我这里填的是「测试 8784 的 SIP 通话」。
- 点「提交」。

3.3 把设备 IMEI 转移到 8784_SIP 项目
新设备默认在别的项目(如「合宙标准模块」)或别的账号下,需要转移到你自己的 8784_SIP 项目,SIP 体验平台才能管理到它。操作参考官方文档「合宙的设备如何归属到自己账号名下」:
https://docs.openluat.com/air780epm/product/attributioniot/
线上(IoT 平台)操作步骤如下:
- 登录 iot.openluat.com,进入「我的设备」。
- 输入设备 IMEI 查询当前归属;线下批量订单的设备通常先在「合宙标准模块」项目下。
- 点所选项目的「操作」,选择「批量转移」。
- 选择「转移到其他账号」或目标项目,并把目标项目设为 8784_SIP。
- 填设备 IMEI(单个设备直接填;多台可勾选「转移当前项目所有设备」,或上传含 IMEI 清单的 Excel),提交。
设备一旦设置到自己名下,合宙不再有权限转移。官方电商渠道(淘宝 / 微信商城)可在 crm.luatos.com 用订单号 + 快递单号自助设置归属;非官方渠道购买的设备请联系对应渠道客服协助。
4. 准备:登录 Air8784 SIP 控制台
平台地址(SIP 设备管理控制台):

- 打开上面的地址,会先进入「登录控制台 · Air8784」页面。
- 点击「使用合宙 IoT 账号登录」,跳转到合宙官方授权页。
- 用合宙 IoT 账号登录(手机号密码或微信扫码),授权后自动跳回控制台。

登录后进入设备管理工作台首页。左侧导航只有两项:设备管理(当前页,卡片式管理每台设备)与分组管理(层级分组与逐级拨打,详见第 8.5 节)。
工作台顶部可切换「项目」(默认 8784_SIP)、按 IMEI 筛选、刷新列表。每台设备一张卡片,卡片上直接给出常用操作:查看定位(地图)、设备设置(SIP / SOS 通道 / 音量 / TTS / 诊断,第 8 节)、通话记录(通话历史,第 8.4 节)、刷新状态(get_status 回传电量 / 经纬度 / SIP 状态),卡片右上角 版本(固件更新,第 12 节)。

设备卡片上的 SIP 状态由两部分叠加:在线与否来自账号在线状态接口(服务器侧注册状态,每 12 秒自动刷新);通话中 / 拨号中这类瞬时状态来自设备上报。卡片的电量、经纬度取自设备 get_status 回执(battery / location 段),点「刷新状态」可让设备重新上报。
5. 先搞懂 SIP 账号约定
服务器和账号当前是在软件中写死,你不需要手填服务器,只要理解「谁打给谁」。这是最容易搞混、也最值得先花两分钟看明白的一节。

| 项目 | 取值 |
|---|---|
| SIP 服务器 | cc.luatos.com |
| 端口 / 传输 | 8910 / UDP |
| 密码 | 123456 |
| 本机(设备)账号 | IMEI + 0 |
| 对端(软终端 / 另一台设备) | IMEI + 1 |
举例,若设备 IMEI 为 864317088102861:
- 设备自己注册为 8643170881028610@cc.luatos.com
- 它的对端软终端是 8643170881028611@cc.luatos.com
设备开机已自动用 IMEI 注册,所以你只需要保证对端(手机软终端)填的是 IMEI+1 这个账号、服务器 cc.luatos.com:8910、UDP、密码 123456。
注意:IMEI+0 / IMEI+1 是在 IMEI 末尾「追加」一个字符,不是把 IMEI 当数字做加法。例:IMEI 864317088102861 → 本机 8643170881028610,对端 8643170881028611。
密码:出厂默认就是 123456,与固件内置的一致,不需要额外分配(在「设备设置 → SIP 设置」里填写)。对端软终端注册不上时,优先核对这里的密码是否与设备一致。
6. 设备能怎么打电话:SOS 四通道
新网页把通话方式收敛为「设备设置 → SOS 设置」里的四个互斥通道,切换并提交即生效(详见第 8.2 节)。先分清这四个通道,你就知道该怎么搭对端、谁该拨谁:
| 通道 | 底层分支 | 设备角色 | 谁能发起 / 接听 |
|---|---|---|---|
| SIP | single | 设备本身就是一个 SIP 终端 | 设备按键可拨打电话;手机端 Linphone 或电脑端 MicroSIP 也可拨打设备账号 |
| SIP_CC | single | 设备作为 SIP↔CC 桥接 | 软终端(Linphone / MicroSIP)可拨打设备 SIP 账号,设备也可经此分支呼到配置的对端 |
| CC | phone | 设备作为蜂窝电话桥接 | 普通手机可直接拨打设备里 SIM 卡的号码;软终端经 SIP_CC 分支也能呼到设备 |
| 分组管理 | phone | 按层级逐级拨打分组内登记的 SIP 账号 | 用于多设备 / 多号码的逐级调度(详见第 8.5 节) |
四个通道互斥,只能有一种生效。在网页上提交某个通道,会清空设备里其余通道的号码(网页本机草稿仍保留)。
出厂默认运行 CC(phone 桥接) 分支,但设备第一次上电时还没有任何通道配置,按 SOS 拨不出去——必须先在「设备设置 → SOS 设置」里选好通道、填好号码并提交下发,设备才有呼叫目标。
四通道与底层分支的对应关系见第 8 节的四场景表。设备按键只是触发动作,「打给谁、按什么顺序打、没人接怎么办」由下发到设备的 SOS 配置决定。
7. 装好对端软终端:手机 Linphone / 电脑 MicroSIP
对端软终端就相当于「另一部电话」:设备按键拨号、或桥接发起的呼叫,最终都落到软终端账号(IMEI+1)上。下面用官方推荐的两款免费软件做对端。
通用填写参数(两款软件一致):服务器 / 域名 cc.luatos.com,端口 8910,传输 UDP,账号 = 你的设备 IMEI+1(例:8643170881028611),密码 123456。
7.1 电脑端 MicroSIP(Windows)
- 到官网 www.microsip.org/downloads 下载并安装 MicroSIP。
- 添加账号:SIP Server / Domain 填 cc.luatos.com,Port 填 8910,Username 填设备 IMEI+1,Password 填 123456,Transport 选 UDP。
- 保存后账号显示在线(注册成功)。
- 拨打设备:
(1)在 MicroSIP 里输入设备账号 IMEI+0 可以向设备发起呼叫;
(2)Air8784整机设备通过按键呼叫时,MicroSIP 会收到来电。

7.2 手机端 Linphone(安卓)
- 安装安卓版 Linphone(合宙分发地址 www.pgyer.com/53b4d12991b2582c45497671bfcb7201)。
- 添加 SIP 账号:Domain / 服务器填 cc.luatos.com,端口 8910,用户名填设备 IMEI+1,密码 123456,传输选 UDP。
- 注册成功后即可拨打设备账号 IMEI+0,或接收设备来电。



软终端账号必须用 IMEI+1,不要填 IMEI+0——那是设备自己的账号,重复登录会冲突注册不上。
8. 设备设置与四类通话场景
四类场景都由网页对每台设备独立下发配置,再由设备按键触发呼叫。和旧版「先建任务、再检查并下发」不同,新网页取消了集中的任务概念:在「设备设置」面板里改好参数,每一栏独立提交即立即下发到设备,无需保存任务、也无需检查并下发。
关键前提:设备第一次上电默认是 CC(phone)分支,但此时还没有任何通道配置,按 SOS 拨不出去。 SIP 注册成功只说明设备在线,不等于它有呼叫目标。下面每一类都要先在「设备设置」里选好 SOS 通道并提交下发,设备按键才有意义——每个功能都要搭配网页控制台来做。
先把四类场景和它们的网页入口、SOS 通道、底层分支对应起来,这张表是本节的总纲:
| 场景 | 网页入口 | SOS 通道 | 底层分支 |
|---|---|---|---|
| 设备与手机 / 电脑 SIP 软终端通话 | 设备设置 → SOS 设置 → 选「SIP」 | SIP | single |
| 两台 Air8784 设备互通 | 设备设置 → SOS 设置 → 选「SIP」 | SIP | single |
| 按顺序呼叫多个设备或软终端 | 设备设置 → SOS 设置 → 选「SIP」+ 多个目标 | SIP | single |
| 蜂窝电话与 SIP 通话桥接 | 设备设置 → SOS 设置 → 选「CC」 | CC | phone |
数量与时长限制:SIP 通道可配置多个目标;每个目标等待接听 30 秒,超时未接先结束当前呼叫、释放资源,再尝试下一个;任一目标接通后本轮不再继续拨打后续目标。
8.1 设备设置面板
在设备管理页点某台设备的「设备设置」,打开设置面板。副标题明确写着「每一台独立提交,提交后立即下发到设备」。面板自上而下分为:
- SIP 设置:服务器地址、端口、域、传输协议(UDP / TCP / TLS)、SIP 账号 / 密码、自动接听与延时;
- SOS 设置:四个互斥通道(SIP / SIP_CC / CC / 分组管理);
- 音量调节:喇叭音量 0–31、麦克音量 1–8;
- TTS 下发:输入要本地语音合成播报的内容;
- 设备上报记录(诊断):读取设备最近的上报原文用于核对。

任一栏修改后点该栏的「提交」按钮即下发;密码仅本次提交使用,不写入浏览器、也不回填。点卡片上的「刷新状态」可让设备回传当前 SIP 参数与自动接听设置,页面据此自动回填供核对。
8.2 SOS 设置:四通道互斥
SOS 设置里四个子标签即为四种通话通道,当前生效的通道会高亮提示「当前生效:XX」。四个通道互斥,只能有一种生效:提交某个通道会清空设备里其余通道的号码(网页本机草稿仍保留)。
- SIP:设备自身作为 SIP 终端,填对端号码即可(设备与软终端互通、两台设备互拨、多目标轮拨都走这个通道);
- SIP_CC:设备作为 SIP↔CC 桥接,填 SIP_CC 对端号码;
- CC:蜂窝电话桥接,填普通手机号(需已实名、开通语音的 SIM 卡);
- 分组管理:逐级拨打分组内登记的 SIP 账号(详见第 8.5 节)。


8.3 SIP 设置与传输协议
SIP 设置区用于配置注册参数。默认服务器 cc.luatos.com、端口 8910、传输 UDP,与第 5 节账号约定一致。传输协议下拉支持 UDP / TCP / TLS:需要 SIP over TLS 时把这里改为 TLS 并提交即可(CA 证书仍需手工烧录到设备 /luadb/sip-ca.pem,网页侧不负责上传证书),详见第 12.2 节。
勾选「自动接听」后,设备在响铃到设定秒数(0–20,默认 5 秒)时自动接听;不勾选则关闭自动接听(此时按键参数不会下发)。打开面板时各栏会回填上次填写 / 下发的值,SIP 密码出于安全不回填,重新提交时需再次输入。

8.4 通话记录
点设备卡片的「通话记录」,按设备上报的 SIP 账号查询通话历史。可按日期(今天 / 近 3 天 / 近 7 天)、SIP 账号、接通情况筛选后点「查询」。由于记录按账号查,需先让设备上报 sip_username(即设备 IMEI+0 账号),查询时填写该账号即可拉到对应记录。

8.5 分组管理与网页拨号
左侧导航「分组管理」按一级 / 二级 / 三级层级把设备编入分组。未归属的设备都在「未分组设备」节点下,右键设备(或行尾 ⋯)可拨号、查看定位、分组移动。
网页拨号(软电话)使用的 SIP 账号在「分组管理 → 超级管理员账号」里配置,仅保存在本机浏览器,不上报平台;浏览器端只能以 WebSocket(WS / WSS)连接 SIP 服务器,请确认服务器已开启对应监听端口(推荐 WSS,https 页面可用)。


8.6 音量、TTS 与诊断
回到「设备设置」面板下部:
- 音量调节:喇叭音量 0–31(默认 28)、麦克音量 1–8(默认 2),拖动后「提交音量设置」即下发;
- TTS 下发:输入要播报的内容,中文会自动转成 JSON Unicode 转义后再下发(规避平台链路编码问题),「提交 TTS 内容」即本地语音合成播报;
- 设备上报记录(诊断):点「读取最近上报」看设备实际回传的
cmd、字段与tag,用于核对「卡片显示未收到回执」等问题;「查看最近下发」可核对前端到底发了几次(下发走 TCP)。



9. 实战:跑通一次 SIP 通话
目标:用设备打给你的手机 / 电脑 SIP 软终端,验证整条语音链路。前提是先按第 8.2 节在「设备设置 → SOS 设置」里选好 SIP 通道、填好对端号码(即本设备 IMEI+1)并提交下发——没有通道配置,设备按 SOS 是拨不出去的。
- 确认设备已上电、进业务模式,日志能看到「SIP 注册成功」(或心跳行 SIP注册=Y)。
- 手机 / 电脑上装好 SIP 软终端,按第 5 节约定填 IMEI+1 账号并完成注册(第 7 节)。
- 在「设备管理」页点该设备的「设备设置」,进入「SOS 设置」选 SIP 通道,填对端号码(IMEI+1)后点「提交」;面板提示提交成功后配置即下发到设备。
- 若设备原本跑的是 CC / phone 分支,切到 SIP(single)后会保存配置、空闲时重启再上线,等它重新注册上来。
- 设备上短按 SOS,固件向对端发出 INVITE。
- 软终端振铃,你在软终端上接听,双向通话建立;需要结束时长按 UP 挂断。
验证点(checkpoint):日志出现 180 Ringing,说明信令已送达对端;出现 200 OK 表示接通。若对端无人接听,约 30 秒后超时,返回 486 Busy Here,设备回到空闲。
10. 常见问题
以下为通用的实机检查与问题排查建议,用于补充网站操作流程,不代表本次已完成设备测试。
| 现象 | 排查方向 |
|---|---|
| SIP 注册不上 / 账号无法登录 | 看日志有无 exsip init completed 与 SIP 注册成功(心跳 SIP注册=Y);没有则查 4G 驻网、fskv 是否被改、是否真的进了业务模式;账号类问题另查服务器与端口、账号末尾 0/1、实际 SIP 密码、传输方式及网络连通性 |
| 软终端在线但呼叫不到设备 | 设备是否也完成 SIP 注册;拨打的是否为设备端账号;是否选错 IMEI |
| 能注册,但按 SOS 拨不出去 | 先确认是否已在「设备设置 → SOS 设置」选好通道并提交;没有通道配置就没有呼叫目标 |
| 同一设备无法切换通道 / 号码不生效 | SOS 四通道互斥,提交新通道会清空其余通道号码;确认提交的是当前要用的通道 |
| 轮拨顺序不符合预期 | 设备设置 SOS 通道里的目标序号、等待时间(默认 30 秒)与目标上限是否正确保存 |
| 只有一方能听见声音 | 双方麦克风与扬声器、音量、应用权限,以及网络的语音媒体通路 |
| 通话有回声、断续或杂音 | 音频接线、麦克风与喇叭布置、音量、供电稳定性、网络质量及固件适配 |
| CC 模式打不通 / 提示卡无效 | SIP_CC 需要已实名且开通语音功能的手机卡,物联网卡不行 |
| 普通手机号无法呼叫 | 是否使用 SIP_CC,SIM 卡是否实名且支持语音,以及实机版本是否支持此场景 |
| 按键没反应 | 确认按的是 SOS(GPIO20)发起 / 接听、UP(GPIO21)长按挂断;网页不下发呼叫 |
完成实机配置后,建议分别验证:软终端呼叫设备、设备呼叫软终端、双方接听与挂断,以及在最终外壳和常用音量下的双向语音。使用轮拨时,再验证首个目标接听后不继续呼叫、首个目标未接听时能按顺序转向下一目标。
11. 出厂固件资源
二次开发与烧录所需的源码、内核版本与打包固件,统一汇总在本节。
11.1 默认出厂固件源码
默认出厂固件的 Lua 应用源码托管在 Gitee,点击跳转查看 / 下载:
LuatOS · module/Air8784/project/factory
工程目录结构(节选):
user/main.lua:入口,按 fskv 返工标记 → 首测保护标记 → OTP1 分流 产测/业务,并开机启动 FOTAuser/factory/:产测 + 返工(factory.lua产测模式,USB 虚拟串口 VUART_0 响应产测指令;retest.lua返工标记 / MODEL_RETEST 指令 / 首测保护标记)user/cloud/:AirCloud TCP 云通道(协议封装、SOS 配置归一化与持久化、统一收发入口)user/task/:业务共用逻辑(task_main.lua为业务入口,SOS 状态机 / 顺序拨打、按键、语音、SIP / 硬件配置等)user/single/、user/cc/:单 SIP 分支、SIP_CC 桥接分支user/audio/:提示音与 TTS 播报;user/ota/update.lua:FOTA 升级封装(libfota3)lib/:工程内置扩展库(air1103 / exaudio / httpplus);exsip/excloud等仍引用仓库共享库script/libs,见 LuatOS · script/libsREADME.md:工程说明
注意事项:
1. 二次开发可以此工程为基准,烧录时 core 选择 Air780EHM。
2. 烧录一定要使用最新的lib扩展库,点击此处可查看最新的lib扩展库,可以手动拉取lib扩展库代码,放置Luatools的烧录区域。
3. 烧录时要选择「无调试信息」,否则会出现报错「合并失败:文件总数据量(596kb)超过了固件脚本区空间(512kb),请减少代码」。
11.2 内核固件说明
- 内核固件即 LuatOS-SoC 核心(RTOS + Lua 虚拟机 + 底层驱动),出厂 Lua 应用脚本运行在其之上;
- 内核固件地址(Air780EHM):780ehm_version,各出厂固件对应的内核版本见第 11.3 节版本表(文件名末尾的
_13即对应内核编号); - 打包固件已内置对应内核版本,烧录时无需单独烧录内核;
- 如对内核版本有特殊要求,可参考上述内核固件地址切换版本。
11.3 打包出厂固件下载
已打包好的默认出厂固件(含内核,解压后的.soc文件可直接烧录):
| 版本 | 内核固件 | 主要更新 | 下载 |
|---|---|---|---|
| v001.000.007 | LuatOS-SoC V2054_13 | 适配新 SIP Web 平台(iot.luatos.com/ai_app/luatos/8786_SIP) | Air8784_Factory_001.000.007_LuatOS-SoC_V2054_Air780EHM_13.zip |
| v001.000.006 | LuatOS-SoC V2054_13 | 新增首测保护标记 model_firsttest(首测中途复位仍回产测)、启动分流改为 返工标记 → 首测保护标记 → OTP1 | 内测版本 |
| v001.000.005 | LuatOS-SoC V2054_13 | 新增返工(retest)机制(MODEL_RETEST 指令进入返工产测、无需重烧)、Air1103 提示音;CHG# 电池电压分压换算+校准 | Air8784_Factory_001.000.005_LuatOS-SoC_V2054_Air780EHM_13.zip |
| v001.000.004 | LuatOS-SoC V2054_13 | 支持 SIP over TLS、产测 FLYMODE 指令、修复 FLYMODE 在 uart 回调卡死 | 内测版本 |
| v001.000.003 | LuatOS-SoC V2052_13 | 脚本库统一引用共享库、SIM 卡自适应、OPTIONS 保活扩展 UDP/TCP | 内测版本 |
| v001.000.002 | LuatOS-SoC V2052_13 | 初始版本 | Air8784_Factory_001.000.002_LuatOS-SoC_V2052_Air780EHM_13.zip |
TLS 功能固件要求: 启用 SIP over TLS 需搭配 v2056 及之后版本的 13号 固件;低于该版本的底层不支持 SIP over TLS,切勿在旧固件上设置
sip_transport = "tls"。
11.5 出厂固件视频教程
整机使用教程(烧录调试、固件功能 + Web 前端 + 小程序综合演示):
12. 远程升级(FOTA)与 SIP over TLS
12.1 固件更新(FOTA)
最简单的方式是在设备管理页点设备卡片右上角的 版本 按钮,打开「固件更新」面板:
- 面板顶部显示设备当前固件版本(如
Air8784_Factory_001.000.007)及其 Tag 1027 上报时间; - 点 重新读取版本 可实时刷新设备当前烧录的版本;
- 确认后点 开始更新,平台经 AirCloud 控制命令(Tag19 / Tag1281)远程下发升级。

升级期间一定不能断电,请保持设备联网、电源稳定;升级完成后设备会自动重启,重启期间短暂离线属正常现象。
若控制台版本入口暂不可用,仍可走合宙 IoT 设备管理平台的 AirCloud 下发:顶部菜单 基础能力 → AirCloud → AirCloud 上报记录,找到目标设备点 下发,命令类型选 控制命令 (Tag19)、数据类型选 ASCII 字符,消息内容填 update 或 fota,设备收到后调用 libfota3 检查并执行升级。
12.2 切换 SIP 传输为 TLS
首选(网页):在「设备设置 → SIP 设置」里把 传输协议 下拉(UDP / TCP / TLS)改为 TLS,确认服务器地址与端口后点 提交 SIP 设置,配置即经 set_config 下发到设备;设备回执显示 设备已确认保存:<server>:<port>(TLS)。

备选(云端):仍可由 AirCloud 上报记录下发控制命令,消息内容填 {"op":"set_transport","sip_transport":"tls"}(切回 UDP 填 {"op":"set_transport","sip_transport":"udp"};非默认端口附加 sip_server_port,例如 {"op":"set_transport","sip_transport":"tls","sip_server_port":5062})。
两种方式都要求设备已烧录 CA 证书到 /luadb/sip-ca.pem(网页侧不负责上传证书),且底层为支持 SIP over TLS 的固件版本。
切换后设备约 1 秒重启生效,传输与端口持久化到 fskv,重启后自动回载。
