




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国电信集团公司企业标准CT/T1-2001基于固定网的信息终端及综合信息系统技术标准第七分册短消息网关〔SMGP〕V1.32002-04-30公布 2002-04-30实施中国电信集团公司 公布基于固定网的信息终端及综合信息系统技术标准第七分册基于固定网的信息终端及综合信息系统技术标准第七分册第第1页目 录\l“_TOC_250019“前 言 2\l“_TOC_250018“适用范围 3\l“_TOC_250017“引用标准 3\l“_TOC_250016“缩略语 3\l“_TOC_250015“SMGP概述 3\l“_TOC_250014“SMGP功能 3\l“_TOC_250013“SMGP定义 3\l“_TOC_250012“SMGP通信流程 4\l“_TOC_250011“SMGP数据包定义 6\l“_TOC_250010“数据包构造 6\l“_TOC_250009“恳求标识说明 6\l“_TOC_250008“包体构造 7\l“_TOC_250007“编码说明 15\l“_TOC_250006“短消息格式代码表 15\l“_TOC_250005“收费类型代码表 15\l“_TOC_250004“短消息状态表 16Err错误代码表 16Status错误代码表 17基于SMGP协议的API函数 17附录A 基于SMGP协议的API函数说明 18(提示的附录) 18\l“_TOC_250003“根本要求 19\l“_TOC_250002“API数据构造说明〔以C语言为例〕 19\l“_TOC_250001“API函数说明 21\l“_TOC_250000“A3.7查询短消息流量〔SMGPQuery可选〕 25配置SMGPAPI 25短信的自动分割功能 26错误代码含义 27前 言和短消息网关之间的通信协议。本协议简称SMGP(ShortMessageGatewayProtocol)。本标准起草单位:中国电信集团公司、中国电信集团公司上海研发中心本标准主要起草人:基于固定网的信息终端及综合信息系统技术标准第七分册基于固定网的信息终端及综合信息系统技术标准第七分册第第10页适用范围本协议适用于短消息网关开发商和短消息内容供给商。引用标准SMPP(ShortMessagePeertoPeerProtocolSpecification) v3.3缩略语见总册SMGP概述SMGP功能SMGP协议是内容供给商与短消息网关,以及短消息网关与短消息网关之间的通信协议。SMGP可以实现以下功能:气预报等。信息等。传情信息,例如图片传情、音乐传情等。地的短消息用户。SMGP定义SMGPTCP/IP短消息网关与短消息网关之间承受Client/Server方式交互信息,客户端向效劳器端发送一个恳求包,效劳器端向客户端返回回应包。包也带有相应的序列号,以便客户识别这是哪一个恳求的回应。客户端和效劳器端之间可以承受长连接或者短连接的方式通信。假设承受随时通信,在肯定时间内两者之间没有发送合法的恳求包,连接就中断。SMGP通信流程网关与CP之间通信连接承受端口号8890,网关与网关通信连接承受端口8900。SMGP登录模式在SMGP协议的一个会话中客户端可以承受三种登录方式与效劳器端相连〔sendmod〔receivemode〔transmitmode短连接两种连接方式的一种,依据实际状况选择。CP发送短消息CP以发送者或者是收发者身份登录后,就可以发送短消息。CP可以不等待上一个短消息发送回应包,就发送下一个短消息。CP SMGWlogin(send/transmitmode)login_respsubmit(1)submit(2)submit_resp(1)submit_resp(2)exitexit_respCP接收短消息CP以接收者或者是收发者身份登录后,短消息网关就向CP发送短消息,短消息网关可以不等待上一个短消息回应包,就发送下一个短消息。CPSMGWlogin(receive/transmitmode)login_respdeliver(1)deliver(2)deliver_resp(1)deliver_resp(2)exitexit_respSMGW转发短消息MT/MO短消息转发到相应的短消息网关,在转发短消息之前短消息网关需要通过对方网关认证。CP SMGWlogin(send/receive/transmitmode)_login(send/receive/transmitmode)_login_respforward(1)forward(2)forward_resp(1)forward_resp(2)exitexit_respSMGP数据包定义SMGP根本数据类型定义如下表所示:IntegerOctetString数据包构造
无符号整数0’则补ASCII00‘0’SMGP数据包分为包头和包体两局部,包头的构造如下:字段字段PacketLength〔字节〕数据类型4IntegerRequestIDSequenceID44IntegerInteger说明包头和包体的长度之和。单位:字节〕恳求标识〔〕恳求标识说明恳求标识〔RequestID〕标识数据包的类型,恳求包的恳求标识和回应包的恳求标识一一对应。恳求名称loginlogin_respsubmitsubmit_respdeliverdeliver_respactive_testactive_test_respforwardforward_reCPexitexit_respqueryquery_respmt_route_updatemt_route_update_respmo_route_updatemo_route_update_resp包体构造login
恳求标识说明0x00000001 CPSMGW登录恳求0x80000001 CPSMGW登录回应0x00000002 CP发送短消息恳求0x80000002 CP发送短消息回应0x00000003 SMGWCP发送短消息恳求0x80000003 SMGWCP发送短消息回应0x00000004测试通信链路是否正常恳求〔由客户端发起,CP和SMGW可以通过定时发送此恳求来维持连接〕0x80000004测试通信链路是否正常回应0x00000005 SMGW转发MT/MO短消息恳求0x80000005 SMGW转发MT/MO短消息回应0x00000006 退出恳求0x80000006 退出回应0x00000007 CP统计查询恳求0x80000007 CP统计查询回应0x00000008 MT路由更恳求0x80000008 MT路由更回应0x00000009 MO路由更恳求0x80000009 MO路由更回应字段字段长度8ClientID数据类型OctetString说明CPSMGW编号AuthenticatorClient
16 OctetString
客户端密码MD5hashAuthenticatorClient=MD5secret+timestamp〕Sharedsecret先商定,timestampMMDDHHMMSS,即月日时分秒,10LoginMode 1TimeStamp 4
IntegerInteger
登录类型〔0=发送短消息,1=接收短消息,2=收发短消息,其他保存〕时间戳的明文,由客户端产生,格式为的整型,右对齐Version 1 integerlogin_resp
4bit字段〔字节〕数据类型说明4Integerlogin恳求返回结果StatusAuthenticator16Octet〔参见错误代码表〕效劳器端认证码,当客户端认证出错ServerString时,此项为空MD5hash示如下:AuthenticatorServer=MD5〔Status+AuthenticatorClient+sharedsecret〕Sharedsecret先商定,AuthenticatorClient为客户端发送给效劳器端的上一条消息login中的值。+Version1Integer效劳器支持的最高版本号5.3.3.submit字段〔说明节〕型SubType1integer短消息子类型〔0=1=2=3=订阅,其他保存〕NeedReport1integer〔0=不要求,=要求〕Priority1Integer发送优先级〔09〕ServiceID10Octet业务类型StringFeeType2Octet收费类型〔参见收费类型代码表〕StringFeeCode6Octet资费代码〔单位为分〕StringMsgFormat1Octet短消息格式〔参见短消息格式代码String表〕ValidTime17OctetString有效时间,格式遵循SMPP3.3协议AtTime17Octet定时发送时间,格式遵循SMPP3.3String协议SrcTermID21Octet短消息发送用户号码StringChargeTermID21Octet计费用户号码StringDestTermIDCount1Integer短消息接收号码总数〔≤100〕DestTermID21*Octet短消息接收号码〔连续存储DestTermString DestTermIDCount个号码〕MsgLengthMsgContentReserve
Count1≤2528
IntegerOctetStringOctetString
保存5.3.4.submit_resp字段字段长度〔字节〕数据类型说明MsgID 10 OctetString
成:网关代码:3字节〔BCD码〕时间:4字节〔BCD码〕序列号:3字节〔BCD码〕Status
4 Integer Submit恳求返回结果〔参见错误代码表〕5.3.5.deliver字段〔说明节〕型MsgID1Integer网关产生的短消息流水号,由三部分组成:网关代码:3字节〔BCD码〕时间:4字节〔BCD码〕序列号:3字节〔BCD码〕IsReport1Integer〔0=不是,1=是〕MsgFormat1Integer短消息格式〔参见短消息格式代码表〕RecvTime14Octet短消息接收时间〔格式:Stringyyyymmddhhmiss,例如20010301200000〕SrcTermID21Octet短消息发送号码StringDestTermID21Octet短消息接收号码StringMsgLength1Integer短消息长度MsgContent≤252OctetString短消息内容Reserve8OctetString保存deliver_resp字段长度〔长度〕数据类型说明MsgID1Integer网关产生的短消息流水号,由三局部组成:网关代码:3字节〔BCD码〕时间:4字节〔BCD码〕序列号:3字节〔BCD码〕Status4integerDeliver恳求返回结果〔参见错误代码表〕active_test没有包体acitve_test_resp没有包体5.3.9.forward字段〔说明度〕型MsgID10Octet网关产生的短消息流水号,由三部String分组成:网关代码:3字节〔BCD码〕时间:4字节〔BCD码〕序列号:3字节〔BCD码〕DestSMGWNo6OctetString目标网关代码SrcSMGWNo6OctetString源网关代码SMCNo6OctetString短消息中心代码SMType1Integer消息,其他保存〕SubType1integer短消息子类型〔0=1=2=3=订阅,其他保存〕ReportFlag1IntegerSMType=0时,表示是否要求返〔0=不要求,1=要求〕SMType=1时,表示是否状态报不是,1=是〕Priority1Integer发送优先级〔09〕ServiceID10Octet业务类型StringFeeType2Octet资费类型〔参见收费类型代码表〕StringFeeCode6OctetString资费代码〔单位为分〕MsgFormat1Integer短消息格式〔参见短消息格式代码表〕ValidTime17OctetString有效时间,格式遵循SMPP3.3协议AtTime17Octet定时发送时间,格式遵循SMPP3.3String协议SrcTermID21Octet短消息发送用户号码StringDestTermID21Octet短消息接收用户号码StringChargeTermID21Octet计费用户号码StringMsgLength1Integer短消息长度MsgContent≤252OctetString短消息内容Reserve8Octet保存Stringforword_resp字段字段MsgID长度(长度)10数据类型OctetString说明网关产生的短消息流水号44IntegerStatusForward恳求返回结果〔参见错误代码表〕exit没有包体exit_resp没有包体query〔保存〕字段名字段名Time字节数8属性OctetStringQuery_Type1IntegerQuery_Code10OctetString描述查询时间〔格式:yyyymmdd,准确到日〕查询类别0:总数查询其他保存查询码1(业务类型)字段名Time字段名Time字节数8属性OctetStringQuery_Type1Integer描述到日〕查询类别0:总数查询
〔保存〕1:按业务代码查询其他保存Query_Code10OctetString查询码〔业务类型〕MT_TLMsg4Integer接收短消息总数MT_Tlusr4Integer接收用户总数MT_Scs4Integer成功转发数量MT_WT4Integer待转发数量MT_FL4Integer转发失败数量MO_Scs4Integer成功送达数量MO_WT4Integer待送达数量1Query_Type0Query_Type1Service_id.MO_FLMO_FLReverse48IntegerOctetString送达失败数量保存mt_route_update〔保存〕字段名字节数属性描述UpdateType1Integer0-添加;1-删除;2-更其他保存RouteId4Integer〔update_type则此字段为零〕SrcGatewayId6OctetString源网关代码SrcGatewayIP15OctetStringIP地址SrcGatewayPort2IntegerIP端口StartTermId6OctetStringMT路由起始号码段EndTermId6OctetStringMT路由截止号码段AreaCode4OctetString终端所属区号mt_route_update_resp〔保存〕字段名字段名Status字节数1属性Integer描述参见错误代码表mo_route_update〔保存〕字段名字节数属性描述UpdateType1Integer0-添加;1-删除;2-更其他保存RouteId4Integer路由编号update_typeSrcGatewayId6OctetString则此字段为零)源网关代码SrcGatewayIP15OctetStringIP地址SrcGatewayPort2IntegerIP端口SrcTermID21OctetStringCP代码mo_route_update_resp〔保存〕字段名字段名Status字节数1属性Integer描述参见错误代码表状态报告格式字段长度数据类型说明id10OctetString状态报告对应原短消息的MsgIDSubmit_date14Octet短消息提交时间〔格式:Stringdone_date14Octet短消息下发时间〔格式:StringStat7Octet短消息状态〔参见短消息状态表〕StringErr3OctetString参见错误代码表编码说明短消息格式代码表代码代码034815含义ASCII编码二进制短消息UCS2编码收费类型代码表代码代码00010203其他含义免费包月封顶保存短消息状态表状态名DELIVEREDEXPIREDDELETEDUNDELIVERABLEACCEPTEDUNKNOWNREJECTED
状态值(字符串)DELIVRDEXPIREDDELETEDUNDELIVACCEPTDUNKNOWNREJECTD
说明短消息转发成功短消息是不行转发的短消息已经被最终用户接收未知短消息状态短消息被拒绝SMPPErr错误代码表000成功DELIVRDESME_ROK0x00000001001用户不能通信EXPIREDESME_RUSRABSENT0x00000400002用户忙EXPIREDESME_RUSRUSY0x00000401003终端无此部件号UNDELIVESME_RNOPART0x00000402004非法用户UNDELIVESME_RUSRINVALID0x00000403005用户在黑名单内UNDELIVESME_RBLACKLIST0x00000404006系统错误UNDELIVESME_RSYSERROR0x00000405007用户内存满EXPIREDESME_RMEMCAP0x00000406008非信息终端UNDELIVESME_PROTOCOLERROR0x00000407009数据错误UNDELIVESME_DATAERROR0x00000408010数据丧失UNDELIVESME_DATAMISSING0x00000409状态值(字符串)说明对应状态command_status对应值Command_status代码状态值(字符串)说明对应状态command_status对应值Command_status代码Status错误代码表代码代码0123-910111213-1920212223-293031323334353637383940-127128-255含义成功超过最大连接数保存消息构造错命令字错保存IP地址错认证错版本太高保存〔SMType〕非法优先级〔Priority〕〔FeeCode〕〔MsgFormat〕非法时间格式〔MsgLength〕有效期已过路由错误保存厂家自定义SMGPAPI函数详见附录A。附录A 基于SMGP协议的API函数说明(提示的附录)根本要求安装API软件包,解压到指定名目下后可以修改配置文件,配置编号、IcpShareKey〔ICP密码、ClientIP〔客户主机IP地址〕ServerIP〔短信网关地址。例子程序网关至少应当供给以下例程,供ICP调试使用,分别为:Connect(参数),检查是否能够成功登录短消息网关;TestAP〔参数,检查是否能够成功连接短信网关。SetKey〔参数ICP密码。SendSM〔参数〕尝试发送短信。RecvSM〔参数〕尝试接收短信等。RecvSMReport(参数),尝试接收短消息状态报告。操作系统平台要求网关供给的API软件包至少要求支持以下操作系统平台:FreeBSD3.x,4.2Solaris5.6,5.7,5.8(x86)Linux〔RedhatSlack等主流产品〕WindowsNT/2000等网关供给的API软件包至少要求支持以下编程语言:C/C++JAVAAPI数据构造说明〔C语言为例〕接收短信的返回数据构造〔DeliverResp〕用途保存SMGPDeliver函数返回的短信内容。字段说明字段名sMsgIDnMsgFormatsSrcTermIDnIsReportnMsgLensMsgContentsDestTermIDsRecvTime
数据类型Char(11)IntChar(22)IntIntChar(201)char(21)char(15)
说明短消息标识〔参照短消息格式代码表〕。网关不做判定,透亮传输。短消息发送用户号码应答信息〔1〕CP的接入代码〔格式:yyyymmddhhmiss,20010301200000〕猎取群发短信的返回数据构造〔SendBatchResp〕用途保存在文件里。SMGPAPI供给GetSendBatchResp函数猎取每一条短信返回信SendBatchResp中。字段说明字段名字段名sMsgIDnErrorCodesPhoneNo数据类型Char(11)IntChar(22)说明短消息标识〔参照错误代码表〕发送号码查询短消息网关的返回数据构造〔QueryResp可选〕用途保存SMGPQuery函数返回的查询结果。字段说明字段名nMT_TLMsgnMT_TLusrnMT_ScsnMT_WTnMT_FLnMO_ScsnMO_WTnMO_FL
数据类型IntIntIntIntIntIntIntInt
说明接收用户总数成功转发数量待转发数量待送达数量API函数说明作用参数参数名SiniFile
数据类型 说明Char(100) SMGPAPI 配置文件名是:”../config/smgpc.ini”。
,缺省值 返回
sINIFile。例 如 :InitSMGPAPI(“/opt/smgpapi/config/smgpc.ini”)作用向短消息网关发送1条短消息到1个终端用户。短消息长度最长为200,SMGPAPIConnectionPool,承受长连接或者短连接发送短消息。当Cacheconnection中断时,API能够自动重连接短消息网关。假设应ConnectionPool配置文件设置。参数参数名nNeedReportnMsgLevelsServiceIDnMsgFormatsFeeTypesFeeCodesValidTimesAtTimesChargeTermIDsDestTermIDnMsgLensMsgContentsMsgIDnErrorCode
IntIntChar(11)IntChar(3)Char(7)Char(18)Char(18)Char(22)Char(22)IntChar(*)?Char(11)Int
说明〔0=不要求,1=要求〕信息级别〔0-9,0=最低优先级〕业务类型短消息格式(参照短消息格式表),透亮传输。资费类别资费代码〔以分为单位〕存活有效期,格式遵循SMPP3.3协议协议计费号码短消息接收号码短消息长度短消息内容〔nMsgLen=0时表示存放短消息的文件名〕返回的短消息标识错误代码〔参照错误代码表〕。 返回作用SMGPAPIConnectionPool,承受长连接或者短连接发送短消息。当Cacheconnection中断时,API能够自够自动重发送,重试的次数在配置文件设置。参数参数名nNeedReportnMsgLevelsServiceIDnMsgFormatsFeeTypesFeeCodesValidTimesAtTimesSrcTermIDsChargeTermID
intintChar(11)IntChar(3)Char(7)Char(18)Char(18)Char(22)Char(22)
说明〔0=不要求,1=要求〕信息级别。〔0=最低优先级,1=正常,2=紧急,〕业务类型〔参照短消息格式表〕。网关不做判定,透亮传输。资费类别资费代码〔以分为单位〕存活有效期,格式遵循SMPP3.3协议协议〔当为CP代码时须在前面加118〕计费号码〔假设为空,则对被叫计费〕sDestTermIDFile Char(100) 保存全部目的号码的文件名nMsgLensMsgContent
IntChar(*)
消息长度短消息内容〔nMsgLen=0时表示存放短消息的文件名〕sMsgIDFilesSubType
Char(100) 的文件名Char(2) 短消息子类型 返回作用从文件里读取群发的某一个短信的标识、发送结果和发送号码。参数参数名sMsgIDFilenPospSendBatchResp
数据类型 说明Char(100) ErrorCode的文件名Int 0开头SendBatch 构造指针Resp* 返回作用连接短信网关,等待接收属于本ICP的短信。参数参数名nTimeoutpDeliverResp
数据类型intDeliverResp*
说明等待时间,单位:秒。0表示永久等待。DeliverResp构造指针 返回作用检查短信网关是否能够供给效劳。参数参数名参数名nErrorCode数据类型Int说明错误代码〔参照错误代码表〕。 返回A3.7查询短消息流量〔SMGPQuery可选〕作用向短消息网关查询某天的短消息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三农村合作社合作模式优化方案
- 防撞护栏安装施工方案
- 转换层模板施工方案
- 不锈钢雨棚施工方案
- 綦江酒店铝单板施工方案
- 龙泉塑石假山制作施工方案
- 路面沥青工程施工方案
- 临床急性化脓性扁桃体炎和传染性单核细胞增多症鉴别诊断、相同点及区别
- 杭州扣盘式脚手架施工方案
- 桐梓科学开展松树育苗和病虫害防治工作的实践及成果分析
- 咨询公司项目风险控制方案
- 校园食品安全培训课件
- 开关柜更换改造施工方案
- 《眼科常用眼药及护》课件
- 污水处理厂防水防腐工程施工方案
- 幕墙作业安全技术交底
- TCOSOCC 016-2024 信息技术应用创新 软件测试要求
- 食堂晨午检制度
- 《边缘计算与人工智能应用开发技术》全套教学课件
- 三级安全教育试题及答案(自编完整版)
- 幼儿园大班社会《服装的由来》课件
评论
0/150
提交评论