常见呼叫失败原因
设备呼叫小程序, 业务服务端调用微信 /wxa/business/iot/voip/call 失败
确认设备是否提交微信审核通过。否则,不能呼叫正式版。可以呼叫体验版小程序,
错误码参考: 微信 微信VoIP插件错误码
以官方文档为准,但其错误码不全。
这是我们收集的一些错误码,供参考
后台返回错误码
| errCode | 描述 |
|---|---|
| 1 | roomId 错误 |
| 2 | 设备 deviceId 错误 |
| 3 | voip_id 错误 |
| 4 | voipToken 错误(刷脸模式) |
| 5 | 生成微信VoIP通话房间错误 |
| 7 | openId 错误 |
| 8 | openId 未授权(刷脸模式) |
| 9 | openId 未授权设备(硬件模式),或不是 userId 联系人(刷脸模式) |
| 12 | 小程序音视频能力审核未完成,正式版中暂时无法使用 |
| 13 | 硬件设备拨打微信,voipToken 错误 |
| 14 | 微信拨打硬件设备,voipToken 错误 |
| 15 | 欠费 |
| 17 | voipToken 对应 modelId 错误 |
| 19 | openId 与小程序 appId 不匹配(同一用户在不同小程序的 openId 不同) |
| 20 | openId 无效 |
| 22 | 传入的 chargeType 非法 |
| 23 | 当前设备 license 已过期 |
| 24 | 当前设备未激活 license |
| 31 | 设备未审核,不能呼叫正式版 |
| -202 | 开发者服务器收到回调消息没有正常回复 |
| 61007 | 服务端模式下小程序授权问题 |
| 10008 | 一般是 sn_ticket 过期 |
微信回调接口返回 errcode != 0 是否会结束通话
不会。
只要呼叫发起接口调用成功并进入微信侧振铃流程,微信服务器回调接口返回 errcode != 0 不会直接结束这次通话。
部分较早的微信文档中有“若 errcode 非 0 则不会响铃、通话取消”的描述,当前实际行为不遵循该规则。
为什么设备收到的流有时是正确的,有时又旋转了 90 度?
一般是两点原因:
- 手机通话时可能是平放着的,微信通话逻辑是认为手机要竖着拿。
- 微信版本是历史版本。