CMPP2短信错误代码整改方案
CMPP协议登录返回值对照表

DA:0054 超时未接收到响应消息 移动内部错误 不处理
DB:0101 手机号码错误 号码无效或者空号 清除订购关系
DB:0102 用户停机 用户已经停机 若连续两个月停机,清除订购关系
DB:0107 业务不存在 多用于点播业务鉴权 程序检查LinkID和业务代码是否正确
DB:0132 相关信息不存在
DB:0133 用户数据同步出错
DB:0134 SP数据同步出错
DB:0135 业务数据同步出错
DB:0136 用户密码错误
DB:0137 伪码信息错误
DB:0138 用户相关信息不存在
DB:0140 用户未点播该业务
DB:9001 网络异常
DB:9007 业务网关超过限制的流量
IB:0009 前转判断错误 移动内部错误 不处理
IB:0070 网络断连或者目的设备关闭端口 移动内部错误 不处理
IB:0100 移动内部错误 不处理
IB:0113 移动内部错误 不处理
IB:0255 移动内部错误 不处理
IC:0154 移动内部错误 不处理
MA:0051 尚未建立连接 移动内部错误 不处理
MK:0000 是由于用户停机造成的。一般会发生在月初账务扣费导致该用户余额不足,BOSS对该用户停机。
MK:0001 被叫用户是空号
MK:0004 被叫用户无短信功能,一般为欠费停机导致
MK:0005 被叫用户无短信功能,一般为欠费停机导致
MK:0010 被叫用户因关机、内存满,暂时无法接收短信
MI:0010 被叫用户因关机、内存满,暂时无法接收短信
MK:0057 移动内部错误 不处理
CMPP2.0错误码简介

中国移动通信CMPP2.0错误码整改方案中国移动通信集团公司2002年12月一、目的 (4)二、整改方案 (4)三、附录 (6)前言根据网上业务开放的需要,研发中心对CMPP传递的错误代码进行了进一步的扩充,以便能够更好地了解网络上产生错误的原因,该文件作为CMPP2.0的补充规定。
该文件的主要起草人:党京、孙若雯一、目的为了移动梦网短信业务的顺利开展,针对ISMG、SCP、SMSC这些网元产生的响应消息中的错误码和ISMG产生的状态报告中的状态码进行一番整改。
二、整改方案1、ISMG向SCP发送计费请求,此时有两种出错情况:(1)因为发送失败、网络原因、SCP超时等原因造成的ISMG未接收到SCP响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“CA:xxxx”,其中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见附录中对xxxx的说明;(2)接收到SCP的响应消息表明计费失败,ISMG生成状态报告,状态报告中的stat 字段取值为“CB:yyyy”,其中yyyy为SCP返回给ISMG的错误码,其长度为4位,不足4位在前面补0,具体值参见附录中对yyyy的说明。
2、ISMG向SMSC发送短信时,此时有两种出错情况:(1)因为发送失败、网络原因、SMSC超时等原因造成的ISMG未接收到SMSC响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“MA:xxxx”,其中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见附录中对xxxx的说明;(2)接收到SMSC的响应消息表明SMSC处理消息失败,ISMG生成状态报告,状态报告中的stat字段取值为“MB:zzzz”,其中zzzz为SMSC返回给ISMG的错误码,其长度为4位,不足4位在前面补0,具体值参加附录中对zzzz的说明。
3、目前CMPP2.0中定义了响应消息中的10个返回码,其中0表示成功,1-9分别表示各种错误类型,各厂家在返回错误码时应尽可能向这9个错误码靠拢,当然,因为设计的原因或者查错的方便,厂家可以在规定的厂家自定义错误码空间中定义自己的错误码,但是,定义错误码时不允许存在类似与“其它错误”或者“系统错误”这类含义模糊的情况,即各厂家能够对自己返回的每一个错误码给出明确的含义解释,以利于错误发生时的定位工作。
CMPP2短信错误代码整改方案

短信错误码整改方案中国移动通信集团公司2002年12月前言根据网上业务开放的需要,研发中心对CMPP传递的错误代码进行了进一步的扩充,以便能够更好地了解网络上产生错误的原因,该文件作为CMPP2.0的补充规定。
该文件的主要起草人:党京、孙若雯一、目的为了移动梦网短信业务的顺利开展,针对ISMG、SCP、SMSC这些网元产生的响应消息中的错误码和ISMG产生的状态报告中的状态码进行一番整改。
二、整改方案1、ISMG向SCP发送计费请求,此时有两种出错情况:(1)因为发送失败、网络原因、SCP超时等原因造成的ISMG未接收到SCP响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“CA:xxxx”,其中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见附录中对xxxx的说明;(2)接收到SCP的响应消息表明计费失败,ISMG生成状态报告,状态报告中的stat 字段取值为“CB:yyyy”,其中yyyy为SCP返回给ISMG的错误码,其长度为4位,不足4位在前面补0,具体值参见附录中对yyyy的说明。
2、ISMG向SMSC发送计费请求,此时有两种出错情况:(1)因为发送失败、网络原因、SMSC超时等原因造成的ISMG未接收到SMSC响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“MA:xxxx”,其中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见附录中对xxxx的说明;(2)接收到SMSC的响应消息表明SMSC处理消息失败,ISMG生成状态报告,状态报告中的stat字段取值为“MB:zzzz”,其中zzzz为SMSC返回给ISMG的错误码,其长度为4位,不足4位在前面补0,具体值参加附录中对zzzz的说明。
3、目前CMPP2.0中定义了响应消息中的10个返回码,其中0表示成功,1-9分别表示各种错误类型,各厂家在返回错误码时应尽可能向这9个错误码靠拢,当然,因为设计的原因或者查错的方便,厂家可以在规定的厂家自定义错误码空间中定义自己的错误码,但是,定义错误码时不允许存在类似与“其它错误”或者“系统错误”这类含义模糊的情况,即各厂家能够对自己返回的每一个错误码给出明确的含义解释,以利于错误发生时的定位工作。
移动CMPP网关错误码

话单格式错误 没有该类业务 接收异常 业务价格为负 业务价格格式错误 业务价格超出范围 该用户不是神州行用户 该用户没有足够的余额 补款,冲正失败 用户已经是梦网用户 用户在BOSS中没有相关用户数据 BOSS系统数据同步出错 相关信息不存在 用户数据同步出错 SP数据同步出错 业务数据同步出错 用户密码错误 伪码信息错误 用户相关信息不存在 用户是黑名单用户 用户未点播该业务 用户是白名单用户 用户已订购组内其他服务 用户未订购该组的主服务 该服务组不存在 用户试用该业务期满 网络异常 业务网关超过限制的流量 ISMG向其它ISMG发送CMPP_FWD消息,接收到响应但是响应表明出错 消息结构错 命令字错 消息序号重复 消息长度错 资费代码错 超过最大信息长 业务代码错 流量控制错 前转判断错(此SP不应发往本ISMG) 网络断连或者目的设备关闭端口 等待外地网关返回状态报告超时 ID:0020和ID:0021分别对应停机和销号 业务代码(SERVICEID)错误 本网关不负责服务此计费号码 队列满(本地、前转错误码相同)短信网关异常 SP业务鉴权失败(网关管理平台) UMM鉴权状态为01:用户正常开机 UMM鉴权状态为02:用户单向停机
记费单元返回的错误 非神州行预付费用户 数据库操作失败 鉴权失败 超过最大错误次数 移动用户帐户数据异常(没有激活)PPS用户状态异常(包括未头次使用、储值卡被封锁、储值卡进入保留期 、储值卡挂失) 服务没有激活 用户余额不足 超过包月费用上限 超过最高欠费额 用户已注册该项服务 用户没有注册该项服务 未登记的网关 网关登录摘要错误.网关生成摘要与SCP摘要不一致。 参数错误 服务器端数据未传完 重复发送消息序列号msgid相同的计费请求消息 未知错误 数据库错误 SCP互联失败 数值越界.折扣>100,费率<0等 字段超长.字符串字段长度超长 无相关数据.在数据库充查询不到数据 数据重复.表中已经存在相同关键字的数据 未登记的SP SP帐户状态异常.SP未激活 SP无权限 SP帐户已存在 未登记的SP业务类型 SP业务类型数据异常.SP的业务类型数据未激活 SP业务类型已存在 大众卡,不能下发短信,不能使用sp业务,集中在广东移动 梦网用户已存在 梦网用户不存在 梦网用户状态异常 签约信息已存在 签约信息不存在 签约数据异常.用户与SP的签约信息数据未激活等。 月消费超额 单笔消费超额 用户拒绝.用户拒绝付费,保留为扩展。 短消息编号已存在.网关生成的短消息编号重复 对应扣费请求不存在 扣费请求已被确认.收到网关重复的状态报告 未定义的计费类型 未定义的编码方式 ISMG向SMSC发送SUBMIT_SM消息,并等待SUBMIT_SM_RESP响应,未接收到响应消息
错误编码表(CNAPS2)

10000CU0I0000cmtmsg.cpp10010CU0O0106非报头块!10020CU0O0106非批量头块!10030CU0O0106非业务头块!10040CU0O0106非正文块!10050CU0O0106非报尾块!10060CU0O0105报头块重复!10070CU0O0105批量头块重复! 10080CU0O0105报尾块重复!10090CU0O0103报头块缺少结束符! 10100CU0O0103批量头块缺少结束符! 10110CU0O0103业务头块缺少结束符! 10120CU0O0103正文块缺少结束符! 10130CU0O0103文件块缺少结束符! 10140CU0O0107非法的报文块! 10150CU0O0103报尾块缺少结束符! 10160CU0O1017报头块日期格式非法! 10170CU0O0107正文块格式非法! 10180CU0O0104缺少正文块!10190CU0O0112报文域号必须为三位! 10200CU0O0113报文域太短!10210CU0O0113报文域太长!10220CU0O0115报文域非日期型! 10230CU0O0115报文域非全数字串! 10240CU0O0115报文域非全中文串! 10250CU0O0110缺少报文域!10260CU0S9011存储区不足!10270CU0O0105重复的TAG码! 11000CU0I0000cmtparse.cpp11010CU0O0106非报头块!11020CU0O0106非批量头块!11030CU0O0106非业务头块!11040CU0O0106非正文块!11050CU0O0106非报尾块!11060CU0O0105报头块重复!11070CU0O0105批量头块重复! 11080CU0O0105报尾块重复!11090CU0O0103报头块缺少结束符! 11100CU0O0103批量头块缺少结束符! 11110CU0O0103业务头块缺少结束符! 11120CU0O0103正文块缺少结束符! 11130CU0O0103文件块缺少结束符!11140CU0O0107非法的报文块!11150CU0O0103报尾块缺少结束符!11160CU0O1017报头块日期格式非法!11170CU0O0107正文块格式非法!11180CU0O0104缺少正文块!11190CU0O0112报文域号必须为三位!11200CU0O0113报文域太短!11210CU0O0113报文域太长!11220CU0O0115报文域非日期型!11230CU0O0115报文域非全数字串!11240CU0O0115报文域非全中文串!11250CU0O0110缺少报文域!11260CU0S9011存储区不足!11270CU0O0105重复的TAG码!12000CU0I0000ccmtmsg.cpp12010CU0S2012创建工作报文对象失败! 12020CU0S2012缺少工作报文对象!13000CU0I0000ccmtmsgbase.cpp13010CU0S9008指定的调用参数无效!13020CU0S2013获取数据结构地址失败! 13030CU0S2014报文域没有建立映射!13040CU0S2015循环报文域名必须包含索引值! 14000CU0I0000cmtfileoperator.cpp14010CU0S1008没有指定文件名!14020CU0S1001打开文件失败!14030CU0S1002读文件失败!14040CU0S1003写文件失败!14050CU0S1001打开报体文件失败!14060CU0S1002读报体文件失败!14070CU0S1003写报体文件失败!14080CU0O0102缺少报文块前缀!14090CU0O0103缺少报文块后缀!14100CU0O0108缺少报文域前缀!14110CU0O0109缺少报文域后缀!14120CU0O0110缺少报文域值!14130CU0O0106非文件块!14140CU0O0104缺少正文块!14150CU0O0107非法的报文块!15000CU0I0000cmtoperator.cpp15010CU0S1001打开报文域登记文件失败!15020CU0S1007报文域登记文件格式错误!15030CU0S1002读取报文域登记文件失败!15040CU0S1007报文编号非三位!15050CU0S1007报文域数目非法!15060CU0S1007报文没有登记!15070CU0S1007报文域信息登记不完整!15080CU0S1007报文域编号非3位!15090CU0S1007报文域名称没有登记!15100CU0S1007报文域序号错误!15110CU0S1007日期型报文域长度必须是8位或10位! 15120CU0O0113报文域长度非法!15130CU0S1007报文域类型非法!15140CU0S1007报文域没有登记!15150CU0S2006货币金额型报文域必须映射两个数据项! 15160CU0O0110报文域强制项没有指定值!15170CU0O0114报文域值非全数字串!15180CU0O0114报文域值非日期串!15190CU0O0114报文域值非全中文字符串!15200CU0O0110报文密押要素项没有指定值!15210CU0S2009必须先设置要处理的报文类型!15220CU0O0115报文域值非法!15230CU0S2007设置报文域值失败!15240CU0S1007错误的内部TAG编码15250CU0S1007报文域英文简称没有登记!16000CU0I0000cmtpkgmsg.cpp16010CU0O0106非包头块!16020CU0O0106非小额业务头!16030CU0O0114要素集号非全数字!16040CU0O0114小额业务头保留域格式错!16050CU0O0105报头块重复!16060CU0O0105包头块重复!16070CU0O0105报尾块重复!16080CU0O0105文件体重复!16090CU0O0105报文块重复!16100CU0O0104缺少正文块!16110CU0O0104缺少小额业务头块!16120CU0S1001打开文件失败!16130CU0S1002读文件失败!16140CU0S1001打开报体文件失败!16150CU0S1002读报体文件失败!16160CU0O0103小额业务头块缺少结束符!16170CU0O0103文件块缺少结束符!16180CU0O0103报体块缺少结束符!17000CU0I0000cpkgmsg.cpp17010CU0S2012创建工作报文对象失败! 17020CU0S2012缺少工作报文对象!18000CU0I0000cpkgmsgbase.cpp18010CU0S9008指定的调用参数无效!18020CU0S2013获取数据结构地址失败! 18030CU0S2014报文域没有建立映射!18040CU0S2015循环报文域名必须包含索引值! 19000CU0I0000mtbase.cpp19010CU0O0102无效的块前缀!19020CU0O0103无效的块后缀!19030CU0O0107无效的块长度!19040CU0O0114字段位置非法!19050CU0O0113字段长度非法!19060CU0O0115字段值非法!19070CU0O0114字段值非全数字串!19080CU0O0114字段值非全字母串!19090CU0O0114字段值非全字母数字串! 19100CU0O0114字段值非全中文串!19110CU0O0114字段值非BASE64编码串! 19120CU0O0114字段值非八位日期串!19130CU0O0114字段值非六位日期串!19140CU0O0114字段值非六位时间串!19150CU0O0114字段值非X字符集串!19160CU0O0114字段值非XG字符集串!19170CU0O0114字段值非X字符集串!19180CU0O0114字段值非XG字符集串!19190CU0O0114字段值非金额串!19200CU0O0114字段值非货币金额串!19210CU0S9008没有设置块属性!19220CU0S9008没有设置块后缀符!19230CU0O0108缺少TAG前缀符!19240CU0O0109缺少TAG后缀符!19250CU0O0108缺少值前缀符!19260CU0O0109缺少值后缀符!19270CU0O0110缺少字段!19280CU0O0110强制项没有指定值!19290CU0O0112TAG长度非法!19300CU0O0105重复的字段!19310CU0S9011创建链表结点失败!20000CU0I0000cxmlmsg.cpp20010CU0S2012创建工作报文对象失败!20020CU0S2012缺少工作报文对象!21000CU0I0000cxmlmsgbase.cpp21010CU0S9008指定的调用参数无效!21020CU0S2013获取数据结构地址失败!21030CU0S2014报文域没有建立映射!21040CU0S2015循环报文域名必须包含索引值!22000CU0I0000xmloperator.cpp22010CU0S1001读取报文域登记文件失败!22020CU0S1007报文域登记文件格式错误!22030CU0S1002读取报文域登记文件失败!22040CU0S1007报文编号非三位!22050CU0S1007报文域数目非法!22060CU0S1007报文没有登记!22070CU0S1007报文域信息登记不完整!22080CU0S1007报文域编号非3位!22090CU0S1007报文域名称没有登记!22100CU0S1007报文域序号错误!22110CU0S1007日期型报文域长度必须是8位或10位! 22120CU0O0113报文域长度非法!22130CU0S1007报文域类型非法!22140CU0S1007报文域没有登记!22150CU0S2006货币金额型报文域必须映射两个数据项! 22160CU0O0110报文域强制项没有指定值!22170CU0O0114报文域值非全数字串!22180CU0O0114报文域值非日期串!22190CU0O0114报文域值非全中文字符串!22200CU0O0110报文密押要素项没有指定值!22210CU0S2009必须先设置要处理的报文类型!22220CU0O0115报文域值非法!22230CU0S2007设置报文域值失败!22240CU0O0110报文域路径没有登记!22250CU0S9008输入参数非法22260CU0O0110报文域核签项没有指定值!23000CU0I0000XercesParserXml.cpp23010CU0S2012初始化XML环境失败!23020CU0O0101解析XML报文失败!23030CU0S2005创建DOM树失败!23040CU0S2007删除节点失败!23050CU0S2012加载校验框架文件(xsd)失败!23060CU0S2012获取解析器实现实例失败!23070CU0S2012创建输出文件失败!23080CU0S2005输出数据到文件失败!23090CU0S9008传递参数无效!24000CU0I0000SwiftMsg.cpp24010CU0S2009在初始化Block4之前需要先初始化Block3 24020CU0O0104缺少Block1!24030CU0O0104缺少Block2!24040CU0O0104缺少Block3!24050CU0O0104缺少Block4!24060CU0O0105报文块多余!25000CU0I0000swift.cpp25010CU0O0115无效的应用类型!25020CU0O0115无效的服务类型!25030CU0O0115无效的行号!25040CU0O0115无效的逻辑终端号!25050CU0O0115无效的报文任务号!25060CU0O0115无效的报文序列号!25070CU0O0110缺少应用类型!25080CU0O0110缺少服务器类型!25090CU0O0110缺少行号!25100CU0O0110缺少逻辑终端号!25110CU0O0110缺少报文任务号!25120CU0O0110缺少报文序列号!25130CU0O0115无效的输入输出类型!25140CU0O0115无效的报文类型编号!25150CU0O0115无效的优先级类型!25160CU0O0115无效的监控类型!25170CU0O0115无效的生命期值!25180CU0O0115无效的发送时间!25190CU0O0115无效的发起日期!25200CU0O0115无效的接收时间!25210CU0O0115无效的接收日期!25220CU0O0110缺少输入输出类型!25230CU0O0110缺少报文类型编号!25240CU0O0110缺少优先级类型!25250CU0O0110缺少监控类型!25260CU0O0110缺少生命期值!25270CU0O0110缺少发送时间!25280CU0O0110缺少发起日期!25290CU0O0110缺少接收时间!25300CU0O0110缺少接收日期!26000CU0I0000swfoperator.cpp26010CU0S1001打开文件失败!26020CU0S1007字段登记文件太小!26030CU0S1007字段登记文件太大!26040CU0S1007读取字段登记文件失败!26050CU0S1007报文域数目非法!26060CU0S1007报文没有登记!26070CU0S1007报文域信息登记不完整!26080CU0S1007报文域编号非法!26090CU0S1007报文域名称没有登记!26100CU0S1007报文域序号错误!26110CU0S1007FMTCODE非法!26120CU0O0112循环标志非法!26130CU0O0112SEQUENCE号非法!26140CU0O0112ITEM号非法!26150CU0O0112Item值非法!26160CU0O0108缺少前缀!26170CU0S2009必须先设置要处理的报文类型! 26180CU0O0115报文域值非法!26190CU0S2007设置报文域值失败!26200CU0S1007配置文件定义格式非法!26210CU0O0115TAG检查失败!26220CU0O0111报文中包含的TAG超出定义范围! 26230CU0O0111报文子项域没有登记!26240CU0O0109缺少后缀!26250CU0S1007报文定义不完整!26260CU0S1007Sequence定义不完整!26270CU0S1007Item定义不完整!26280CU0S2005Item值插入链表失败!26290CU0S1007Item代码太长!26300CU0O0104正文块内容为空!26310CU0S2012需要初始化!26320CU0S2002正文块中存在空行!26330CU0S2004索引号超出范围!26340CU0S2004传入的Buffer长度小于值长度! 26350CU0S2004每行的字节数太少!26360CU0S2004清单的字段数不匹配!26370CU0S2004清单串单行长度超长!26380CU0S2004清单串前缀符错误!27000CU0I0000swfcheck.cpp27010CU0O0115业务属性定义非法!27020CU0O0109基本类型缺少结束符!27030CU0O0109分隔符类型缺少结束符!27040CU0O0109变量类型缺少结束符!27050CU0O0109可选项类型缺少结束符!27060CU0O0110缺少业务属性!27070CU0O0110缺少值!27080CU0O0115不支持的业务属性!27090CU0O0113业务属性太长!27100CU0O0115嵌套的可选项目前不支持! 27110CU0S9008参数无效!27120CU0O0115检查失败!28000CU0I0000ccnccmsg.cpp28010CU0S2012创建工作报文对象失败!28020CU0S2012缺少工作报文对象!29000CU0I0000ccnccmsgbase.cpp29010CU0S9008指定的调用参数无效!29020CU0S2013获取数据结构地址失败!29030CU0S2014报文域没有建立映射!29040CU0S2015循环报文域名必须包含索引值! 30000CU0I0000cinfmsg.cpp30010CU0S2012创建工作报文对象失败!30020CU0S2012缺少工作报文对象!31000CU0I0000cinfmsgbase.cpp31010CU0S9008指定的调用参数无效!31020CU0S2013获取数据结构地址失败!31030CU0S2014报文域没有建立映射!31040CU0S2015循环报文域名必须包含索引值! 50000CU0I0000mqcmt.cpp50010CU0S9002当前节点类型参数非法!50020CU0S9002获取接收者的消息队列名称失败! 50030CU0S3001连接队列管理器失败!50040CU0S3002打开消息队列失败!50050CU0S3004放置消息到队列失败!50060CU0S3003获取队列中的消息失败!50070CU0S1001无法打开文件!50080CU0S1002读文件错!50090CU0S1003写文件错!50100CU0S1001创建文件错!50110CU0O0113报文体太大!50120CU0S3002打开错误队列错!50130CU0O0115非法的报文消息!51000CU0I0000cicscwa.cpp51010CU0S4001获取(CWA)地址失败!51020CU0S4002锁定(CWA)失败!51030CU0S4002解锁(CWA)失败!51040CU0S4005获取CICS域ID失败!51050CU0S4003释放共享数据区失败!51060CU0S4003申请共享数据区失败!51070CU0S4004(CWA)没有初始化!51080CU0S4004公共参数区没有初始化!51090CU0S4004共享数据区没有初始化!51100CU0S4003共享数据区容量太小!51110CU0S1001打开文件失败!51120CU0S1002读取文件失败!52000CU0I0000codeconvt.cpp5201CU0S9012字符转码失败!90000CU0I0000certsrv.cpp90010CU0S6001加载签名服务器模块失败! 90020CU0S6002连接方法句柄非法!90030CU0S6003连接签名服务器失败!90040CU0S6003签名服务器还没有连接!90050CU0S6002编制裸签方法句柄非法!90060CU0S6004编制裸签失败!90070CU0S6002核验裸签方法句柄非法!90080CU0S6005核验裸签失败!90090CU0S6002编制带公钥签名方法句柄非法! 90100CU0S6004编制带公钥签名失败!90110CU0S6002核验带公钥签名方法句柄非法! 90120CU0S6005核验带公钥签名失败!90130CU0S6002检查证书是否存在方法句柄非法! 90140CU0S6006检查证书是否存在失败!90150CU0S6002获取证书清单方法句柄非法! 90160CU0S6006获取证书清单失败!90170CU0S6002上传证书方法句柄非法!90180CU0S6007上传证书失败!90190CU0S6002下载证书方法句柄非法!90200CU0S6008下载证书失败!90210CU0S6002删除证书方法句柄非法!90220CU0S6009删除证书失败!90230CU0S6010配置数据没有设置!90240CU0S1002读取配置文件失败!90250CU0S6010缺少[System]/Server配置项!90260CU0S6010缺少[System]/Server/Type配置项!90270CU0S6010[System]/Server/Type配置项必须是Cluster,Server,API! 90280CU0S6010缺少[System]/Server/ModuleName配置项!90290CU0S6010缺少[System]/Server/IP配置项!90300CU0S6010缺少[System]/Server/Port配置项!90310CU0S6010缺少[System]/Server/CertDirName配置项!90320CU0S6010缺少[System]/Server/CACertFileName配置项!90330CU0S6010缺少[System]/Server/CRLFileName配置项!90340CU0S6010缺少[System]/Server/PrivateCertFileName配置项! 90350CU0S6010缺少[System]/Server/PrivateCertPassword配置项! 90360CU0S6011没有可用的签名服务器!90370CU0S6010缺少[System]/Server/ModulePassword配置项!。
CMPP的错误信息

CMPP的错误信息下面是我收集到的移动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 无提交权限注:短消息中心拒绝掉此消息常见错误。
长短信实现系列之移动CMPP2

长短信实现系列之移动CMPP2.01)背景目前我们的短信发送基本上就是超过140字节(甚至更少)就切分(移动普通短信超过140个字节甚至都发送不了,联通倒是可以),然后分几条发给客户,而且也不能保证顺序,用户体验不好,运营这边抱怨说精简再精简还是超过了字数,于是长短信的支持就成为必须的事情了。
2)原理红色部分表示发长短信要更改的字段洋红色部分表示发长短信可以更改或者不更改的字段2.1)长短信的协议和普通短信的协议稍有不同2.1.1) TP_udhi=1在Msg_content中加入6个字节或者7个字节的udhi头做为前缀2.1.2)6个字节的TP_udhi协议头05 00 03 XX MM NNbyte 1 : 05, 表示剩余协议头的长度byte 2 : 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。
byte 3 : 03, 这个值表示剩下短信标识的长度byte 4 : XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。
byte 5 : MM, 这批短信的数量。
如果一个超长短信总共5条,这里的值就是5。
byte 6 : NN, 这批短信的数量。
如果当前短信是这批短信中的第一条的值是1,第二条的值是2。
例如:05 00 03 39 02 012.1.3)7个字节的TP_udhi协议头06 08 04 XX XX MM NNbyte 1 : 06, 表示剩余协议头的长度byte 2 : 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。
byte 3 : 04, 这个值表示剩下短信标识的长度byte 4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。
中国移动短信网关错误代码汇总

无临时话单
400
服务器端无法理解请求CMPP包
401
用户未被认证,应答包中包含Authenticate,要用户认证
413
请求实体太长
414
梦网内部实体间的XML消息体错误
415
SP发给GW的XML消息体错误
501
SCP流量窗口满
SCPGW发送,接收流量窗口满
502
和G-SCP连接中断
SCPGW与SCP通信中断
151
用户未订购该组的主服务
订购关系鉴权中,该从业务没有一个相应的主业务的定购关系为激活状态
152
该服务组不存在
查询服务组信息时,数据库中没有任何组信息
160
用户试用该业务期满
WAP免费试用业务,下行时判断到用户试用该业务期满
161
用户定购并取消了该允许试用的业务
用户在试用期内曾经定购过该免费试用业务,并取消了,再次订购则会返回此错误码
1.4
错误代码
错误描述
产生原因
4000
无效的msgtype
4001
无效的action_id
4002
无效的action_reasonid
4003
无效的SP ID
4004
无效的serviceID
4005
无效的pseudocode
4006
无效的accessmode
4007
MISC同步开通服务,但SP端已存在订购关系,且状态为开通
113
SP不存在
SP鉴权,在数据库中没有找到该SP信息
114
SP暂停
SP鉴权,SP状态不正常
115
用户没有订购此业务
激活,暂停,取消业务时,用户没有订购该业务;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
短信错误码整改方案
中国移动通信集团公司
2002年12月
前言
根据网上业务开放的需要,研发中心对CMPP传递的错误代码进行了进一步的扩充,以便能够更好地了解网络上产生错误的原因,该文件作为CMPP2.0的补充规定。
该文件的主要起草人:党京、孙若雯
一、目的
为了移动梦网短信业务的顺利开展,针对ISMG、SCP、SMSC这些网元产生的响应消息中的错误码和ISMG产生的状态报告中的状态码进行一番整改。
二、整改方案
1、ISMG向SCP发送计费请求,此时有两种出错情况:
(1)因为发送失败、网络原因、SCP超时等原因造成的ISMG未接收到SCP响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“CA:xxxx”,其中xxxx
为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值
参见附录中对xxxx的说明;
(2)接收到SCP的响应消息表明计费失败,ISMG生成状态报告,状态报告中的stat 字段取值为“CB:yyyy”,其中yyyy为SCP返回给ISMG的错误码,其长度为4
位,不足4位在前面补0,具体值参见附录中对yyyy的说明。
2、ISMG向SMSC发送计费请求,此时有两种出错情况:
(1)因为发送失败、网络原因、SMSC超时等原因造成的ISMG未接收到SMSC响应消息,ISMG生成状态报告,状态报告中的stat字段取值为“MA:xxxx”,其
中xxxx为ISMG认定的错误原因代码,其长度为4位,不足4位在前面补0,
具体值参见附录中对xxxx的说明;
(2)接收到SMSC的响应消息表明SMSC处理消息失败,ISMG生成状态报告,状态报告中的stat字段取值为“MB:zzzz”,其中zzzz为SMSC返回给ISMG的错
误码,其长度为4位,不足4位在前面补0,具体值参加附录中对zzzz的说明。
3、目前CMPP2.0中定义了响应消息中的10个返回码,其中0表示成功,1-9分别表示各种错误类型,各厂家在返回错误码时应尽可能向这9个错误码靠拢,当然,因为设计的原因或者查错的方便,厂家可以在规定的厂家自定义错误码空间中定义自己的错误码,但是,定义错误码时不允许存在类似与“其它错误”或者“系统错误”这类含义模糊的情况,即各厂家能够对自己返回的每一个错误码给出明确的含义解释,以利于错误发生时的定位工作。
目前有两种方案可供选择:(1)各厂家共用一段厂家自定义的错误码空间:100-199。
(2)各厂
家分别划分一段错误码空间,如下:华为:100-199;东软:200-299;亚信:300-399;深讯:400-499;
4、SCP厂家返回错误码一律按照附录中yyyy值,该值是从《移动梦网短信业务信令流程规范(V1.0)》中摘出来的。
5、SMSC厂家返回错误码一律按照附录中zzzz值,该值是从《短消息中心设备技术接口规范(V1.2)》中摘出来的。
6、ISMG上产生的话单的“短信息发送状态”字段有所修改,该字段原来的值如下表:
修改后的该字段的值如下表:
7、目的ISMG在一条短信处理流程中,应该生成一个状态报告而且只能生成一个状态报告,即所生成的状态报告应该表明短信的最终状态,在短信处理的中间状态不应该有状态报告产生。
8、所有在上述整改方案中未涉及的情况仍旧按照以前的业务流程规范执行。
三、附录
1、xxxx的定义:
2、yyyy的定义
3、zzzz的定义
4、SP常见的错误情况
(1)状态报告stat为CB:0005:表示神州行用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务;
(2)状态报告stat为CB:0007:表示神州行用户因为余额不足而导致用户无法享受服务;(3)状态报告stat为EXPIRED:表示因为用户长时间关机或者不在服务区等导致的短信息超时没有递交到用户手机上;
(4)状态报告stat为UNDELIVERABLE:表示全球通用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务。
注:原测试报告中状态报告为REJECTED的情况现在大部分对应到CB:0005和CB:0007这两种情况。