2023年12月3日发(作者:)

下面是我收集到的移动CMPP的错误信息,不知道是否正确,希望对大家有帮助:)

1、如何进行登录失败原因分析

ICP登录网关经常会失败,主要有一下原因,如果ICP使用自己的API可以对登录的应答消息中消息状态字段进行分析,下面列出了主要的错误原因:

SMPP协议 CMPP协议 错误码含义

status=0 result=0 登录成功

status=6 result=2 登录帐号名在系统不存在

status=11 result=3 登录效验密码错误

status=9 result=9 超过最大接口数(帐号限制或总数限制)

status=48 result=48 对端设备IP被限制

如果是使用公司提供的动态库(动态库只提供成功与失败两种状态),则也着重按上述情况进行原因分析。

注:前提为初始化接口成功

2、消息发送失败原因分析

ICP提交消息失败,可通过多种方式对其原因进行分析,首先最常见的方法是使用维测台跟踪消息,看其应答消息的返回状态,下面列出了提交消息常见的错误码,可进行参考分析。

SMPP协议 CMPP协议 错误码含义 备注

status=0 result=0 成功

status=49 result=1 消息结构错 注:这些错误码一般不会在自己的网关出现,只可能此错误是其他网关前转过来。

status=51 result=2 命令字错

status=52 result=3 MsgID错误

status=53 result=4 消息长度错

status=54 result=5 资费代码错误

status=55 result=6 超过的最大信息长度

status=56 result=7 业务代码错误

status=57 result=8 流量控制错

status=59 result=9 前转判断错

status=58 result=10 超过了最大网关前传节点 注:网关常见错误码,这些错误码一般是消息在网关被拒绝掉而产生的。

status= 30 result=11 找不到路由

status=16 result=12 定时发送时间或有效时间错

status= 12 result=13 各种鉴权失败

status=27 result=14 应答超时

status= 19 result=15 接口无效

status=102 result=16 SCP应答超时

其它 result=17~255 短消息中心或SCP处出错

status=60 result=60 黑名单用户 D200版本才支持此特性

常见的SCP出错的错误码(详细内容请参考SCP错误码表)

status=40 result=40 未登记的SP 注:SCP扣费鉴权常见错误码表,详细 status=44 result=44 未登记的SP业务类型

status=50 result=50 移动用户不存在

status=60 result=60 余额不足

常见短消息中心回错误码(公司内部短消息中心)

status=19 result=19 无提交权限 注:短消息中心拒绝掉此消息常见错误。

status=64 result=64 地址错误

status=65 result=65 超过最大提交数

status=66 result=66 超过最大下发数

另外可根据网关产生的Smpp统计话单来进行分析,Smpp话单中的60话单的第16个字段为消息状态,可根据消息状态来进行分析,其列表如下。

0 成功

10 无效的接口ID 注:网关常见错误码,这些错误码一般是消息在网关被拒绝掉而产生的。

12 鉴权失败

16 消息已过有效期

19 发送的接口无效

27 应答超时

30 路由错误,发送不到指定的帐号

40 未登记的SP 注:SCP扣费鉴权常见错误码表。

44 未登记的SP业务类型

50 移动用户不存在

60 余额不足

100 SCP发送错误

102 SCP应答超时

99 消息前转错误 注:其它网关对消息拒绝

19 无提交权限 注:短消息中心拒绝掉此消息常见错误。

64 地址错误

65 超过最大提交数

66 超过最大下发数

一个负数 重发消息错误 启动Msgstore有效

注:此错误码表只作为参考,由于系统连接复杂,各系统的错误码又各成一体,所以会出现错误码冲突的问题。应该具体情况具体分析。

infoX内部使用错误码表:

E_ERROR_MSG

E_SUCCESS 成功

E_ACCESSERR=1 接入码错误

E_CALLERERR=2 主叫错误

E_ACCOUNTERR=3 帐号指针不符

E_SMTYPEERR=4 SmType错误

E_NEWACCOUNTFAIL=5 生成帐号对象失败

E_ACCOUNTNAMEERR=6 帐号名错,查无此帐号

E_CODETYPEERR=7 编码类型错

E_CREATEIFFAIL=8 生成IF对象失败 E_BEYONDMAXIFNUM=9 超过INTERFACEMANAGER的最大IF数

E_INVALIDIFID=10 无效的IF的ID

E_ACCOUNTPASSWORDERR=11 帐号的密码错误

E_NORIGHT=12 没有权限

E_PIDERR=13 PID 错误

E_INVALIDROUTETABLE=14 无效的ROUTETABLE

E_CANNOTFINDIF=15 通过HDRV不能找到IF

E_PARAMERR=16 = 0 参数错

E_STATUSERR=17 状态错误

E_INVALIDACCOUNT =18 无效的ACCOUNT

E_INVALIDIF=19 无效的IF

E_NOSUBMITRIGHT=20 无提交消息权限

E_NODELIVERRIGHT=21 无下发消息权限

E_CHECKTYPEERR=22 鉴权类型错误

E_NUMREPEAT=23 号段重复

E_NOTHISNUM=24 没有指定的号段

E_WATIACK=25 等待应答队列消息错误

E_DCS_ ERROR=26 解码时DCS有错误

E_SUBMIT_TIME_OUT=27 应答超时

E_SUBMIT_ERROR=28 向短消息中心提交消息错误

E_PARSER=29 用户输入消息解析错误

E_SERVICE_NOT_OPEN=30 指定服务未启动

E_IF_STYLE=31 接口类型错误

E_ADDR_FOMRAT=32 地址格式错误

E_PARAM_NO=33 错误的参数类型

E_BIND_SERVICEERR=34 连接时服务类型错误

E_BUFFERERR=35 缓区错误

E_ADD_TRACEERR=36 增加跟踪失败

E_CANCEL_TRACEERR=37 终止跟踪失败

E_ADD_STATERR=38 增加统计任务失败

E_STAT_TYPEERR=39 统计类型错误

E_STAT_NUMERR=40 统计记录错误

E_STAT_IDERR=41 统计ID错误

E_USER_SEND_FAIL=42 user manager send error

E_USER_STATUS=43 用户管理状态转换错误

E_USER_TOMANY=44 用户过多

E_NO_PROMPT=45 无需要应答用户的消息

E_FAILED=46 一般的错误

E_RESOURCE_LIMITED=47 资源不足

E_IP_ERROR=48 连接设备的IP错误

E_SCP_SEND_FAIL = 100 向SCP发送消息时失败

E_SCP_SEND_TIME_OUT = 101 发送消息超时

E_SCP_WAITACK_TIME_OUT = 102 等待SCP的应答超时

E_STATUS_REPORT_TIME_OUT = 103 等待状态报告超时 E_STATUS_REPORT_OVER_FLOW = 104 等待状态报告超时

E_GW_RESEND_ERROR = 160 从备份进程发

E_STORE_TIME_OUT= 0x80000150 在重发进程中超时

E_STORE_BACK_UP = 0x80000151 在重发进程中备份超时

E_STORE_ALREADY_EXIST = 0x80000152 备份时,ID已存在

E_STORE_NOIDLE_ENTITY = 0x80000153 查询时,ID非法

E_STORE_EXPIRE_TIMEOUT = 0x80000154 超过有效期

E_STORE_ENTITY_END = 0x80000155 短消息备份的消息处理结束

E_STORE_ALREADY_WORKING = 0x80000156 消息处在工作态,不能删除

E_STORE_CANCEL= 0x80000157 消息被Cancel

CMPP接口错误码对照表

CMPP_CONNECT_STATUS

E_CMPP_SUCCESS =0 成功

E_CMPP_CONNECT_MSGSTRUCTURE_ERR = 1 消息结构错

E_CMPP_CONNECT_SPID_ERR=2 非法SP_ID

E_CMPP_CONNECT_SPAUTH_ERR=3 SP认证错

E_CMPP_CONNECT_VERSION_ERR=4 版本太高

E_CMPP_CONNECT_OTHER_ERR=5 其他错误

CMPP_SUBMIT_ACK_STATUS

E_CMPP_SUBMIT_MSGSTRUCTURE_ERR = 1 消息结构错

E_CMPP_SUBMIT_COMMANDID_ERR=2 命令字错

E_CMPP_SUBMIT_MSGID_ERR=3 消息序号重复

E_CMPP_SUBMIT_MSG_LEN_ERR=4 消息长度错

E_CMPP_SUBMIT_FEECODE_ERR=5 资费代码错

E_CMPP_SUBMIT_EXCEED_MAX_MSG_LEN=6 超过最大信息长

E_CMPP_SUBMIT_SERVICEID_ERR=7 业务代码错

E_CMPP_SUBMIT_FLOWCONTROL_ERR=8 流量控制错

E_CMPP_SUBMIT_FWD_ESTIMATE_ERR =9 前传判断错

E_CMPP_NODE_NUM=10 超过了最大网关前传节点

E_CMPP_SERVICE_NOT_OPEN=11 找不到路由

E_CMPP_PARAMERR=12 定时发送时间或有效时间错

E_CMPP_NORIGHT=13 各种鉴权失败

E_CMPP_SUBMIT_TIME_OUT=14 应答超时

E_CMPP_INVALIDIF=15 接口无效

E_CMPP_SCP_WAITACK_TIME_OUT=16 SCP应答超时

E_CMPP_SUBMIT_ERR=17~255 其他错误

SCP鉴权扣费错误码表

状态码 含义 备注

-1 状态码错误,未定义的状态码

0 成功

以前使用的错误代码,仍保留,但不使用

1 非神州行预付费用户

2 数据库操作失败 3 鉴权失败 暂不使用

4 超过最大错误次数 暂不使用

5 移动用户帐户数据异常 PPS状态异常

6 服务没有激活

7 用户余额不足

8 超过包月费用上限 暂不使用

9 超过最高欠费额 暂不使用

10 用户已注册该项服务 暂不使用

11 用户没有注册该项服务 暂不使用

12 移动用户已存在

13 网关向SMC提交短消息失败

14 未登记的网关

15 网关登录摘要错误 网关生成摘要与SCP摘要不一致。

16 参数错误

17 服务器端数据未传完 暂不使用

18 重复发送消息序列号msgid相同的单条计费请求消息 新增加(MNET2.1.D5)

系统错误,后面的几类错误代码无法说明的才用系统错误代码

20 未知错误

21 数据库错误

22 SCP互联失败

23 数值越界 折扣>100,费率<0等

24 字段超长 字符串字段长度超长

25 无相关数据 在数据库充查询不到数据

26 数据重复 表中已经存在相同关键字的数据

网关检查

30 未登记的网关

31 网关登录摘要错误

32 网关已存在

33 网关帐户状态异常 网关未激活

34 不支持的摘要算法 目前仅支持MD5

SP检查

40 未登记的SP

41 SP帐户状态异常 SP未激活

42 SP无权限

43 SP帐户已存在

44 未登记的SP业务类型

45 SP业务类型数据异常 SP的业务类型数据未激活

46 SP业务类型已存在

手机用户检查

50 移动用户不存在 不存在此手机号码 51 移动用户状态异常 PPS状态异常

52 梦网用户已存在

53 梦网用户不存在

54 梦网用户状态异常

55 签约信息已存在

56 签约信息不存在

57 签约数据异常 用户与SP的签约信息数据未激活等。

业务逻辑检查

60 余额不足

61 月消费超额

62 单笔消费超额

63 用户拒绝 用户拒绝付费,保留为扩展。

64 短消息编号已存在 网关生成的短消息编号重复

65 对应扣费请求不存在

66 扣费请求已被确认 收到网关重复的状态报告

67 未定义的计费类型

68 未定义的编码方式

只MGW需要错误代码,内部使用,不对外。

200 未定义用户操作代码

201 未定义用户个性参数

移动发送短信的状态报告

ISMG向SP送交状态报告中的STAT字段含义:发送短信的应答结果。SP根据该字段确定CMPP_SUBMIT消息的处理状态。

错误对照

CB:0001 非神州行预付费用户

CB:0005 PPS用户状态异常(包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失)

CB:0007 用户余额不足

CA:0054 发送消息失败

CB:0001 非神州行预付费用户(用户已经被销号)

CB:0002 数据库操作失败

CB:0053 梦网用户不存在

CB:0005 移动用户帐户数据异常

CB:0007 用户余额不足

DELIVRD 消息发送成功

EXPIRED 表示因为用户长时间关机或者不在服务区等导致的短信息超时没有递交到用户手机上

REJECTD 消息因为某些原因被拒绝

UNDELIV 表示全球通用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务

MC:xxxx 系统未从短信中心接收到状态报告

MC:xxxx 没有从SMSC处接收到状态报告时的状态报告

MI:xxxx 同“EXPIRED”

MN:xxxx 同“REJECTD”

MB:0066 短信中心回的,超作最大发送次数 可能是手机满了。

MK:0015 可能是手机满了。

MK:xxxx 同“UNDELIV”

网关返回大量的DA:0054错误 原因分析:出现这个问题是由于网关发送鉴权批价请求到MISC时,MISC不给响应或者网关和MISC连接阻塞引起;

DB:0100 手机号码不存在

DB:0101 手机号码错误

DB:0102 用户停机 用户冲值后,要主动上行一条信息到SP,才能激活用户的短信接收服务

DB:0103 用户欠费

DB:0104 用户没有使用该业务的权限

DB:0105 业务代码错误

DB:0106 服务代码错误

DB:0107 业务不存在

DB:0108 该业务暂停服务

DB:0109 该服务种类不存在

DB:0110 该服务种类尚未开通

DB:0111 该业务尚未开通

DB:0112 SP代码错误

DB:0113 SP不存在

DB:0114 SP暂停服务

DB:0115 用户没有定购该业务

DB:0116 用户暂停定购该业务

DB:0117 该业务不能对该用户开放

DB:0118 用户已经订购了该业务

DB:0119 用户不能取消该业务

DB:0120 话单格式错误

DB:0121 没有该类业务

DB:0122 接收异常

DB:0123 业务价格为负

DB:0124 业务价格格式错误

DB:0125 业务价格超出范围

DB:0126 该用户不是神州行用户

DB:0127 该用户没有足够的余额

DB:0128 补款,冲正失败

DB:0129 用户已经是梦网用户

DB:0130 用户在BOSS中没有相关用户数据

DB:0131 BOSS系统数据同步出错

DB:0132 相关信息不存在 DB:0133 用户数据同步出错

DB:0134 SP数据同步出错

DB:0135 业务数据同步出错

DB:0136 用户密码错误

DB:0137 伪码信息错误

DB:0138 用户相关信息不存在

DB:0140 用户未点播该业务

DB:9001 网络异常

DB:9007 业务网关超过限制的流量

---------------------------------------------------------------------------------------------------------

1 由SMSC返回的一般结果

状态报告 含义 说明 处理建议

DELIVRD 消息发送成功 用户成功接收到短信 ——

EXPIRED 因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上

超时 不处理

REJECTD 消息因为某些原因被拒绝 不同的网关具有不同的错误原因 和运营商对日志

UNDELIV 全球通用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信

不可及 不处理

2 SCP返回的错误

状态报告 含义 说明 处理建议

CA类错误:短信网关和SCP之间连接发送时产生错误的状态报告

CA:0051 尚未建立连接 移动内部错误 不处理

CA:0052 尚未成功登录 移动内部错误 不处理

CA:0054 超时未接收到响应消息 移动内部错误 不处理

CA:0111 SCP厂家自定义的错误码 移动内部错误 不处理

CB类错误:SCP返回错误处理结果的状态报告

CB:0001 非神州行预付费用户 号码无效或者空号 清除订购关系

CB:0005 PPS用户状态异常(包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失) 移动用户帐户数据异常 清除订购关系

CB:0007 用户余额不足 不能扣费,影响包月话单 连续两个月扣费不成功,清除订购关系

CB:0016 参数错误 移动内部错误 不处理

CB:0018 重复发送消息序列号msgid相同的计费请求消息 移动内部错误 不处理

CB:0022 SCP互联失败 移动内部错误 不处理

CB:0047 过期用户或者用户不支持梦网业务 清除订购关系

CB:0053 梦网用户不存在 号码无效或者空号 清除订购关系

3 管理平台DSMP返回的错误

状态报告 含义 说明 处理建议

DA类错误:短信网关和DSMP之间连接发送时产生错误的状态报告

DA:0054 超时未接收到响应消息 移动内部错误 不处理

DB类错误:DSMP返回处理错误结果的状态报告

DB:0101 手机号码错误 号码无效或者空号 清除订购关系

DB:0102 用户停机 用户已经停机 若连续两个月停机,清除订购关系

DB:0107 业务不存在 多用于点播业务鉴权 程序检查LinkID和业务代码是否正确 DB:0115 用户没有订购该业务 订购关系不同步 清除订购关系

DB:0116 用户暂停订购该业务 订购关系不同步 清除订购关系

DB:0122 接收异常 移动内部错误 不处理

DB:9001 网络异常 移动内部错误 不处理

DB:9007 业务网关超过限制的流量 移动内部错误 不处理

4下一级短信网关ISMG返回的错误

状态报告 含义 说明 处理建议

IB类错误:下一级ISMG返回错误响应消息时的状态报告

IB:0008 流量控制错 移动内部错误 不处理

IB:0009 前转判断错误 移动内部错误 不处理

IB:0070 网络断连或者目的设备关闭端口 移动内部错误 不处理

IB:0100 移动内部错误 不处理

IB:0113 移动内部错误 不处理

IB:0255 移动内部错误 不处理

IC类错误:下一级ISMG无响应消息时的状态报告

IC:0154 移动内部错误 不处理

5短信中心SMSC返回的错误

状态报告 含义 说明 处理建议

MA类错误:ISMG连接SMSC产生错误时的状态报告

MA:0051 尚未建立连接 移动内部错误 不处理

MA:0054 超时未接收到响应消息 移动内部错误 不处理

MA:0191 SMSC厂家自定义的错误码 移动内部错误 不处理

MB类错误:SMSC返回错误时的状态报告

MB:0019 移动内部错误 不处理

MB:0020 无效的SYSTEMID 移动内部错误 不处理

MB:0065 目的地址错误 移动内部错误 不处理

MB:0066 无效的定时时间 移动内部错误 不处理

MB:0070 移动内部错误 不处理

MB:0077 移动内部错误 不处理

MB:0088 移动内部错误 不处理

MB:0145 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:0147 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:0192 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:0193 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:0241 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:0244 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:0250 SMSC厂家自定义的错误码 移动内部错误 不处理

MB:4024 移动内部错误 不处理

MB:4025 移动内部错误 不处理

MC类错误:SMSC无返回时的状态报告

MC:0015 移动内部错误 不处理

MC:0021 移动内部错误 不处理

MC:0055 移动内部错误 不处理

MC:0151 移动内部错误 不处理 MC:0199 移动内部错误 不处理

MH类错误:

MH:0000 移动内部错误 不处理

MI类错误:同EXPIRED

MI:0000 移动内部错误 不处理

MI:0008 移动内部错误 不处理

MI:0013 移动内部错误 不处理

MI:0022 移动内部错误 不处理

MI:0024 移动内部错误 不处理

MI:0029 移动内部错误 不处理

MI:0036 移动内部错误 不处理

MI:0045 移动内部错误 不处理

MI:0057 移动内部错误 不处理

MI:0255 移动内部错误 不处理

MJ类错误:

MJ:0000 移动内部错误 不处理

MK类错误:同UNDELIV

MK:0000 移动内部错误 不处理

MK:0001 移动内部错误 不处理

MK:0008 移动内部错误 不处理

MK:0009 移动内部错误 不处理

MK:0011 移动内部错误 不处理

MK:0013 移动内部错误 不处理

MK:0022 移动内部错误 不处理

MK:0029 移动内部错误 不处理

MK:0036 移动内部错误 不处理

MK:0053 移动内部错误 不处理

MK:0057 移动内部错误 不处理

MK:0255 移动内部错误 不处理

直接返回的错误码

返回值 含义

0 正确

1 消息结构错

2 命令字错

3 消息序号重复

4 消息长度错

5 资费错

6 超过最大信息长

7 业务代码错

8 流量控制错

9 本网关不负责服务此计费号码

10 Src_Id错误

11 Msg_src错误

12 Fee_terminal_Id错误 13 Dest_terminal_Id错误

其它 未知