📄 smpp_message.h
字号:
dest_address_ton 1 Integer 目的地址编码类型
dest_address_npi 1 Integer 目的地址编码方案
destination_address 最大21 C_DecString 目的地址
CANCLE_SM_RESP语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"cancel_sm_resp"
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_ADDRERR
E_INVLDMSGID
E_DATABASEFAILURE
E_CANCELMSGFAILURE
E_MSGSTATEERR
E_INVLDORGTON
E_INVLDORGNPI
E_ORGADDRERR
E_INVLDDESTTON
E_INVLDDESTNPI
E_DESTADDRERR
*/
//class SMPP_CANCEL_SM : public SMPP_PDU
//{
//public:
// string service_type;
// string message_id;
// unsigned char source_address_ton;
// unsigned char source_address_npi;
// string source_address;
// unsigned char dest_address_ton;
// unsigned char dest_address_npi;
// string destination_address;
//
//public:
// SMPP_CANCEL_SM()
// : nCommandID( e_ESME_CANCEL_SM )
// {
// }
//};
//
//class SMPP_CANCEL_SM_RESP : public SMPP_PDU
//{
//public:
// SMPP_CANCEL_SM_RESP()
// : nCommandID( e_ESME_CANCEL_SM_RESP )
// {
// }
//};
/**
6.5.2.8 REPLACE_SM命令
此命令用于ESME替换以前所提交的短消息。此命令中所确定的源地址必须与提交短消息时的源地址相同,消息头中的Command_ID是"replace_sm"。
REPLACE_SM语法
表12:REPLACE_SM语法
字段 长度(字节) 类型 描述
message_id 最大9 C_HexString 短消息的ID
source_address_ton 1 Integer 源地址编码类型
source_address_npi 1 Integer 源地址编码方案
source_address 最大21 C_DecString 源地址
schedule_delivery_time 最大17 C_StringTime 计划下发短消息的时间
validity_peroid 最大17 C_StringTime 短消息的最后生存期限
registered_delivery_flag 1 integer 注册短消息标志
sm_default_msg_id 1 integer 预定义短消息ID
sm_length 1 integer 短消息数据的长度
short_message_text 最大161 可变 短消息数据内容
REPLACE_SM_RESP语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"replace_sm_resp"。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_ADDRERR
E_INVLDMSGID
E_REPLACEMSGFAILURE
E_MSGSTATEERR
E_INVLDDATAFMT
E_CREATEMSGFAILURE
E_INVLDORGTON
E_INVLDORGNPI
E_ORGADDRERR
E_INVLDSCHEDULE
E_INVLDEXPIRE
E_INVLDESM
E_INVLDUDLEN
E_INVLDRDF
*/
//class SMPP_REPLACE_SM : public SMPP_PDU
//{
//public:
// string message_id;
// unsigned char source_address_ton;
// unsigned char source_address_npi;
// string source_address;
// string schedule_delivery_time;
// string validity_peroid;
// unsigned char registered_delivery_flag;
// unsigned char sm_default_msg_id;
// unsigned char sm_length;
// string short_message_text;
//
//public:
// SMPP_REPLACE_SM()
// : nCommandID( e_ESME_REPLACE_SM )
// {
// }
//};
//
//class SMPP_REPLACE_SM_RESP : public SMPP_PDU
//{
//public:
// SMPP_REPLACE_SM_RESP()
// : nCommandID( e_ESME_REPLACE_SM_RESP )
// {
// }
//};
/**
6.5.2.9 ENQUIRE_LINK命令
此命令用于ESME确认和SMSC之间的连接。ESME发送一条ENQUIRE_LINK命令,SMSC响应一条ENQUIRE_LINK_ACK命令,表示ESME和SMSC之间的连接存在。
ENQUIRE_LINK语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"enquire_link"。
ENQUIRE_LINK_RESP语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"enquire_link_resp"。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
*/
//class SMPP_ENQUIRE_LINK : public SMPP_PDU
//{
//public:
// SMPP_ENQUIRE_LINK()
// : nCommandID( e_ESME_QRYLINK )
// {
// }
//};
//
//class SMPP_ENQUIRE_LINK_RESP : public SMPP_PDU
//{
//public:
// SMPP_ENQUIRE_LINK_RESP()
// : nCommandID( e_ESME_QRYLINK_RESP )
// {
// }
//};
/**
6.5.2.10 GENERIC_NAK命令
此命令用于当接收消息头有错误的时候的响应,该响应只能由收到请求方发出。
GENERIC_NAK语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"generic_nak"。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_MSGLENERR
E_CMDLENERR
E_NORIGHT
E_INVLDCMDID
*/
//class SMPP_GENERIC_NAK : public SMPP_PDU
//{
//public:
// SMPP_GENERIC_NAK()
// : nCommandID( e_ESME_NACK )
// {
// }
//};
/**
6.5.2.11 REPLACE_SM_EX命令
此命令用于扩展REPLACE SM命令。它完成的功能与REPLACE_SM相同,但增加了字段data_coding,符合Phase2+规范。
REPLACE_SM_EX语法
消息头中的Command_ID是"replace_sm_ex"
表13:REPLACE_SM_EX语法
字段 长度(字节) 类型 描述
message_id 最大9 C_HexString 短消息的ID
source_address_ton 1 integer 源地址编码类型
source_address_npi 1 integer 源地址编码方案
source_address 最大21 C_DecString 源地址
esm_class 1 integer 短消息类型
schedule_delivery_time 最大17 C_StringTime 计划下发短消息的时间
validity_peroid 最大17 C_StringTime 短消息的最后生存期限
registered_delivery_flag 1 integer 注册短消息标志
data_coding 1 integer 数据编码方案
sm_default_msg_id 1 integer 预定义短消息ID
sm_length 1 integer 短消息长度
short_message 最大161 可变 短消息内容
REPLACE_SM_EX_RESP语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"replace_sm_ex_resp"。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_ADDRERR
E_INVLDMSGID
E_REPLACEMSGFAILURE
E_MSGSTATEERR
E_INVLDDATAFMT
E_CREATEMSGFAILURE
E_INVLDORGTON
E_INVLDORGNPI
E_ORGADDRERR
E_INVLDSCHEDULE
E_INVLDEXPIRE
E_INVLDESM
E_INVLDUDLEN
E_INVLDRDF
E_INVLDESM
*/
//class SMPP_REPLACE_SM_EX : public SMPP_PDU
//{
//public:
// string message_id;
// unsigned char source_address_ton;
// unsigned char source_address_npi;
// string source_address;
// unsigned char esm_class;
// string schedule_delivery_time;
// string validity_peroid;
// unsigned char registered_delivery_flag;
// unsigned char data_coding;
// unsigned char sm_default_msg_id;
// unsigned char sm_length;
// string short_message;
//
//public:
// SMPP_REPLACE_SM_EX()
// : nCommandID( e_ESME_REPLACE_SM_EX )
// {
// }
//};
//
//class SMPP_REPLACE_SM_EX_RESP : public SMPP_PDU
//{
//public:
// SMPP_REPLACE_SM_EX_RESP()
// : nCommandID( e_ESME_REPLACE_SM_EX_RESP )
// {
// }
//};
/**
6.5.2.12 ADD_SUB命令
此命令用于在SMSC数据库中增加一个用户。
ADD_SUB语法
消息头中的Command_ID是"add_sub"
表14:ADD_SUB语法
字段 长度(字节) 类型 描述
sub_ID 最大21 C_DecString 用户ID,同address
sub_name 最大21 C_String 用户名
sub_address 最大42 C_String 用户通信地址
MS_type 1 integer 手机类型
ton 1 integer 地址编码类型
npi 1 integer 地址编码方案
SM_allowed 1 integer 是否提供短消息
OCOS 1 integer 保留
TCOS 1 integer 保留
password 最大9 C_String 密码
ADD_SUB_RESP语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"add_sub_resp"。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_USERALREADYEXIST
E_CREATEUSERERR
E_USERIDERR
*/
//class SMPP_ADD_SUB : public SMPP_PDU
//{
//public:
// SMPP_ADD_SUB()
// : nCommandID( e_ESME_ADD_SUB )
// {
// }
//};
/**
6.5.2.13 DEL_SUB命令
此命令用于删除一个用户
DEL_SUB 语法
消息头中的Command_ID是"del_sub"
表14:DEL_SUB_RESP语法
字段 长度(字节) 类型 描述
ton 1 Integer 地址编码类型
npi 1 Integer 地址编码方案
sub_ ID 最大 21 C_DecString 用户ID,同address
DEL_SUB_RESP语法
此命令只有消息头,没有消息体,消息头中的Command_ID是"del_sub_resp"。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_USERIDERR
E_USERNOTEXIST
*/
//class SMPP_DEL_SUB : public SMPP_PDU
//{
//public:
// unsigned char ton;
// unsigned char npi;
// string sub_ID;
//
//public:
// SMPP_DEL_SUB()
// : nCommandID( e_ESME_DEL_SUB )
// {
// }
//};
//
//class SMPP_DEL_SUB_RESP : public SMPP_PDU
//{
//public:
// SMPP_DEL_SUB_RESP()
// : nCommandID( e_ESME_DEL_SUB_RESP )
// {
// }
//};
/**
6.5.2.14 MOD_SUB命令
此命令用于修改用户信息
MOD_SUB语法
此命令的数据结构与ADD_SUB的结构一致,只是Command_ID为mod_sub。
MOD_SUB_RESP语法
此命令的数据结构与ADD_SUB_RESP的结构一致,只是Command_ID为mod_sub_resp。
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_USERIDERR
E_USERNOTEXIST
*/
//class SMPP_MOD_SUB : public SMPP_ADD_SUB
//{
//public:
// SMPP_MOD_SUB()
// : nCommandID( e_ESME_MOD_SUB )
// {
// }
//};
//
//class SMPP_MOD_SUB_RESP : public SMPP_ADD_SUB_RESP
//{
//public:
// SMPP_MOD_SUB_RESP()
// : nCommandID( e_ESME_MOD_SUB_RESP )
// {
// }
//};
/**
6.5.2.15 ENQUIRE_SUB命令
此命令用于查询用户的详细信息。
ENQUIRE_SUB语法
消息头中的Command_ID是"enquire_sub "
表15:ENQUIRE_SUB语法
字段 长度(字节) 类型 描述
Ton 1 Integer 地址编码类型
Npi 1 Integer 地址编码方案
sub_ID 最大21 C_DecString 用户ID,同address
ENQUIRE_SUB_RESP语法
消息头中的Command_ID是"enquire_sub_resp"
表16:ENQUIRE_SUB_RESP语法
字段 长度(字节) 类型 描述
sub_ID 最大 21 C_DecString 用户ID,同address
sub_name 最大 21 C_String 用户名
sub_address 最大 42 C_String 用户通信地址
MS_type 1 integer 手机类型
Ton 1 integer 地址编码类型
Npi 1 integer 地址编码方案
SM_allowed 1 integer 是否提供短消息
OCOS 1 integer 保留
TCOS 1 integer 保留
Password 最大 9 C_String 密码
reg_datetime 最大17 C_StringTime 用户注册时间
状态取值范围:
E_SUCCESS
E_OTHERERR
E_CMDLENERR
E_NORIGHT
E_USERIDERR
E_USERNOTEXIST
*/
//class SMPP_ENQUIRE_SUB : public SMPP_PDU
//{
//public:
// unsigned char ton;
// unsigned char npi;
// string sub_ID;
//
//public:
// SMPP_ENQUIRE_SUB()
// : nCommandID( e_ESME_QRY_SUB )
// {
// }
//};
/** ESME收到的消息结构定义
*/
//##ModelId=46B5D42E0264
typedef struct pdu_smpp_smsc_to_esme {
PDU_SMPP_HEAD pk_head;
union {
PDU_SMPP_BIND_RESP pk_bind_resp;
PDU_SMPP_SUBMIT_DELIVER_SM_RESP pk_submit_deliver_sm_resp;
PDU_SMPP_SUBMIT_DELIVER_SM pk_submit_deliver_sm;
} pk_body;
} PDU_SMPP_SMSC_TO_ESME;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -