收藏
回答

voipsdk 注册设备 registerVoipDevice报错,错误码在文档里找不到?

1.ServiceProxy.getInstance(context).init() 调用正常
2.ServiceProxy.getInstance(context).GetDeviceSn() 调用这个方法能正常返回设备号
3.ServiceProxy.getInstance(context).getCallerTicket(appid, modelId) 调用这个方法报错,错误信息
getCallerTicket result:Failure(com.tencent.wxvoip.ServiceProxy$GetTicketException: cert fail)

4.第3步出错后,重新走初始化和registerVoipDevice流程,
但是ServiceProxy.getInstance(context).registerVoipDevice(appid, modelId, deviceId, snTicket) 方法报错
com.tencent.wxvoip.ServiceProxy$RegisterException: {"errcode":9800004,"errmsg":"sn `tJQ9NVsWXQSQrTR48cmMmg` not registered."}
其他信息

其他信息
modelId:tJQ9NVsWXQSQrTR48cmMmg, deviceId:3b7107e3

问题:
1.为什么GetDeviceSn能获取到设备号,但是getCallerTicket报错
2.为什么GetDeviceSn能获取到设备号,但重新registerVoipDevice又报错



最后一次编辑于  2023-05-22
回答关注问题邀请回答
收藏

1 个回答

  • 高
    2023-05-22

    GetDeviceSn 能返回正确的 SN 号,证明此设备已经使用此 SN 注册过。

    9800004 的错误,又是因为设备没有注册,所以请确认此设备注册时用的 model_id 是不是 tJQ9NVsWXQSQrTR48cmMmg。

    2023-05-22
    有用
    回复 8
    • 光锥之内
      光锥之内
      2023-05-22
      1.为什么GetDeviceSn能获取到设备号,但是getCallerTicket报错
      2.为什么GetDeviceSn能获取到设备号,但重新registerVoipDevice又报错


      现在怀疑这个机器厂家曾经给别的商户使用过,但是没有文档为证,也没有官方回复。


      设备id注册一次后不能换,但是modelId是能换的,所以根本原因没有找到
      2023-05-22
      回复
    • 光锥之内
      光锥之内
      2023-05-22
      9800004 的错误码哪里能找到文档说明?
      2023-05-22
      回复
    • 高
      2023-05-22回复光锥之内
      开发者只需要根据 errMsg 来发现错误原因即可。errCode 也可反馈以便于开发同学更快定位。
      2023-05-22
      回复
    • 光锥之内
      光锥之内
      2023-05-22回复
      已经通过打印日志方式确认过model_id是tJQ9NVsWXQSQrTR48cmMmg,没有错,xlog日志已经在群里发出来了,问题仍未确定原因
      2023-05-22
      回复
    • 晨
      发表于移动端
      2023-05-22回复光锥之内
      modelid是不能更换的,如果你目前注册设备使用的modelid和最初注册时不同,也是会出现这个错误
      2023-05-22
      回复
    查看更多(3)
登录 后发表内容