连接mqtt有概率会失败,怎么处理?

移远EC800E发送指令顺序为

“AT+CFUN=1,1\r\n”; // 设置为全功能模式
“AT\r\n”
“AT+CREG?\r\n” 等待回复 “+CREG: 0,1” 之后执行下一步

“ATE0\r\n” 关闭回显
“AT+QICSGP=3,1,“CMNET”,“”,“”,0\r\n” 配置场景
“AT+QIACT=3\r\n” 激活场景
“AT+QMTCFG=“version”,3,4\r\n” 配置mqtt版本
“AT+QMTCFG=“qmtping”,3,50\r\n” 配置心跳
“AT+QMTCFG=“recv/mode”,3,1\r\n” 配置接收模式
“AT+QMTCFG=“ssl”,3,1,2\r\n” 配置ssl模式
“AT+QSSLCFG=“seclevel”,3,0\r\n” 配置授权
“AT+QSSLCFG=“sslversion”,3,4\r\n” 配置授权版本
“AT+QSSLCFG=“ciphersuite”,3,0xFFFF\r\n” 配置加密
“AT+QSSLCFG=“ignorelocaltime”,3,1\r\n” 配置忽略授权时间
“AT+QMTOPEN=3,“xxx.cn”,8883\r\n” 打开mqtt xxx是网址
在这一步模组回复
+QMTOPEN: 3,2 连接失败
但是有时候他会回复
+QMTOPEN: 3,0 连接成功,

大部分都会成功,但是会出现失败的概率,请问失败的原因是什么?配置错误吗?是否步骤有问题?
如果失败的话,应该从头配置?还是通过什么指令进行重置可以让他重新成功连接?