📄 const.h
字号:
*/
//##ModelId=46B5D4400243
e_IMPP_LOGIN = 0x00000001,
/**
提交短消息
*/
//##ModelId=46B5D440024C
e_IMPP_SUBMIT = 0x00000002,
/**
下发短消息
*/
//##ModelId=46B5D440024D
e_IMPP_DELIVER = 0x00000003,
/**
链路检测
*/
//##ModelId=46B5D4400256
e_IMPP_ACTIVE_TEST = 0x00000004,
/**
退出请求
*/
//##ModelId=46B5D4400257
e_IMPP_EXIT = 0x00000006,
/**
客户端登录应答
*/
//##ModelId=46B5D4400260
e_IMPP_LOGIN_RESP = 0x80000001,
/**
提交短消息应答
*/
//##ModelId=46B5D4400261
e_IMPP_SUBMIT_RESP = 0x80000002,
/**
下发短消息应答
*/
//##ModelId=46B5D440026A
e_IMPP_DELIVER_RESP = 0x80000003,
/**
链路检测应答
*/
//##ModelId=46B5D440026B
e_IMPP_ACTIVE_TEST_RESP = 0x80000004,
/**
退出应答
*/
//##ModelId=46B5D440026C
e_IMPP_EXIT_RESP = 0x80000006,
};
/** MT消息来源
*/
//##ModelId=46B5D440027E
enum FromID {
//##ModelId=46B5D4400289
e_FromID_DB,
//##ModelId=46B5D4400292
e_FromID_SOCKET
};
/** Submit消息中由接口库自定义的非标准消息
*/
//##ModelId=46B5D44002B0
struct NonStandardInfo {
/** Submit消息的来源(1 - socket接口,0 - DB)
*/
//##ModelId=46B5D44002BB
int fromID;
/**记录ID,唯一标识一条submit消息
例如:一条MT消息的数据库记录ID
*/
//##ModelId=46B5D44002C5
unsigned recid;
/**CMPP_HEAD中的消息流水号
*/
//##ModelId=46B5D44002C9
unsigned long seqid;
/**该消息被发送的时间
*/
//##ModelId=46B5D44002CF
unsigned sendtime;
/**该消息被回复的时间
*/
//##ModelId=46B5D44002D8
unsigned resptime;
/**该消息被发送的次数
*/
//##ModelId=46B5D44002DC
int submittimes;
/**短消息发送的结果
如果成功收到SubmitResponse,此处为SubmitResponse的status字段值,
如果没有发送到网关,此处为系统定义的错误
*/
//##ModelId=46B5D44002DD
int IIResult;
//##ModelId=46B5D44002E3
unsigned _int64 nMsgId;
};
/** smpp3.4命令字定义
命令码宏定义 数值 描述
ESME_BNDRCV 0X00000001 ESME要求连接到SMSC
ESME_BNDRCV 0X80000001 连接SMSC的响应
ESME_BNDTRN 0X00000002 ESME要求连接到SMSC
ESME_BNDTRN_RESP 0X80000002 连接SMSC的响应
ESME_UBD 0X00000006 ESME要求断开连接到SMSC
ESME_UBD_RESP 0X80000006 断开连接的响应
ESME_SUB_SM 0X00000004 ESME提交短消息到SMSC,以便SMSC下发此短消息到特定的用户。
ESME_SUB_SM_RESP 0X80000004 提交短消息的响应
ESME_DELIVER_SM 0X00000005 SMSC下发短消息到特定的ESME
ESME_DELIVER_SM_RESP 0X80000005 下发短消息的响应
ESME_QUERY_SM 0X00000003 ESME查询以前所提交的短消息的状态
ESME_QUERY_SM_RESP 0X80000003 查询短消息的响应
ESME_CANCEL_SM 0X00000008 ESME要求取消以前所提交的某条短消息
ESME_CANCEL_SM_RESP 0X80000008 ESME要求取消以前所提交的某条短消息的响应
ESME_REPLACE_SM 0X00000007 ESME要求替换以前所提交的某条短消息
ESME_REPLACE_SM_RESP 0X80000007 ESME要求替换以前所提交的某条短消息的响应
ESME_QRYLINK 0X00000015 询问扩展短消息实体与短消息中心的连接情况
ESME_QRYLINK_RESP 0X80000015 询问扩展短消息实体与短消息中心的连接情况的响应
ESME_NACK 0X80000000 接收消息头错误的响应
ESME_REPLACE_SM_EX 0X00000090 ESME要求替换以前所提交的某条短消息的扩展命令,它增加了数据编码格式字段
ESME_REPLACE_SM_EX_RESP 0X80000090 扩展替换短消息的的响应
ESME_ADD_SUB 0X000000A0 增加用户
ESME_ADD_SUB_RESP 0X800000A0 增加用户的响应
ESME_DEL_SUB 0X000000A1 删除用户
ESME_DEL_SUB_RESP 0X800000A1 删除用户的响应
ESME_MOD_SUB 0X000000A2 修改用户
ESME_MOD_SUB_RESP 0X800000A2 修改用户的响应
ESME_QRY_SUB 0X000000A3 查询用户的信息
ESME_QRY_SUB_RESP 0X800000A3 查询用户的信息的响应
*/
//##ModelId=46B5D4400346
enum SMPP_COMMAND {
//##ModelId=46B5D4400348
e_ESME_BNDRCV = 0X00000001, ///< ESME要求连接到SMSC
//##ModelId=46B5D4400350
e_ESME_BNDRCV_RESP = 0X80000001, ///< 连接SMSC的响应
//##ModelId=46B5D4400351
e_ESME_BNDTRN = 0X00000002, ///< ESME要求连接到SMSC
//##ModelId=46B5D4400352
e_ESME_BNDTRN_RESP = 0X80000002, ///< 连接SMSC的响应
//##ModelId=46B5D440035A
e_ESME_UBD = 0X00000006, ///< ESME要求断开连接到SMSC
//##ModelId=46B5D440035B
e_ESME_UBD_RESP = 0X80000006, ///< 断开连接的响应
//##ModelId=46B5D440035C
e_ESME_SUB_SM = 0X00000004, ///< ESME提交短消息到SMSC,以便SMSC下发此短消息到特定的用户。
//##ModelId=46B5D4400364
e_ESME_SUB_SM_RESP = 0X80000004, ///< 提交短消息的响应
//##ModelId=46B5D4400365
e_ESME_DELIVER_SM = 0X00000005, ///< SMSC下发短消息到特定的ESME
//##ModelId=46B5D4400366
e_ESME_DELIVER_SM_RESP = 0X80000005, ///< 下发短消息的响应
//##ModelId=46B5D4400367
e_ESME_QUERY_SM = 0X00000003, ///< ESME查询以前所提交的短消息的状态
//##ModelId=46B5D440036E
e_ESME_QUERY_SM_RESP = 0X80000003, ///< 查询短消息的响应
//##ModelId=46B5D440036F
e_ESME_CANCEL_SM = 0X00000008, ///< ESME要求取消以前所提交的某条短消息
//##ModelId=46B5D4400370
e_ESME_CANCEL_SM_RESP = 0X80000008, ///< ESME要求取消以前所提交的某条短消息的响应
//##ModelId=46B5D4400378
e_ESME_REPLACE_SM = 0X00000007, ///< ESME要求替换以前所提交的某条短消息
//##ModelId=46B5D4400379
e_ESME_REPLACE_SM_RESP = 0X80000007, ///< ESME要求替换以前所提交的某条短消息的响应
//##ModelId=46B5D440037A
e_ESME_BNDTRANSEIVER = 0X00000009, ///< 收发连接
//##ModelId=46B5D440037B
e_ESME_BNDTRANSEIVER_RESP = 0X80000009, ///< 收发连接应答
//##ModelId=46B5D4400382
e_ESME_QRYLINK = 0X00000015, ///< 询问扩展短消息实体与短消息中心的连接情况
//##ModelId=46B5D4400383
e_ESME_QRYLINK_RESP = 0X80000015, ///< 询问扩展短消息实体与短消息中心的连接情况的响应
//##ModelId=46B5D4400384
e_ESME_NACK = 0X80000000, ///< 接收消息头错误的响应
//##ModelId=46B5D440038C
e_ESME_REPLACE_SM_EX = 0X00000090, ///< ESME要求替换以前所提交的某条短消息的扩展命令,它增加了数据编码格式字段
//##ModelId=46B5D440038D
e_ESME_REPLACE_SM_EX_RESP = 0X80000090, ///< 扩展替换短消息的的响应
//##ModelId=46B5D440038E
e_ESME_ADD_SUB = 0X000000A0, ///< 增加用户
//##ModelId=46B5D440038F
e_ESME_ADD_SUB_RESP = 0X800000A0, ///< 增加用户的响应
//##ModelId=46B5D4400396
e_ESME_DEL_SUB = 0X000000A1, ///< 删除用户
//##ModelId=46B5D4400397
e_ESME_DEL_SUB_RESP = 0X800000A1, ///< 删除用户的响应
//##ModelId=46B5D4400398
e_ESME_MOD_SUB = 0X000000A2, ///< 修改用户
//##ModelId=46B5D44003A0
e_ESME_MOD_SUB_RESP = 0X800000A2, ///< 修改用户的响应
//##ModelId=46B5D44003A1
e_ESME_QRY_SUB = 0X000000A3, ///< 查询用户的信息
//##ModelId=46B5D44003A2
e_ESME_QRY_SUB_RESP = 0X800000A3, ///< 查询用户的信息的响应
//##ModelId=46B5D44003A3
e_NUM_OF_SMPP = 29
};
/**
SMPP3.4 command_status定义
错误代码 描述
E_SUCCESS(0X00000000) 成功
E_OTHERERR(0X00000001) 其他错误
0X00000002 – 0X0000000F 保留给SMSC厂商定义错误
E_MSGLENERR(0X00000010) 消息长度错误
E_CMDLENERR(0X00000011) 命令长度错误
E_INVLDCMDID(0X00000012) 消息ID无效
E_NORIGHT(0X00000013) 没有执行此命令的权限
0X00000014 – 0X0000001F 保留
E_INVLDSYSTEMID(0X00000020) 无效的SYSTEMID
E_INVLDPASSWORD(0X00000021) 无效的密码
E_INVLDSYSTEMTYPE(0X00000022) 无效的SYSTEMTYPE
0X00000023 – 0X0000003F 保留
E_ADDRERR(0X00000040) 地址错误
E_MOEXCEED(0X00000041) 超过最大提交数
E_MTEXCEED(0X00000042) 超过最大下发数
E_INVLDUSER(0X00000043) 无效的用户
E_INVLDDATAFMT(0X00000044) 无效的数据格式
E_CREATEMSGFAILURE(0X00000045) 创建消息失败
E_INVLDMSGID(0X00000046) 无效的短消息ID
E_DATABASEFAILURE(0X00000047) 数据库失败
E_CANCELMSGFAILURE(0X00000048) 取消消息失败
E_MSGSTATEERR(0X00000049) 短消息状态错误
E_REPLACEMSGFAILURE(0X0000004A) 替换消息失败
E_INVLDRPLADDR(0X0000004B) 替换消息源地址错误
0X0000004C – 0X0000005F 保留
E_INVLDORGTON(0X00000060) 无效的源地址TON
E_INVLDORGNPI(0X00000061) 无效的源地址NPI
E_ORGADDRERR(0X00000062) 源地址错误
E_INVLDDESTTON(0X00000063) 无效的目的地址TON
E_INVLDDESTNPI(0X00000064) 无效的目的地址NPI
E_DESTADDRERR(0X00000065) 目的地址错误
E_INVLDSCHEDULE(0X00000066) 无效的定时时间
E_INVLDEXPIRE(0X00000067) 无效的超时时间
E_INVLDESM(0X00000068) 无效的ESM_CALSS
E_INVLDUDLEN(0X00000069) 无效的UDLEN
E_INVLDPRI(0X0000006A) 无效的PRI
E_INVLDRDF(0X0000006B) 无效的Registered_delivery_flag
E_INVLDRPF(0X0000006C) 无效的Replace_if_present_flag
0X0000006D – 0X0000007F 保留
用户管理部分(可选)
E_USERALREADYEXIST(0X00000080) 指定用户已经存在
E_CREATEUSERERR(0X00000081) 创建用户失败
E_USERIDERR(0X00000082) 用户ID错误
E_USERNOTEXIST(0X00000083) 指定用户不存在
0X00000084 – 0X0000008F 保留
0X00000090 – 0X00000FFF 保留给SMSC厂商定义错误
其他 保留
*/
//##ModelId=46B5D4410030
enum SMPP_COMMAND_STATUS {
//##ModelId=46B5D441003B
E_SUCCESS = 0X00000000, ///< 成功
//##ModelId=46B5D441003C
E_OTHERERR = 0X00000001, ///< 其他错误
//##ModelId=46B5D441003D
E_MSGLENERR = 0X00000010, ///< 消息长度错误
//##ModelId=46B5D4410045
E_CMDLENERR = 0X00000011, ///< 命令长度错误
//##ModelId=46B5D4410046
E_INVLDCMDID = 0X00000012, ///< 消息ID无效
//##ModelId=46B5D4410047
E_NORIGHT = 0X00000013, ///< 没有执行此命令的权限
//##ModelId=46B5D441004F
E_INVLDSYSTEMID = 0X00000020, ///< 无效的SYSTEMID
//##ModelId=46B5D4410050
E_INVLDPASSWORD = 0X00000021, ///< 无效的密码
//##ModelId=46B5D4410051
E_INVLDSYSTEMTYPE = 0X00000022, ///< 无效的SYSTEMTYPE
//##ModelId=46B5D4410052
E_ADDRERR = 0X00000040, ///< 地址错误
//##ModelId=46B5D4410059
E_MOEXCEED = 0X00000041, ///< 超过最大提交数
//##ModelId=46B5D441005A
E_MTEXCEED = 0X00000042, ///< 超过最大下发数
//##ModelId=46B5D441005B
E_INVLDUSER = 0X00000043, ///< 无效的用户
//##ModelId=46B5D441005C
E_INVLDDATAFMT = 0X00000044, ///< 无效的数据格式
//##ModelId=46B5D4410063
E_CREATEMSGFAILURE = 0X00000045, ///< 创建消息失败
//##ModelId=46B5D4410064
E_INVLDMSGID = 0X00000046, ///< 无效的短消息ID
//##ModelId=46B5D4410065
E_DATABASEFAILURE = 0X00000047, ///< 数据库失败
//##ModelId=46B5D4410066
E_CANCELMSGFAILURE = 0X00000048, ///< 取消消息失败
//##ModelId=46B5D441006D
E_MSGSTATEERR = 0X00000049, ///< 短消息状态错误
//##ModelId=46B5D441006E
E_REPLACEMSGFAILURE = 0X0000004A, ///< 替换消息失败
//##ModelId=46B5D441006F
E_INVLDRPLADDR = 0X0000004B, ///< 替换消息源地址错误
//##ModelId=46B5D4410070
E_INVLDORGTON = 0X00000060, ///< 无效的源地址TON
//##ModelId=46B5D4410077
E_INVLDORGNPI = 0X00000061, ///< 无效的源地址NPI
//##ModelId=46B5D4410078
E_ORGADDRERR = 0X00000062, ///< 源地址错误
//##ModelId=46B5D4410079
E_INVLDDESTTON = 0X00000063, ///< 无效的目的地址TON
//##ModelId=46B5D441007A
E_INVLDDESTNPI = 0X00000064, ///< 无效的目的地址NPI
//##ModelId=46B5D4410081
E_DESTADDRERR = 0X00000065, ///< 目的地址错误
//##ModelId=46B5D4410082
E_INVLDSCHEDULE = 0X00000066, ///< 无效的定时时间
//##ModelId=46B5D4410083
E_INVLDEXPIRE = 0X00000067, ///< 无效的超时时间
//##ModelId=46B5D4410084
E_INVLDESM = 0X00000068, ///< 无效的ESM_CALSS
//##ModelId=46B5D441008B
E_INVLDUDLEN = 0X00000069, ///< 无效的UDLEN
//##ModelId=46B5D441008C
E_INVLDPRI = 0X0000006A, ///< 无效的PRI
//##ModelId=46B5D441008D
E_INVLDRDF = 0X0000006B, ///< 无效的Registered_delivery_flag
//##ModelId=46B5D441008E
E_INVLDRPF = 0X0000006C, ///< 无效的Replace_if_present_flag
//##ModelId=46B5D4410095
E_USERALREADYEXIST = 0X00000080, ///< 指定用户已经存在
//##ModelId=46B5D4410096
E_CREATEUSERERR = 0X00000081, ///< 创建用户失败
//##ModelId=46B5D4410097
E_USERIDERR = 0X00000082, ///< 用户ID错误
//##ModelId=46B5D4410098
E_USERNOTEXIST = 0X00000083 ///< 指定用户不存在
};
static const unsigned long LENGTH_OF_SMPP_HEAD = 16; ///< SMPP_HEAD长度
static const unsigned long LENGTH_OF_SMPP_BIND = 98; ///< SMPP_BIND消息长度(定长)
static const unsigned long LENGTH_OF_SMPP_BIND_RESP = 32; ///< SMPP_BIND_RESP消息长度
static const unsigned long LENGTH_OF_SMPP_SUBMIT = 127; ///< SMPP_SUBMIT_SM消息长度(不含短消息内容长度)
static const unsigned long LENGTH_OF_SMPP_DELIVER = 127; ///< SMPP_DELIVER_SM消息长度(不含短消息内容长度)
static const unsigned long LENGTH_OF_SMPP_SUBMIT_RESP = 25; ///< SMPP_SUBMIT_RESP消息长度
static const unsigned long LENGTH_OF_SMPP_DELIVER_RESP = 25; ///< SMPP_DELIVER_RESP消息长度
/************************************************************************/
/* 长短信头类型 */
/************************************************************************/
enum LongSMS_Head{
LongSMS_Head05,
LongSMS_Head06
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -