天天看点

中国移动短信MISC割接

短信息中心错误与中国移动代码的对应关系。

MI::zzzz

SMSC返回状态报告的状态值为EXPIRED

MJ:zzzz

SMSC返回状态报告的状态值为DELETED

MK:zzzz

SMSC返回状态报告的状态值为UNDELIV

ML:zzzz

SMSC返回状态报告的状态值为ACCEPTD

MM:zzzz

SMSC返回状态报告的状态值为UNKNOWN

MN:zzzz

SMSC返回状态报告的状态值为REJECTD 回页首

CMPP发送失败代码对照表

值(4位,不足4位前面补0) 含义

1 消息结构错

2 命令字错误

3 消息序列号重复

4 消息长度错

5 资费代码错

6 超过最大信息长

7 业务代码错

8 流量控制错

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

10 Src_ID错

11 Msg_src错

12 计费地址错

13 目的地址错

14~49 扩展

51 尚未建立连接

52 尚未成功登录

53 发送消息失败

54 超时未接收到响应消息

55 等待状态报告超时

60 保留

61 有效时间已经过期

62 定时发送时间已经过期

63 不能识别的FeeType

64 发送服务源地址鉴权失败

65 发送服务目的地址鉴权失败

66 接收服务源地址鉴权失败

67 接收服务目的地址鉴权失败

68 用户鉴权失败

69 此用户为黑名单用户

70 网络断连或目的设备关闭接口

71 超过最大节点数

72 找不到路由

73 等待应答超时

74 送SCP失败

75 送SCP鉴权等待应答超时

76 信息安全鉴权失败

77 超过最大Submit提交数

78 SPID 为空

79 业务类型为空

80 CPCode错误

81 发送接收接口重复

82 循环路由

83 超过接收侧短消息MTU

84 送DSMP重发失败

85 DSMP系统忙重发

86 DSMP系统忙,且缓存满重发

87 DSMP流控重发

88 等DSMP应答超时重发

89

201~240 SCP错误码

202 非神州行预付费用户

203 数据库操作失败

206 移动用户帐户数据异常

208 用户余额不足

210 超过最高欠费额

215 重复发送消息序列号msgid相同的计费请求消息

218 SCP互联失败

222 未登记的SP

232 月消费超额

241~255 SMC错误码(其中250~255为康为短消息中心错误应答映射,根据smpp3.4协议)

241 未定义

250 消息队列满

300 暂还没有设置定义255号以上错误的,建议SP查一下是否存在

回页首

华为InfoX——SMPP话单错误码

错误码 含义

AAAA 网关错误码

1XXXX 消息发往SCP出错时错误码

2BBBB SCP返回错误应答时的错误码,其中BBBB为SCP返回的错误应答消息中的错误码值

3XXXX 消息发往下一级ISMG出错时错误码

4CCCC 下一级ISMG返回错误应答时的错误码,其中CCCC为下一级ISMG返回的错误应答消息中的错误码值

5XXXX 消息发往SP出错时错误码

6DDDD SP返回错误应答时的错误码,其中DDDD为SP返回的错误应答消息中的错误码值

7XXXX 消息发往DSMP出错时错误码

8EEEE DSMP返回错误应答时的错误码,其中EEEE为DSMP返回的错误应答消息中的错误码值

9XXXX 消息发往SMC出错时错误码

10FFFF SMC返回错误应答时的错误码,其中FFFF为SMC返回的错误应答消息中的错误码值

11XXXX 消息发往SPACE出错时错误码

12GGGG SPACE返回错误应答时的错误码,其中FFFF为SPACE返回的错误应答消息中的错误码值

回页首

华为InfoX——CMPP状态报告错误stat含义

Message State Final Message States Description

DELIVERED DELIVRD Message is delivered to destination

EXPIRED EXPIRED Message validity period has

expired

DELETED DELETED Message has been deleted.

UNDELIVERABLE UNDELIV Message is undeliverable

ACCEPTED ACCEPTD Message is in accepted state(i.e. has been manually read on behalf of the subscriber by customer service)

UNKNOWN UNKNOWN Message is in invalid state

REJECTED REJECTD Message is in a rejected state

NOROUTE NOROUTE 查找路由失败

MA:xxxx MA:xxxx SMSC不返回响应消息时的状态报告

MB:xxxx MB:xxxx SMSC返回错误响应消息时的状态报告

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

CA:xxxx CA:xxxx SCP不返回响应消息时的状态报告

CB:xxxx CB:xxxx SCP返回错误响应消息时的状态报告

DA:xxxx DA:xxxx DSMP不返回响应消息时的状态报告

DB:xxxx DB:xxxx DSMP返回错误响应消息时的状态报告

SA:xxxx SA:xxxx SP不返回响应消息时的状态报告

SB:xxxx SB:xxxx SP返回错误响应消息时的状态报告

IA:xxxx IA:xxxx 下一级ISMG不返回响应消息时的状态报告

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

IC:xxxx IC:xxxx 没有从下一级ISMG处接收到状态报告时的状态报告

ID:xxxx ID:xxxx 网关ISMG内部检测错误码

ID:0020 ID:0020 SPACE用户鉴权模块鉴权用户停机或欠费错误

ID:0021 ID:0021 SPACE用户鉴权模块:用户销户错误

MI::zzzz MI::zzzz SMSC返回状态报告的状态值为EXPIRED

MJ:zzzz MJ:zzzz SMSC返回状态报告的状态值为DELETED

MK:zzzz MK:zzzz SMSC返回状态报告的状态值为UNDELIV

ML:zzzz ML:zzzz SMSC返回状态报告的状态值为ACCEPTD

MM:zzzz MM:zzzz SMSC返回状态报告的状态值为UNKNOWN

MN:zzzz MN:zzzz SMSC返回状态报告的状态值为REJECTD

MH:zzzz MH:zzzz 其它值

回页首

华为InfoX——接口断连错误码说明

4.1 infoX接口断连的原因概述

接口断连的原因一般可分为三类,分别为:

A、握手超时(Enquire Link)

B、业务模块发送的消息协议错误

C、TCP/IP的SOCKET关闭或产生异常。

以下将对各情况进行描述。

4.2 业务模块发送的消息协议错误

此情况由于客户模块发送了结构错误的消息,或者消息错位,导致infoX读取消息错误。由于infoX与客户模块采用消息流格式,为防止由于消息错位造成以后的消息都不能正确取得,此时,对于基中的某些消息,infoX将断连接口。原因分别为:

错误码 原因分析 后续操作

97001 缺省解码失败 为防止以后消息错位,接口将断连

97002 消息头错误 为防止以后消息错位,接口将断连

97003 源缓冲区不够,不处理 继续接收消息

97004 目的缓冲区不够 为防止以后消息错位,接口将断连

97005 严重协议错误 为防止以后消息错位,接口将断连

97006 协议中某字段一般性错误 只删除此消息,不断开接口

97007 接收到NACK消息 为防止以后消息错位,接口将断连

97008 接收太多的握手 接口将断连

97009 地址错误,NPI、TON不支持 只删除此消息,不断开接口

97010 时间格式错误 只删除此消息,不断开接口

97011 DCS错误 只删除此消息,不断开接口

97012 协议不支持 只删除此消息,不断开接口

97013~97999 保留

例:

2001/05/28 15:31:03 2 ID为32的接口产生接口断连信息,对端地址:10.10.2.1 ErrCode:97001,ErrorType:0

4.3 握手或接收异常错误

错误码 原因分析 后续操作

19000 保留

19001 接收消息的Buff出了问题 接口将断连

19002 解码返回的值不对(只能是0/-1/>0) 接口将断连

19003 握手超时 接口将断连

19004 对端主动关闭Socket

19005 连接对方服务器的间隔时间,到时重连

19006 发送Login请求后,等待对方服务器的应答消息超时

19007 进行Socket底层的连接建立,等待connect函数的时间

19008 Dsmpfep read消息错误

4.4 TCP/IP的SOCKET关闭或产生异常

此情况是由于客户端主动关闭退出产生的提示信息,错误代码为“0”;

例:

2001/05/28 15:32:14 2 ID为32的接口产生接口断连信息,对端地址:10.10.2.1 ErrCode:0,ErrorType:0

或者由于SOCKET底层的其它异常错误,导致接口断连,此时的错误码将有多种多样,详细描述请见WINDOWS平台SOCKET错误码说明及UNIX平台错误码说明。

例:

2001/05/30 15:49:32 2 ID为32的接口产生接口断连信息,对端地址:10.10.2.1 ErrCode:10054,ErrorType:0

4.5 WINDOWS平台SOCKET错误码说明

MSDN对于SOCKET异常ID的描述

错误码值 错误码标识 含义

10004 WSAEINTR Interrupted function call.

A blocking operation was interrupted by a call to WSACancelBlockingCall.

10013 WSAEACCES Permission denied.

An attempt was made to access a socket in a way forbidden by its access permissions. An example is using a broadcast address for sendto without broadcast permission being set using setsockopt(SO_BROADCAST).

10014 WSAEFAULT Bad address.

The system detected an invalid pointer address in attempting to use a pointer argument of a call. This error occurs if an application passes an invalid pointer value, or if the length of the buffer is too small. For instance, if the length of an argument which is a struct sockaddr is smaller than sizeof(struct sockaddr).

10022 WSAEINVAL Invalid argument.

Some invalid argument was supplied (for example, specifying an invalid level to the setsockopt function). In some instances, it also refers to the current state of the socket - for instance, calling accept on a socket that is not listening.

10024 WSAEMFILE Too many open files.

Too many open sockets. Each implementation may have a maximum number of socket handles available, either globally, per process or per thread.

10035 WSAEWOULDBLOCK Resource temporarily unavailable.

This error is returned from operations on non-blocking sockets that cannot be completed immediately, for example recv when no data is queued to be read from the socket. It is a non-fatal error, and the operation should be retried later. It is normal for WSAEWOULDBLOCK to be reported as the result from calling connect on a non-blocking SOCK_STREAM socket, since some time must elapse for the connection to be established.

10036 WSAEINPROGRESS Operation now in progress.

A blocking operation is currently executing. Windows Sockets only allows a single blocking operation to be outstanding per task (or thread), and if any other function call is made (whether or not it references that or any other socket) the function fails with the WSAEINPROGRESS error.

10037 WSAEALREADY Operation already in progress.

An operation was attempted on a non-blocking socket that already had an operation in progress - i.e. calling connect a second time on a non-blocking socket that is already connecting, or canceling an asynchronous request (WSAAsyncGetXbyY) that has already been canceled or completed.

10038 WSAENOTSOCK Socket operation on non-socket.

An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.

10039 WSAEDESTADDRREQ Destination address required.

A required address was omitted from an operation on a socket. For example, this error will be returned if sendto is called with the remote address of ADDR_ANY.

10040 WSAEMSGSIZE Message too long.

A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself.

10041 WSAEPROTOTYPE Protocol wrong type for socket.

A protocol was specified in the socket function call that does not support the semantics of the socket type requested. For example, the ARPA Internet UDP protocol cannot be specified with a socket type of SOCK_STREAM.

10042 WSAENOPROTOOPT Bad protocol option.

An unknown, invalid or unsupported option or level was specified in a getsockopt or setsockopt call.

10043 WSAEPROTONOSUPPORT Protocol not supported.

The requested protocol has not been configured into the system, or no implementation for it exists. For example, a socket call requests a SOCK_DGRAM socket, but specifies a stream protocol.

10044 WSAESOCKTNOSUPPORT Socket type not supported.

The support for the specified socket type does not exist in this address family. For example, the optional type SOCK_RAW might be selected in a socket call, and the implementation does not support SOCK_RAW sockets at all.

10045 WSAEOPNOTSUPP Operation not supported.

The attempted operation is not supported for the type of object referenced. Usually this occurs when a socket descriptor to a socket that cannot support this operation, for example, trying to accept a connection on a datagram socket.

10046 WSAEPFNOSUPPORT Protocol family not supported.

The protocol family has not been configured into the system or no implementation for it exists. Has a slightly different meaning to WSAEAFNOSUPPORT, but is interchangeable in most cases, and all Windows Sockets functions that return one of these specify WSAEAFNOSUPPORT.

10047 WSAEAFNOSUPPORT Address family not supported by protocol family.

An address incompatible with the requested protocol was used. All sockets are created with an associated "address family" (i.e. AF_INET for Internet Protocols) and a generic protocol type (i.e. SOCK_STREAM). This error will be returned if an incorrect protocol is explicitly requested in the socket call, or if an address of the wrong family is used for a socket, e.g. in sendto.

10048 WSAEADDRINUSE Address already in use.

Only one usage of each socket address (protocol/IP address/port) is normally permitted. This error occurs if an application attempts to bind a socket to an IP address/port that has already been used for an existing socket, or a socket that wasn't closed properly, or one that is still in the process of closing. For server applications that need to bind multiple sockets to the same port number, consider using setsockopt(SO_REUSEADDR). Client applications usually need not call bind at all - connect will choose an unused port automatically. When bind is called with a wild-card address (involving ADDR_ANY), a WSAEADDRINUSE error could be delayed until the specific address is "committed." This could happen with a call to other function later, including connect, listen, WSAConnect or WSAJoinLeaf.

10049 WSAEADDRNOTAVAIL Cannot assign requested address.

The requested address is not valid in its context. Normally results from an attempt to bind to an address that is not valid for the local machine. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote machine (e.g. address or port 0).

10050 WSAENETDOWN Network is down.

A socket operation encountered a dead network. This could indicate a serious failure of the network system (i.e. the protocol stack that the WinSock DLL runs over), the network interface, or the local network itself.

10051 WSAENETUNREACH Network is unreachable.

A socket operation was attempted to an unreachable network. This usually means the local software knows no route to reach the remote host.

10052 WSAENETRESET Network dropped connection on reset.

The connection has been broken due to "keep-alive" activity detecting a failure while the operation was in progress. It can also be returned by setsockopt if an attempt is made to set SO_KEEPALIVE on a connection that has already failed.

10053 WSAECONNABORTED Software caused connection abort.

An established connection was aborted by the software in your host machine, possibly due to a data transmission timeout or protocol error.

10054 WSAECONNRESET Connection reset by peer.

A existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, or the remote host used a "hard close" (see setsockopt for more information on the SO_LINGER option on the remote socket.) This error may also result if a connection was broken due to "keep-alive" activity detecting a failure while one or more operations are in progress. Operations that were in progress fail with WSAENETRESET. Subsequent operations fail with WSAECONNRESET.

10055 WSAENOBUFS No buffer space available.

An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.

10056 WSAEISCONN Socket is already connected.

A connect request was made on an already connected socket. Some implementations also return this error if sendto is called on a connected SOCK_DGRAM socket (For SOCK_STREAM sockets, the to parameter in sendto is ignored), although other implementations treat this as a legal occurrence.

10057 WSAENOTCONN Socket is not connected.

A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using sendto) no address was supplied. Any other type of operation might also return this error - for example, setsockopt setting SO_KEEPALIVE if the connection has been reset.

10058 WSAESHUTDOWN Cannot send after socket shutdown.

A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call. By calling shutdown a partial close of a socket is requested, which is a signal that sending or receiving or both has been discontinued.

10060 WSAETIMEDOUT Connection timed out.

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

10061 WSAECONNREFUSED Connection refused.

No connection could be made because the target machine actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host - i.e. one with no server application running.

10064 WSAEHOSTDOWN Host is down.

A socket operation failed because the destination host was down. A socket operation encountered a dead host. Networking activity on the local host has not been initiated. These conditions are more likely to be indicated by the error WSAETIMEDOUT.

10065 WSAEHOSTUNREACH No route to host.

A socket operation was attempted to an unreachable host. See WSAENETUNREACH

10067 WSAEPROCLIM Too many processes.

A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously. WSAStartup may fail with this error if the limit has been reached.

10091 WSASYSNOTREADY Network subsystem is unavailable.

This error is returned by WSAStartup if the Windows Sockets implementation cannot function at this time because the underlying system it uses to provide network services is currently unavailable. Users should check:

that the appropriate Windows Sockets DLL file is in the current path,

that they are not trying to use more than one Windows Sockets implementation simultaneously. If there is more than one WINSOCK DLL on your system, be sure the first one in the path is appropriate for the network subsystem currently loaded.

the Windows Sockets implementation documentation to be sure all necessary components are currently installed and configured correctly.

10092 WSAVERNOTSUPPORTED WINSOCK.DLL version out of range.

The current Windows Sockets implementation does not support the Windows Sockets specification version requested by the application. Check that no old Windows Sockets DLL files are being accessed.

10093 WSANOTINITIALISED Successful WSAStartup not yet performed.

Either the application hasn't called WSAStartup or WSAStartup failed. The application may be accessing a socket which the current active task does not own (i.e. trying to share a socket between tasks), or WSACleanup has been called too many times.

10094 WSAEDISCON Graceful shutdown in progress.

Returned by WSARecv and WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence.

10109 WSATYPE_NOT_FOUND Class type not found.

The specified class was not found.

11001 WSAHOST_NOT_FOUND Host not found.

No such host is known. The name is not an official hostname or alias, or it cannot be found in the database(s) being queried. This error may also be returned for protocol and service queries, and means the specified name could not be found in the relevant database.

11002 WSATRY_AGAIN Non-authoritative host not found.

This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server. A retry at some time later may be successful.

11003 WSANO_RECOVERY This is a non-recoverable error.

This indicates some sort of non-recoverable error occurred during a database lookup. This may be because the database files (e.g. BSD-compatible HOSTS, SERVICES or PROTOCOLS files) could not be found, or a DNS request was returned by the server with a severe error.

11004 WSANO_DATA Valid name, no data record of requested type.

The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for. The usual example for this is a hostname -> address translation attempt (using gethostbyname or WSAAsyncGetHostByName) which uses the DNS (Domain Name Server), and an MX record is returned but no A record - indicating the host itself exists, but is not directly reachable.

4.6 UNIX平台SOCKET错误码说明

错误码值 错误码标识 含义

HP平台

10001 EPERM Not super-user

10002 ENOENT No such file or directory

10003 ESRCH No such process

10004 EINTR interrupted system call

10005 EIO I/O error

10006 ENXIO No such device or address

10007 E2BIG Arg list too long

10008 ENOEXEC Exec format error

10009 EBADF Bad file number

10010 ECHILD No children

10011 EAGAIN No more processes

10012 ENOMEM Not enough core

10013 EACCES Permission denied

10014 EFAULT Bad address

10015 ENOTBLK Block device required

10016 EBUSY Mount device busy

10017 EEXIST File exists

10018 EXDEV Cross-device link

10019 ENODEV No such device

10020 ENOTDIR Not a directory

10021 EISDIR Is a directory

10022 EINVAL Invalid argument

10023 ENFILE File table overflow

10024 EMFILE Too many open files

10025 ENOTTY Not a typewriter

10026 ETXTBSY Text file busy

10027 EFBIG File too large

10028 ENOSPC No space left on device

10029 ESPIPE Illegal seek

10030 EROFS Read only file system

10031 EMLINK Too many links

10032 EPIPE Broken pipe

10033

10034

10035 ENOMSG No message of desired type

10036 EIDRM Identifier removed

10037 ECHRNG Channel number out of range

10038 EL2NSYNC Level 2 not synchronized

10039 EL3HLT Level 3 halted

10040 EL3RST Level 3 reset

10041 ELNRNG Link number out of range

10042 EUNATCH Protocol driver not attached

10043 ENOCSI No CSI structure available

10044 EL2HLT Level 2 halted

10045 EDEADLK A deadlock would occur

10046 ENOLCK System record lock table was full

10047 EILSEQ Illegal byte sequence

10048

10049

10050 ENONET Machine is not on the network

10051 ENODATA no data (for no delay io)

10052 ETIME timer expired

10053 ENOSR out of streams resources

10054 ENOSTR Device not a stream

10055 ENOPKG Package not installed

10056

10057 ENOLINK the link has been severed

10058 EADV advertise error

10059 ESRMNT srmount error

10060 ECOMM Communication error on send

10061 EPROTO Protocol error

10064 EMULTIHOP multihop attempted

10066 EDOTDOT Cross mount point (not really error)

10067 EBADMSG trying to read unreadable message

10068 EUSERS For Sun compatibilty, will not occur.

10069 EDQUOT Disc quota exceeded

10070 ESTALE Stale NFS file handle

10071 EREMOTE Too many levels of remote in path

10072 EOVERFLOW Value too large to be stored in data type

10152 ENOLOAD Cannot load required kernel module

10153 ERELOC Object file error in loading kernel module

10154 ENOMATCH Symbol matching given spec not found

10155 ENOUNLD Cannot unload kernel module

10156 EBADVER Version number mismatch for loadable kernel module

10157 ECONFIG Configured kernle resource exhausted

10158 ENOREG Cannot register required kernel module

10159 ENOUNREG Cannot unregister kernel module

10215 ENOSYM symbol does not exist in executable

10216 ENOTSOCK Socket operation on non-socket

10217 EDESTADDRREQ Destination address required

10218 EMSGSIZE Message too long

10219 EPROTOTYPE Protocol wrong type for socket

10220 ENOPROTOOPT Protocol not available

10221 EPROTONOSUPPORT Protocol not supported

10222 ESOCKTNOSUPPORT Socket type not supported

10223 EOPNOTSUPP Operation not supported

10224 EPFNOSUPPORT Protocol family not supported

10225 EAFNOSUPPORT Address family not supported by protocol family

10226 EADDRINUSE Address already in use

10227 EADDRNOTAVAIL Can't assign requested address

10228 ENETDOWN Network is down

10229 ENETUNREACH Network is unreachable

10230 ENETRESET Network dropped connection on

10231 ECONNABORTED Software caused connection abort

10232 ECONNRESET Connection reset by peer

10233 ENOBUFS No buffer space available

10234 EISCONN Socket is already connected

10235 ENOTCONN Socket is not connected

10236 ESHUTDOWN Can't send after socket shutdown

10237 ETOOMANYREFS Too many references: can't splice

ECONNREFUSED EREFUSED Double define for NFS

10238 ETIMEDOUT Connection timed out

10239 ECONNREFUSED Connection refused

10240 EREMOTERELEASE Remote peer released connection

10241 EHOSTDOWN Host is down

10242 EHOSTUNREACH No route to host

10244 EALREADY Operation already in progress

10245 EINPROGRESS Operation now in progress

10246 EWOULDBLOCK Operation would block

10247 ENOTEMPTY Directory not empty

10248 ENAMETOOLONG File name too long

10249 ELOOP Too many levels of symbolic links

10251 ENOSYS Function not implemented

10252 ENOTSUP Function not implemented

10253 ECANCELED aio request was canceled before complete

IBM平台

10001 EPERM Operation not permitted

10002 ENOENT No such file or directory

10003 ESRCH No such process

10004 EINTR interrupted system call

10005 EIO I/O error

10006 ENXIO No such device or address

10007 E2BIG Arg list too long

10008 ENOEXEC Exec format error

10009 EBADF Bad file descriptor

10010 ECHILD No child processes

10011 EAGAIN Resource temporarily unavailable

10012 ENOMEM Not enough space

10013 EACCES Permission denied

10014 EFAULT Bad address

10015 ENOTBLK Block device required

10016 EBUSY Resource busy

10017 EEXIST File exists

10018 EXDEV Improper link

10019 ENODEV No such device

10020 ENOTDIR Not a directory

10021 EISDIR Is a directory

10022 EINVAL Invalid argument

10023 ENFILE Too many open files in system

10024 EMFILE Too many open files

10025 ENOTTY Inappropriate I/O control operation

10026 ETXTBSY Text file busy

10027 EFBIG File too large

10028 ENOSPC No space left on device

10029 ESPIPE Invalid seek

10030 EROFS Read only file system

10031 EMLINK Too many links

10032 EPIPE Broken pipe

10033 EDOM Domain error within math function

10034 ERANGE Result too large

10035 ENOMSG No message of desired type

10036 EIDRM Identifier removed

10037 ECHRNG Channel number out of range

10038 EL2NSYNC Level 2 not synchronized

10039 EL3HLT Level 3 halted

10040 EL3RST Level 3 reset

10041 ELNRNG Link number out of range

10042 EUNATCH Protocol driver not attached

10043 ENOCSI No CSI structure available

10044 EL2HLT Level 2 halted

10045 EDEADLK Resource deadlock avoided

10046 ENOTREADY Device not ready

10047 EWRPROTECT Write-protected media

10048 EFORMAT Unformatted media

10049 ENOLCK No locks available

10050 ENOCONNECT no connection

10052 ESTALE no filesystem

10053 EDIST old, currently unused AIX errno

10054 EWOULDBLOCK

10055 EINPROGRESS Operation now in progress

10056 EALREADY Operation already in progress

10057 ENOTSOCK Socket operation on non-socket

10058 EDESTADDRREQ Destination address required

10059 EMSGSIZE Message too long

10060 EPROTOTYPE Protocol wrong type for socket

10061 ENOPROTOOPT Protocol not available

10062 EPROTONOSUPPORT Protocol not supported

10063 ESOCKTNOSUPPORT Socket type not supported

10064 EOPNOTSUPP Operation not supported on socket

10065 EPFNOSUPPORT Protocol family not supported

10066 EAFNOSUPPORT Address family not supported by protocol family

10067 EADDRINUSE Address already in use

10068 EADDRNOTAVAIL Can't assign requested address

10069 ENETDOWN Network is down

10070 ENETUNREACH Network is unreachable

10071 ENETRESET Network dropped connection on reset

10072 ECONNABORTED Software caused connection abort

10073 ECONNRESET Connection reset by peer

10074 ENOBUFS No buffer space available

10075 EISCONN Socket is already connected

10076 ENOTCONN Socket is not connected

10077 ESHUTDOWN Can't send after socket shutdown

10078 ETIMEDOUT Connection timed out

10079 ECONNREFUSED Connection refused

10080 EHOSTDOWN Host is down

10081 EHOSTUNREACH No route to host

10082 ERESTART restart the system call

10083 EPROCLIM Too many processes

10084 EUSERS Too many users

10085 ELOOP Too many levels of symbolic links

10086 ENAMETOOLONG File name too long

10087 Directory not empty

10088 EDQUOT Disc quota exceeded

10089 ECORRUPT Invalid file system control data

10093 EREMOTE Item is not local to host

10109 ENOSYS Function not implemented POSIX

10110 EMEDIA media surface error

10111 ESOFT I/O completed, but needs relocation

10112 ENOATTR no attribute found

10113 ESAD security authentication denied

10114 ENOTRUST not a trusted program

10115 ETOOMANYREFS Too many references: can't splice

10116 EILSEQ Invalid wide character

10117 ECANCELED asynchronous i/o cancelled

10118 ENOSR temp out of streams resources

10119 ETIME I_STR ioctl timed out

10120 EBADMSG wrong message type at stream head

10121 EPROTO STREAMS protocol error

10122 ENODATA no message ready at stream head

10123 ENOSTR fd is not a stream

10124 ENOTSUP POSIX threads unsupported value

10125 EMULTIHOP multihop is not allowed

10126 ENOLINK the link has been severed

10127 EOVERFLOW value too large to be stored in data type

回页首

华为InfoX——维测及网管错误码说明

infoX网关回送给维测台及网管的错误码说明

维测错误码 网管错误码 含义

99000 4000 保留

99001 4001 用户没有查询权限

99002 4002 用户没有修改权限

99003 4003 收到的维测协议错误(版本错误)

99004 4004 输入要操作的帐号名为空

99005 4005 帐号名错误

99006 4006 不能对高级管理帐号sa进行操作

99007 4007 输入相关帐号名不合法

99008 4008 输入帐号优先级的值不合法

99009 4009 由于系统原因添加帐号失败

99010 4010 由于系统原因添加接口失败

99011 4011 添加接口的对端地址信息输入格式错误

99012 4012 添加接口的接口类型无效(维测台版本错误)

99013 4013 用户不能删除sa下的维测接口

99014 4014 用户输入的接口ID无效

99015 4015 由于系统原因查询接口失败

99016 4016 由于系统原因,查询号段鉴权信息失败

99017 4017 号段鉴权信息所在帐号的鉴权类型无效

99018 4018 号段鉴权信息所在帐号的鉴权类型为用户鉴权

99019 4019 号段鉴权信息输入的服务类型无效

99020 4020 号段鉴权信息输入的地址类型无效

99021 4021 增加号段鉴权信息已经存在或输入号段无效

99022 4022 删除号段鉴权信息不存在

99023 4023 路由信息和帐号名不匹配

99024 4024 路由信息操作系统错误

99025 4025 删除路由的地址信息错误

99026 4026 添加路由的地址信息错误

99027 4027 添加PPS路由信息输入用户类型错误

99028 4028 接入码错误

99029 4029 SETPARAM输入服务类型为SERVICE_SMS时,没有接口

99030 4030 加载数据中心地址信息失败

99031 4031 加载错误提示信息失败

99032 4032 加载费率表失败

99033 4033 加载IP信息失败

99034 4034 加载存储转发信息失败

99035 4035 加载SP拦截信息失败

99036 4036 加载DSMP相关信息失败

99037 4037 SETPARAM输入特征字符串无效

99038 4038 GETPARAM输入服务类型为SERVICE_SMS时,没有接口

99039 4039 GETPARAM输入服务类型为SERVICE_REVERSE1

99040 4040 GETPARAM输入特征字符串无效

99041 4041 查询ServiceID时文件打开操作失败

99042 4042 查询ServiceID时文件文件长度错误

99043 4043 查询ServiceID时文件时申请内存错误

99044 4044 查询ServiceID时文件时取到的长度不是实际文件的长度

99045 4045 设置性能阀值的消息类型参数错误

99046 4046 系统非双机模式不能切换

99047 4047 动态加载不送scp的号段表失败

99048 4048 加载SP信息参数错

99049 4049 加载SP信息读取配置文件错误

99050 4050 增加跟踪失败

99051 4051 终止跟踪失败

99052 4052 增加统计任务失败

99053 4053 统计类型错误

99054 4054 统计记录错误

99055 4055 统计ID错误

99056 4056 设置网关属性错误

99057 4057 GNS路由消息空

99058 4058 获取GNS路由失败

99059 4059 错误码转换文件不存在

99060 4060 错误码转换文件格式错误

99061 4061 查询所有接口失败

99062 4062 GNS发送接口类型错误

99063 4063 非法的SPTypeID,SPTypeCfg.dat中不存在

99064 4064 非法的PROXYID

99065 4065 不能进行PROXYID的修改

99066 4066 PROXY进行数据同步失败

99067 4067 等待PROXY应答超时

99068 4068 帐号接口数据同步类型错误

99069 4069 帐号接口数据同步网关错误

99070 4070 帐号接口数据同步PROXY未激活

99071 4071 帐号接口数据同步,没有需要同步的数据

99072 4072 APP进行数据同步失败,主要指服务端接口数据和客户端接口状态同步错

99073 4073 添加内部连接接口,帐号的服务类型(或编码类型)不正确

99074~99999 保留

回页首

华为InfoX——错误码说明

1.1.1 AAAA网关错误码

AAAA的值(4位,不足4位前面补0) 含义

1 消息结构错

2 命令字错误

3 消息序列号重复

4 消息长度错

5 资费代码错

6 超过最大信息长

7 业务代码错

8 流量控制错

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

10 Src_ID错

11 Msg_src错

12 计费地址错

13 目的地址错

14~49 扩展

51 尚未建立连接

52 尚未成功登录

53 发送消息失败

54 超时未接收到响应消息

55 等待状态报告超时

56 用户鉴权时用户状态不正常

60 保留

61 有效时间已经过期

62 定时发送时间已经过期

63 不能识别的FeeType

64 发送服务源地址鉴权失败

65 发送服务目的地址鉴权失败

66 接收服务源地址鉴权失败

67 接收服务目的地址鉴权失败

68 用户鉴权失败

69 此用户为黑名单用户

70 网络断连或目的设备关闭接口

71 超过最大节点数

72 找不到路由

73 等待应答超时

74 送SCP失败

75 送SCP鉴权等待应答超时

76 信息安全鉴权失败

77 超过最大Submit提交数

78 SPID 为空

79 业务类型为空

80 CPCode错误

81 发送接收接口重复

82 循环路由

83 超过接收侧短消息MTU

84 送DSMP重发失败

85 DSMP系统忙重发

86 DSMP系统忙,且缓存满重发

87 DSMP流控重发

88 等DSMP应答超时重发

89

90 SGIP消息等待处理

91 SGIP协议状态报告请求标识错误

92 SGIP协议MT标识错

93 SGIP协议SP节点编号错

94 没有配置帐号

1.1.2 BBBB SCP返回的错误码

操作结果

BBBB的值(4位,不足4位前面补0) 含义 备注

0 成功

1 非神州行预付费用户 指的是计费号码在SCP中不存在,比如发送一个全球通号码到SCP

2 数据库操作失败 因数据库异常、被操作表不存在、被操作字段不存在等导致SQL语句执行失败的状态。

3 鉴权失败 保留未用

4 超过最大错误次数 保留未用

5 移动用户帐户数据异常 PPS状态异常(包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失)

6 服务没有激活 指的是monet_service表的servicestate状态为未激活。

7 用户余额不足 用户余额不足扣减此次费用

8 超过包月费用上限 保留未用

9 超过最高欠费额 保留未用

10 用户已注册该项服务 保留未用

11 用户没有注册该项服务 保留未用

14 未登记的网关 只有注册的网关ID才允许登录鉴权,未注册的网关登录鉴权失败。

15 网关登录摘要错误 网关登录认证时候根据密码生成摘要与业务根据密码生成摘要不一致,大部分原因是网关的密码与SCP的配置不对

16 参数错误 保留未用

17 服务器端数据未传完 保留未用

18 重复发送消息序列号msgid相同的计费请求消息 认为重复单条扣费,则返回该状态码。SCP记录一定时间(大概48小时)的消息,如果此时间段中重复则拒绝

20 未知错误 保留未用

21 数据库错误 保留未用

22 SCP互联失败 消息发给非用户归属SCP,需要通过互联转发消息,由于信令网故障等缘故可能导致互联失败

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

24 字段超长 保留未用

25 无相关数据 保留未用

26 数据重复 保留未用

40 未登记的SP 业务可设定对SP鉴权,未登记的SP则拒绝

41 SP帐户状态异常 SP未激活,SP状态为激活和未激活两种

42 SP无权限 保留未用

43 SP帐户已存在 保留未用

44 未登记的SP业务类型 业务可设定对SP的业务鉴权,未登记的SP的业务则拒绝

45 SP业务类型数据异常 SP的业务类型数据未激活,实际业务类型状态有激活和未激活两种。

46 SP业务类型已存在 保留未用

52 梦网用户已存在 保留未用

53 梦网用户不存在 计费号码不是梦网用户,没有进行梦网开户

54 梦网用户状态异常 梦网用户没有激活

55 签约信息已存在 保留未用

56 签约信息不存在 保留未用

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

61 月消费超额 业务可设定月消费限额,如果超额则拒绝新的扣费请求

62 单笔消费超额 业务可设定单笔消费限额,如果超额则拒绝

63 用户拒绝 保留未用

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

65 对应扣费请求不存在 收到状态报告消息时,根据msgid查询monet_smrecord表没有找到对应的扣费记录

66 扣费请求已被确认 收到状态报告消息时,根据msgid查询monet_smrecord表的扣费记录,发现该扣费记录前面已收到过状态报告。

67 未定义的计费类型 计费消息参数type非法,不是协议定义的类型

68 未定义的编码方式 保留未用

69 包月控制计费请求失败

70 动感地带用户的月租方式不正确 用户模板表中的月租方式不是固定月结日

1.1.3 CCCC ISMG返回的错误码

CCCC的值(4位,不足4位前面补0) 含义

infoX网关返回错误码值

1 消息结构错

2 命令字错

3 消息序号重复

4 消息长度错

5 资费代码错

6 超过最大信息长

7 业务代码错

8 流量控制错

其它(参看AAAA网关内部错误码表)

其他厂家错误码:参看各厂家ISMG返回错误码表

1.1.4 DDDD SP返回的错误码

DDDD的值(4位,不足4位前面补0) 含义

参看各SP返回错误码表

1.1.5 EEEE DSMP返回的错误码

EEEE的值(4位,不足4位前面补0) 含义

1 未知错误

100-999为业务网关和DSMP之间的接口消息中的错误代码

100 手机号码不存在

101 手机号码错误

102 用户停机

103 用户欠费

104 用户没有使用该业务的权限

105 业务代码错误

106 服务代码错误

107 业务不存在

108 该业务暂停服务

109 该服务种类不存在

110 该服务种类尚未开通

111 该业务尚未开通

112 SP代码错误

113 SP不存在

114 SP暂停服务

115 用户没有定购该业务

116 用户暂停定购该业务

117 该业务不能对该用户开放

118 用户已经订购了该业务

119 用户不能取消该业务

120 话单格式错误

121 没有该类业务

122 接收异常

123 业务价格为负

124 业务价格格式错误

125 业务价格超出范围

126 该用户不是神州行用户

127 该用户没有足够的余额

128 补款,冲正失败

129 用户已经是梦网用户

130 用户在BOSS中没有相关用户数据

131 BOSS系统数据同步出错

132 相关信息不存在

133 用户数据同步出错

134 SP数据同步出错

135 业务数据同步出错

136 用户密码错误

137 伪码信息错误

138 用户相关信息不存

9000-9999为系统级错误

9000 系统磁盘读写错误

9001 网络异常

9002 网络错误

9003 业务网关忙,业务网关缓存

9004 业务网关忙,并且业务网关缓冲区满,DSMP缓存,并暂时不要发送消息,等待一段时间重试

9005 DSMP忙,DSMP缓存

9006 DSMP忙,并且DSMP缓冲区满,业务网关缓存,并暂时不要发送消息,等待一段时间重试

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

9008 DSMP异常,并不可用

9009 业务网关异常,并不可用

9010 该业务网关没有权限调用该接口消息

9011 DSMP没有权限发送该接口消息给业务网关

9012 版本不支持

9013 消息类型不对,系统不支持

9014 验证错误,无法解析SOAP和XML结构、缺少必须存在的字段,或者消息格式不正确

9015 拒绝消息,服务器无法完成请求的服务

1.1.6 FFFF SMC返回的错误码

FFFF的值(4位,不足4位前面补0) 含义

0X00000001 – 0X0000000F 保留给SMSC厂商定义错误

0X00000010 消息长度错误

0X00000011 命令长度错误

0X00000012 消息ID无效

0X00000013 没有执行此命令的权限

0X00000014 – 0X0000001F 保留

0X00000020 无效的SYSTEMID

0X00000021 无效的密码

0X00000022 无效的SYSTEMTYPE

0X00000023 – 0X0000003F 保留

0X00000040 地址错误

0X00000041 超过最大提交数

0X00000042 超过最大下发数

0X00000043 无效的用户

0X00000044 无效的数据格式

0X00000045 创建消息失败

0X00000046 无效的短消息ID

0X00000047 数据库失败

0X00000048 取消消息失败

0X00000049 短消息状态错误

0X0000004A 替换消息失败

0X0000004B 替换消息源地址错误

0X0000004C – 0X0000005F 保留

0X00000060 无效的源地址TON

0X00000061 无效的源地址NPI

0X00000062 源地址错误

0X00000063 无效的目的地址TON

0X00000064 无效的目的地址NPI

0X00000065 目的地址错误

0X00000066 无效的定时时间

0X00000067 无效的超时时间

0X00000068 无效的ESM_CALSS

0X00000069 无效的UDLEN

0X0000006A 无效的PRI

0X0000006B 无效的Registered_delivery_flag

0X0000006C 无效的Replace_if_present_flag

0X0000006D – 0X0000007F 保留

0X00000080 指定用户已经存在

0X00000081 创建用户失败

0X00000082 用户ID错误

0X00000083 指定用户不存在

0X00000084 – 0X0000008F 保留

0X00000090 – 0X00000FFF 保留给SMSC厂商定义错误

其他 保留

1.1.7 GGGG SPACE返回的错误码

XXXX的值(4位,不足4位前面补0) 含义

102 用户停机

103 用户欠费

2004 用户销户

1.1.8 XXXX消息发往SCP、SP、DSMP、SMC出错时错误码

XXXX的值(4位,不足4位前面补0) 含义

0051 尚未建立连接

0052 尚未成功登录

0053 发送消息失败

0054 超时未接收到响应消息

0100-0499 厂家自定义的错误码

0100 向SCP发送消息时失败

0012 发送SCP的过程中目的帐号被删除

0030 没有路由

回页首

收集到的移动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 未定义用户个性参数

回页首

东软诺基亚新增错误码分类定义

1.1 错误码分类定义

错误类别 新增加的错误码取值 新增加的错误码含义详细解释

aaaa n1n1n1n1

n2n2n2n2

… …

mbmbmbmb n1n1n1n1

n2n2n2n2

… …

cccc 0151 等待状态报告超时

cbcbcbcb n1n1n1n1

n2n2n2n2

… …

dbdbdbdb n1n1n1n1

n2n2n2n2

… …

sbsbsbsb n1n1n1n1

n2n2n2n2

… …

ibibibib n1n1n1n1

n2n2n2n2

… …

idididid 0005 DSMP发送队列满(在尝试提交该消息多次后,均得到DSMP返回的DSMP忙类型应答)

0009 计费用户无权限(SP拦截功能。限制本地接入SP向省外转发消息;限制镜像接入SP向主接入SP省份转发消息。)

1240 SMMC校验失败(其他原因被SMWC过滤)

1241 SMMC校验失败(被用户屏蔽 因用户已经设置不接收来自该SP的短信而被过滤)

1242 SMMC校验失败(SMMC返回错误应答,消息内容非法)

1243 SMWC 校验失败(SMWC发现消息内容非法)

1244 SMWC 校验失败(此用户为申请停机状态)

1245 SMWC 校验失败(此用户已欠费停机状态)

1246 SMWC 校验失败(此用户已申请预销号)

1247 SMWC 校验失败(此用户已欠费预销号)

1248 SMWC 校验失败(号码禁用,禁止该用户)

1250 SMWC 校验失败(非在网用户,因用户不在白名单中而被过滤)

1251 SMWC 校验失败(缺乏订购关系,因没有该包月业务订购关系而被过滤)

给SP返回的错误代码值定义(CMPP_SUBMIT_RESP中的结果) 100 同步错误(包序号不连续)

101 尚未正确BIND(没有登录成功,就发送消息)

102 不合法的消息模式(Registered_Delivery填写非法,包月消息不允许群发)

103 不合法的数据编码(Msg_Fmt填写不符合协议规范)

104 不合法的计费类型(FeeType 填写不符合协议规范)

105 不合法的日期格式

106 目标地址数量过多

107 不合法的手机号码

108 不合法的参数

109 无路由

110 定时发送时间过大(超过系统的默认过期时间范围)

112 过期时间非法

128 不合法的计费用户类型

129 包序号越界

130 不合法的ISMG标识

131 不合法的目的网关

132 不合法的状态报告

133 未知 SMSC

134 未知 LOCAL

144 信息费填写非法

145 发送速度过快

146 目的用户重复

147 pk_number值大于pk_total

148 以CMPP3.0协议转发过来的MT消息的目的SP,在本网关配置以CMPP2.0协议接入,非法。

255 系统错误

给SMSC返回的错误代码值定义 无

给DSMP返回的错误代码值定义 100 手机号码不存在(DSMP推送过来的包月消息中的计费用户所处号段在本网关没有配置)

107 SP类型非法(DSMP推送过来的包月消息中的SP在本网关配置为以2.0协议接入)

113 SP不存在(DSMP推送的包月消息中的SP在本网关没有配置)

9003 业务网关忙(该消息等一段时间在发送给网关)

9004 业务网关缓存满

给省外ISMG返回的错误代码值定义(ibibibib) 100 同步错误(包序号不连续)

101 尚未正确BIND(没有登录成功,就发送消息)

102 不合法的消息模式(Registered_Delivery填写非法)

103 不合法的数据编码(Msg_Fmt填写问题)

104 不合法的计费类型(FeeType 填写问题)

105 不合法的日期格式

106 目标地址数量过

107 不合法的手机号码

108 不合法的参数

109 无路由

110 定时发送时间过大(超过系统的默认过期时间范围)

112 过期时间非法

128 不合法的计费用户类型

129 包序号越界

130 不合法的ISMG标识

131 不合法的目的网关

132 不合法的状态报告

133 未知 SMSC

134 未知 LOCAL

144 信息费非法

145 发送速度过快

146 目的用户重复

147 pk_number值大于pk_total

148 以CMPP3.0协议转发过来的MT消息的目的SP,在本网关配置以CMPP2.0协议接入,非法。

255 系统错误

给SCP返回的错误代码值定义 无

继续阅读