3:消息序号重复 4:消息长度错 5:资费代码错 6:超过最大信息长 7:业务代码错 8:流量控制错 9~ :其他错误 7.4.4 SP向ISMG查询发送短信状态(CMPP_QUERY)操作
CMPP_QUERY操作的目的是SP向ISMG查询某时间的业务统计情况,可以按总数或按业务代码查询。 ISMG以CMPP_QUERY_RESP应答。
7.4.4.1 CMPP_QUERY消息的定义(SP?ISMG)
字段名 Time Query_Type 字节数 8 1 属性 Octet String 描述 时间YYYYMMDD(精确至日) 查询类别 0:总数查询 1:按业务类型查询 查询码 当Query_Type为0时,此项无效;当Query_Type为1时,此项填写业务类型Service_Id. 保留 Unsigned Integer Octet String Query_Code 10 Reserve 8 Octet String 7.4.4.2 CMPP_QUERY_RESP消息的定义(ISMG ?SP)
字段名 Time Query_Type 字节数 8 1 属性 Octet String Unsigned Integer Octet String Unsigned Integer Unsigned Integer Unsigned Integer Unsigned Integer Unsigned Integer Unsigned Integer 描述 时间(精确至日) 查询类别 0:总数查询 1:按业务类型查询 查询码 从SP接收信息总数 从SP接收用户总数 成功转发数量 待转发数量 转发失败数量 向SP成功送达数量 Query_Code MT_TLMsg MT_Tlusr MT_Scs MT_WT MT_FL MO_Scs 10 4 4 4 4 4 4 Page 17 of 35 Page 17 of 35
MO_WT MO_FL 4 4 Unsigned Integer Unsigned Integer 向SP待送达数量 向SP送达失败数量
7.4.5 ISMG向SP送交短信(CMPP_DELIVER)操作
CMPP_DELIVER操作的目的是ISMG把从短信中心或其它ISMG转发来的短信送交SP,SP以CMPP_DELIVER_RESP消息回应。
7.4.5.1 CMPP_DELIVER消息定义(ISMG?SP)
字段名 Msg_Id 8 字节数 属性 Unsigned Integer 描述 信息标识 生成算法如下: 采用64位(8字节)的整数: (1)时间(格式为MMDDHHMMSS,即月日时分秒):bit64~bit39,其中 bit64~bit61:月份的二进制表示; bit60~bit56:日的二进制表示; bit55~bit51:小时的二进制表示; bit50~bit45:分的二进制表示; bit44~bit39:秒的二进制表示; (2)短信网关号码:bit38~bit17,把短信网关的号码转换为整数填写到该字段中。 (3)序列号:bit16~bit1,顺序增加,步长为1,循环使用。 各部分如不能填满,左补零,右对齐。 目的号码 SP的服务代码,一般4--6位,或者是前缀为服务代码的长号码;该号码是手机用户短消息的被叫号码。 业务类型,是数字、字母和符号的组合。 GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9 GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐 信息格式 0:ASCII串 3:短信写卡操作 4:二进制信息 Dest_Id 21 Octet String Service_Id 10 Octet String Unsigned Integer Unsigned Integer TP_pid TP_udhi Msg_Fmt 1 1 1 Unsigned Integer Page 18 of 35 Page 18 of 35
Src_terminal_Id 21 Octet String Unsigned Integer Registered_Delivery Msg_Length 1 1 Msg_Content 消息内容 8 Octet String 保留项 Reserved
当ISMG向SP送交状态报告时,信息内容字段(Msg_Content)格式定义如下: 字段名 字节数 属性 描述 Msg_Id 8 Unsigned 信息标识 Integer SP提交短信(CMPP_SUBMIT)操作时,与SP相连的ISMG产生的Msg_Id。 Stat 7 Octet String 发送短信的应答结果,含义与SMPP协议要求中stat字段定义相同,详见表一。SP根据该字段确定CMPP_SUBMIT消息的处理状态。 Submit_time 10 Octet String YYMMDDHHMM(YY为年的后两位00-99,MM:01-12,DD:01-31,HH:00-23,MM:00-59) Done_time 10 Octet String YYMMDDHHMM Dest_terminal_Id 21 Octet String 目的终端MSISDN号码(SP发送CMPP_SUBMIT消息的目标终端) SMSC_sequence 4 Unsigned 取自SMSC发送状态报告的消息体中的消息标Integer 识。
表一 Stat字段定义
Message State DELIVERED EXPIRED DELETED UNDELIVERABLE ACCEPTED UNKNOWN REJECTED 注意:
Final Message States DELIVRD EXPIRED DELETED UNDELIV ACCEPTD UNKNOWN REJECTD Description Message is delivered to destination Message validity period has expired Message has been deleted. Message is undeliverable Message is in accepted state(i.e. has been manually read on behalf of the subscriber by customer service) Message is in invalid state Message is in a rejected state Unsigned Integer Msg_length Octet String 8:UCS2编码 15:含GB汉字 源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码) 是否为应答信息 0:非应答信息 1:状态报告 消息长度 Page 19 of 35 Page 19 of 35
1.其中ACCEPTED为中间状态,网关若从短信中心收到后应丢弃,不做任何操作。 2.Stat字段长度为7个字节,填写时应填表一中Final Message States中的缩写形式,如 状态为DELIVERED时填写DELIVRD,依此类推。 3.SP等待状态报告缺省时间为48小时。
7.4.5.2 CMPP_DELIVER_RESP消息定义(SP ? ISMG)
字段名 Msg_Id 字节数 8 属性 Unsigned Integer 描述 信息标识 (CMPP_DELIVER中的Msg_Id字段) 结果 0:正确 1:消息结构错 2:命令字错 3:消息序号重复 4:消息长度错 5:资费代码错 6:超过最大信息长 7:业务代码错 8: 流量控制错 9~ :其他错误 Result 1 Unsigned Integer 7.4.6 SP向ISMG发起删除短信(CMPP_CANCEL)操作
CMPP_CANCEL操作的目的是SP通过此操作可以将已经提交给ISMG的短信删除,ISMG将以CMPP_CANCEL_RESP回应删除操作的结果。
7.4.6.1 CMPP_CANCEL消息定义(SP ? ISMG)
字段名 Msg_Id
字节数 8 属性 描述 Unsigned 信息标识(SP想要删除的信息标识) Integer 7.4.6.2 CMPP_CANCEL_RESP消息定义(ISMG ? SP)
字段名 Success_Id 字节数 1 属性 描述 Unsigned 成功标识 Integer 0:成功 1:失败
Page 20 of 35 Page 20 of 35