@16x/webphone-sdk 3.1.16 → 3.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.1.18 - 2026-10-08
4
+
5
+ 修复通话失败原因被统一包装成「当前通话状态不支持此操作」的误导文案(与主线 3.2.9 同源修复):
6
+
7
+ - `CallManager.failureError` 新增 SIP 拒绝载荷映射:对方挂断/平台拒绝(480/488/4xx-6xx 家族)→ `CALL_REJECTED`("对方或呼叫平台拒绝了本次呼叫"),486/BUSY → `CALL_BUSY`,408/Request Timeout → `NETWORK_TIMEOUT`。
8
+ - 此前 JsSIP 原始失败载荷一律落入 `CALL_OPERATION_NOT_ALLOWED` 兜底,文案指向状态机,严重误导排障方向(实测复现:对方直接挂断显示 480、平台资源竞争返回 488 时均显示"当前通话状态不支持此操作")。原始载荷完整保留在 `error.cause`。
9
+ - 无 SIP 信息的未知载荷行为不变;`CALL_REJECTED`/`CALL_BUSY` 错误码自此真正被 SIP 层触发。
10
+ - 保持 3.1.x 客户服务端 `getToken`、`getAccount` 和会话组装契约不变。
11
+
12
+ ## 3.1.17
13
+
14
+ 修复平台抖动后 dial 永久不可自愈(CALL_NOT_CONNECTED)——与主线 3.2.8 同源修复:
15
+
16
+ - `ReconnectManager` 新增 `isRecovered` 校验:recover() 成功返回不再被当作连接已恢复,未恢复按失败继续退避。
17
+ - `recoverInvalidSession` 重建失败不再 `reconnect.cancel()` 永久取消重连循环(事故主根因),保持封顶退避重试。
18
+ - `recoverConnection` 在会话被清空后改走 `performConnect` 全新建会话;在途通话超过 120s 宽限后强制终态(终态事件不可达时)。
19
+ - 媒体释放屏障增加 5s 超时,防止永不 settle 的释放操作锁死重连。
20
+
3
21
  ## 3.1.16 - 2026-10-08
4
22
 
5
23
  - 修正客户专属发布版本号与 npm dist-tag 对齐;此版本运行时代码与 3.1.15 相同。