⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smpp_message.h

📁 SMAL是short message abstract library的缩写,是由风起水流软件工作室(www.zealware.com)开发的一个支持短信网关系统开发的C++底层抽象接口库
💻 H
📖 第 1 页 / 共 3 页
字号:
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 + -