• 548.00 KB
  • 28页

预付费用户点到点短消息实现技术规范

  • 28页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'预付费用户点到点短消息实现技术技术规范华为技术有限公司的2002年4月21-6-1423:58第28页总28页 前言为扩展基于移动智能网平台的有关智能业务的业务特征,实现移动智能网对点到点短消息收发的控制和计费,本规范规定了基于由TCP/IP承载的SMPP协议的移动智能网短消息控制规程,阐述需要短消息中心SMSC和SCP之间相互配合的技术细节。当本规范有新版本时,使用本规范的各方应寻求使用最新版本的可能性。21-6-1423:58第28页总28页 一、名词和术语4二、SMS体系结构与计费42.2短消息业务42.3短消息的计费5三、预付费用户短消息实现流程53.1预付费短消息业务流程53.1.1预付费用户—预付费用户63.1.2预付费用户—普通MS用户63.2预付费短消息MT业务流程73.3预付费余额短消息通知流程83.3.1预付费用户充值余额投递8六、基于TCP/IP的SMPP协议94.1、组网94.2连接建立104.3预付费用户短信业务使用的SMPP扩展消息114.3.1、鉴权114.3.2短消息结果通知144.4通信协议164.4.1消息头的语法164.4.2命令标志数值定义174.4.3消息体语法174.4.4SCP间短消息主被叫鉴权操作及参数214.4.5SCP间短消息结果通知操作及参数22附录A部分信令流程23附录B发送短消息操作的参数说明2621-6-1423:58第28页总28页 一、名词和术语CAMEL:移动网增强逻辑的客户化应用SCP:业务控制点SCF:业务控制功能SSF:业务交换功能SMP:业务管理点MSC:移动交换中心CAP:CAMEL应用部分HLR:归属位置寄存器IMSI:国际移动用户识别SMSC:短消息中心SMS:短消息业务SMPP(ShortMessagePeertoPeer):点到点短消息MO-SM:移动台始发短消息MT-SM:移动台终接短消息二、SMS体系结构与计费图2.1SMS网络结构示意2.1启动短消息中心主叫鉴权功能手机一般将归属地短消息中心地址设置为自己的短消息中心地址,预付费手机情况类似。短消息中心对用户能否使用该短消息中心提供的服务进行鉴权。如果不属于该短消息中心服务的移动用户提交短消息至该短消息中心时,短消息中心将拒绝接收该短消息。由于预付费用户是实时扣费,因此需要SCP配合短消息中心进行手机帐户的鉴权,以确定预付费用户是否有足够的余额发送或接收短信。预付费用户使用点对点短消息时,短信中心应根据预付费用户号段和SCP的对应关系向预付费用户的归属SCP发起鉴权,并根据SCP返回的结果进行后续的处理。2.2短消息业务除点对点短消息业务外,短信平台还可承载其它短信业务。如移动秘书,信息点播业务如话费查询、E-MAIL通知等。21-6-1423:58第28页总28页 2.3短消息的计费短信中心为所有用户的短信呼叫出话单。由于预付费用户的扣费在SCP进行,因此SCP也需要为用户的短信呼叫出话单。短信中心在产生话单时,需要在话单中增加一个字段,表示该话单是预付费用户的还是普通用户的,计费中心需要根据这个字段确定是否删除这个话单。三、预付费用户短消息实现流程为预付费用户提供短消息业务,网络需要解决两个问题:对用户的鉴权和发送结果通知。当预付费用户发送短消息时,短消息中心在接收到短消息后,根据用户号段判断是否为预付费用户。如果不是预付费用户,按普通流程进行服务;如果是预付费用户,则分析号码段,确定用户归属的SCP,向该SCP查询用户的权限信息,即该用户状态是否合法(是否处于Active或Suspend状态,金额是否足够)。当向预付费用户发送短信时,需要对被叫用户进行鉴权。如果SMSC与被叫的SCP有连接,可以通过鉴权操作到SCP查询该用户是否具有接收短消息的权限,即该用户状态是否合法(是否处于激活状态)。如果短信中心没有与被叫SCP直接连接,可以通过一个已经与短信中心连接的SCP去完成鉴权。由该SCP再根据号段判断应该是哪个SCP的用户,然后向相应的SCP查询用户权限信息,根据返回的权限决定是否向用户提供短消息服务。当预付费用户发送短消息后,SMSC需要将短消息的发送结果发给SCP。SCP业务可以根据该结果选择是鉴权操作中扣费有效或者是鉴权操作中扣费无效。如果扣费无效,则应将预扣的费用返给用户(即补钱)。SMSC可以根据SCP的要求来选择是发送成功时通知SCP还是发送失败时通知SCP,或成功和失败都不通知SCP。预付费用户的MO和MT短消息的流程如下。3.1预付费短消息MO业务流程3.1.1预付费用户—预付费用户图5.1SMSC与被叫归属的SCP有直联时的流程图21-6-1423:58第28页总28页 3.1.2预付费用户—普通MS用户图3.1预付费用户的MOSM流程3.2预付费短消息MT业务流程该业务流程为普通MS呼叫预付费用户或者短信中心触发MTSM时的流程。21-6-1423:58第28页总28页 图3.2预付费用户的MTSM流程3.3预付费余额短消息通知流程3.3.1预付费用户充值余额投递预付费用户充值成功后,SCP可以给用户发短消息,通知用户目前的帐户情况,以便用户确认自己的充值结果。流程图如下:21-6-1423:58第28页总28页 图3.3充值成功的余额投递流程六、基于TCP/IP的SMPP协议4.1、组网短消息中心和智能网都是独立建设,通过开放短信中心和SCP间接口,实现预付费用户的短消息鉴权及扣费功能。21-6-1423:58第28页总28页 图4.1短信中心组网示意图预付费用户的点到点短消息业务、移动秘书台和信息点播业务可能由多个短消息中心提供,因此一个SCP需要具有与多个短消息中心连接的能力。同样,一个短信中心也需要有与多个(有限个)SCP相连的能力。MO短信鉴权时,短信中心可以通过号码段分析判断出用户是哪个SCP的预付费用户,需要到哪个SCP去鉴权。当主叫用户归属于没有与短信中心直接相连的SCP时,短信中心可以通过一个与之相连的SCP到主叫用户归属的SCP去鉴权。MT短信鉴权时,由于被叫用户可能是归属于任何一个SCP的用户,因此一个短信中心可能需要到所有的SCP去鉴权。当被叫用户归属于没有与短信中心直接相连的SCP时,短信中心可以通过一个与之相连的SCP到被叫用户归属的SCP去鉴权。4.2连接建立SCP以RECEIVER类型连接到SMSC,SMSC返回应答后,SCP才接受鉴权或结果通知消息。下图描述了SCP与SMSC之间的交互的消息流。图4.2SCP与短信中心间交互的流程SCP与SMSC间的连接为永久连接,SCP通过发送enquire_link来查询连接情况。21-6-1423:58第28页总28页 在投递余额时,SCP需要主动向用户发送短消息。在这种情况下,SCP必须以TRANSMITTER类型连接到SMSC。在需要发短消息的时候,向SMSC发起submitSM消息,SMSC返回请求的应答。下图描述了SCP投递短消息时与SMCC之间的交互的消息流。图4.3余额投递时的消息流程SCP定期用enquire_link来定期检查连接是否保持。enquire_link:方向:SMSC<-SCP;定时器medium,15s;若5次查询失败则重新建立连接。上图出现的有关操作和参数详见4.3至4.4和附录B。4.3预付费用户短信业务使用的SMPP扩展消息4.3.1、鉴权4.3.1.1描述短消息中心目前不保存预付费用户信息,所有的用户数据保存在SCP中。短消息中心的用户都是临时用户。对于智能用户->智能用户的短消息需要进行两次鉴权,分别为MO鉴权和MT鉴权。由于MO21-6-1423:58第28页总28页 鉴权不成功,MT鉴权成功也没有意义,因此在这种情况下,应先进行MO鉴权:方向SMSC-->SCF定时器medium,60s4.3.1.2鉴权请求消息(AUTH_ACC)的参数协议版本号短信息中心标志来源地址目的地址MO/MT标志短消息ID短消息长度业务标志方向:SMSC->SCP参数说明:SMPP协议版本号为长度1的正整数,不分子版本。短消息中心标志,来源地址,目的地址为以NULL(0X0)结尾的十进制字符串,最大长度不超过21位,用ASICA码表示每一位数字.MO/MT标志为长度为1字节的正整数,目前取值为1(MO),2(MT)。短消息ID为最长为9字节的C_HexString类型,用于和短消息中心对话单。短消息长度为长度4字节的正整数,按流量计费时使用。业务标志为长度4字节的正整数,表示该条短消息使用了什么增值业务,如手机银行等。4.3.1.3、鉴权响应消息(AUTH_ACC_RESP)的参数操作结果通知模式方向:SMSC<-SCP说明:操作结果为长度为4的整数,目前取值为:0操作成功非0操作不成功,目前具体取值如下:1协议版本不支持2-9内部保留值10其他11MO用户帐号不存在12MT用户帐号不存在13MO用户状态不正确14MT用户状态不正确15MO用户金额不足16MT用户金额不足21-6-1423:58第28页总28页 17MO用户增值业务不支持18MT用户增值业务不支持19MO用户为普通20MT用户为普通注:该取值范围根据业务需要将来可能扩充。通知模式为长度为1的整数,目前取值为:1不管短消息发送成功或失败都通知SCP2仅当短消息发送失败时通知SCP3仅当短消息发送成功时通知SCP4不管短消息发送成功或失败都不通知SCP4.3.1.4、错误处理SMPP层的错误在Command_status中统一定义,应用层的错误在鉴权响应中的鉴权结果中定义。对于操作超时,则SMSC记录日志,不必重发。如果错误是SMPP层的错误或操作超时,则SMSC应该按照普通GSM用户处理(发送短消息),如果是应用层的错误,则不发送短消息,不走后续流程。当SMSC收到MO鉴权失败响应时,如果还没有对被叫用户进行MT的鉴权,则不必再进行MT鉴权。MO鉴权通过后,如果SMSC收到MT鉴权失败响应,如果主叫SCP要求失败通知,则应该向主叫SCP发送短消息结果失败通知消息。4.3.1.5SCP间短消息主被叫鉴权请求操作的参数(注:该操作基于NO.7号信令消息)业务键操作种类协议版本号短信息中心标志来源地址目的地址MO/MT标志短消息ID短消息长度业务标志方向:SCP1->SCP2参数说明:业务键:长度为4字节的正整数,表明SCP用哪种业务来互连。操作种类:长度为4字节的正整数,表明是互连中被叫鉴权的操作。SMPP协议版本:长度4字节的正整数,不分子版本。短消息中心标志,来源地址,目的地址为以NULL(0X0)结尾的十进制字符串,最大长度不超过21位,ASICA码表示每一位数字.MO/MT标志:长度为4字节的正整数,目前取值为1/MO,2/MT。21-6-1423:58第28页总28页 短消息ID:长度4字节的正整数,用于和短消息中心对话单。短消息长度:长度4字节的正整数,按流量计费时使用。业务标志:长度4字节的正整数,表示该条短消息使用了什么增值业务,如手机银行等。4.3.1.6SCP间短消息主被叫鉴权请求结果操作(注:该操作基于NO.7号信令消息)的参数操作种类操作结果通知模式方向:SCP1<-SCP2说明:操作种类长度为4字节的正整数,表明是互连中被叫鉴权的操作。操作结果为长度为4字节的整数,目前取值为:0操作成功非0操作不成功,目前具体取值如下1协议版本不支持2-9内部保留值10其他11MO用户帐号不存在12MT用户帐号不存在13MO用户状态不正确14MT用户状态不正确15MO用户金额不足16MT用户金额不足17MO用户增值业务不支持18MT用户增值业务不支持19MO用户为普通20MT用户为普通通知模式为长度为1的整数,目前取值为:1不管短消息发送成功或失败都通知SCP2仅当短消息发送失败时通知SCP3仅当短消息发送成功时通知SCP4不管短消息发送成功或失败都不通知SCP由于目前对被叫接收短消息是不收费,所以此参数目前取定值为4。4.3.2短消息结果通知4.3.2.1、描述和鉴权消息一样,对于智能用户->智能用户的短消息,需发送两次短消息结果通知,分别为MO/MT通知。SMSC根据鉴权响应包中的通知模式字段决定当发送成功时通知SCP还是发送失败时通知SCP或者其他。MO/MT端各自根据SCP的鉴权响应进行处理,各自独立。在缺省情况下,SMSC不管成功或失败都通知SCP短消息发送结果。方向SMSC->SCF21-6-1423:58第28页总28页 定时器medium,60s4.3.2.2、短消息结果通知请求消息(SM_RESULT_NOTIFY)的参数协议版本号短信息中心标志来源地址目的地址MO/MT标志短消息ID短消息长度短消息发送结果业务标志说明:其他参数参见鉴权请求消息参数短消息发送结果为长度为4字节的整数,目前取值为:0发送成功非0发送失败原因值,用于以后区分不同失败原因,如被叫用户不可及、内存满、MT鉴权失败等原因。4.3.2.3短消息结果通知响应消息(SM_RESULT_NOTIFY)的参数操作结果说明:操作结果为长度为4的整数,取值范围同鉴权响应中的操作结果参数。4.3.2.4、错误处理SMPP层的错误在消息头中的Command处理和SMPP协议一致,应用层的错误在鉴权响应的结果中定义。对于操作超时,则SMSC记录日志,不必重发。4.3.2.5、SCP间短消息结果通知操作的参数(注:该操作基于NO.7号信令消息)协议版本号短信息中心标志来源地址目的地址MO/MT标志短消息ID短消息长度短消息发送结果业务标志说明:其他参数参见鉴权请求消息参数短消息发送结果为长度为4字节的整数,目前取值为:0发送成功非0发送失败原因值,用于以后区分不同失败原因,如被叫用户不可及、内存满、MT21-6-1423:58第28页总28页 鉴权失败等原因。方向:SCP1->SCP24.3.1.6SCP间短消息结果通知操作(注:该操作基于NO.7号信令消息)的参数操作结果方向:SCP1<-SCP2说明:操作结果为长度为4的整数,取值范围同鉴权响应中的操作结果参数。4.4通信协议在以下语法说明中,遵从以下规则:1.未使用的字段,依据类型必须设置为0或NULL。2.消息由消息头和消息体组成。3.状态(Command_status)的定义如下表:E_SUCCESS(0X00000000)成功E_OTHERERR(0X00000001)其他错误E_MSGLENERR(0X00000010)消息长度错误E_CMDLENERR(0X00000011)命令长度错误4.在类型中,可能用到以下定义*integer:一定字节数所组成的整数,高位在前,低位在后。例如:1字节(BYTE),2字节(WORD),4字节(DWORD、6字节等等。*C_String:以NULL结束的ASCII字符串。*C_DecString:以NULL结束的ASCII字符串,它由一系列的10进制字符组成(‘0’---‘9’)。*C_OctetString:由任意8位字节组成数据流串。*C_HexString:以NULL结束的ASCII字符串,它由一系列的16进制字符组成(‘0’---‘9’,‘A’(‘a’)---‘F’(‘f’))。*C_UnicodeString:以NULL结束的Unicode编码的字符串。*C_StringTime:表示时间的字符串,它的格式为“YYMMDDhhmmsstnnp",具体定义见GSM3.39。4.4.1消息头的语法字段长度(字节)类型描述Command_Length4Integer消息包的长度,包括此字段Command_ID4Integer这个字段表明此条短消息的类型,例如ESME_SUB_SM表示此消息为ESME向SMSC提交短消息。Command_status4Integer此字段表示一个命令的成功与失败,如失败,指示引起失败的错误类型等信息,它在请求中必须设为0。Sequence_No4Integer此字段表示消息的序列号,它由21-6-1423:58第28页总28页 ESME产生,它是消息和它的应答之间的对应标志,它的数值在0到0XFFFFFFFF间必须保证严格单调的递增,当达到0XFFFFFFFF时,从0开始下一循环。OptionalMessageBody可变混合此字段表示短消息的消息体部分4.4.2命令标志数值定义命令码宏定义数值描述*ESME_BNDRCV0X00000001ESME要求连接到SMSC*ESME_BNDRCV_RESP0X80000001连接SMSC的响应ESME_BNDTRN0X00000002ESME要求连接到SMSCESME_BNDTRN_RESP0X80000002连接SMSC的响应*ESME_UBD0X00000006ESME要求断开连接到SMSC*ESME_UBD_RESP0X80000006断开连接的响应*ESME_QRYLINK0X00000015询问扩展短消息实体与短消息中心的连接情况*ESME_QRYLINK_RESP0X80000015询问扩展短消息实体与短消息中心的连接情况的响应*ESME_NACK0X80000000接收消息头错误的响应*ESME_SUB_SM0X00000004ESME提交短消息到SMSC*ESME_SUB_SM_RESP0X80000004Submit_sm的响应*ESME_DELIVER_SM0X00000005SMSC下发短消息到ESME*ESME_DELIVER_SM_RESP0X80000005Deliver_sm的响应AUTH_ACC0X01000001用户鉴权AUTH_ACC_RESP0X81000001鉴权响应SM_RESULT_NOTIFY0X01000002短消息结果通知SM_RESULT_NOTIFY_RESP0X81000002短消息结果通知响应注:上表中未加*的命令是扩展的。4.4.3消息体语法4.4.3.1鉴权请求消息(AUTH_ACC)字段长度(字节)类型描述Version1Integer协议版本SMSC_Address最大21C_DecString短信息中心地址Source_Address最大21C_DecString源地址Destination_Address最大21C_DecString目的地址MO_MT_Flag1IntegerMO/MT标志1:MO2:MT3:暂保留SM_ID最大9C_HexString短消息IDSM_Length4Integer短消息长度Service_ID4Integer业务标志SMCostInteger发送短消息的费用21-6-1423:58第28页总28页 4.4.3.2鉴权响应消息(AUTH_ACC_RESP)字段长度(字节)类型描述Operation_Result4Integer0操作成功非0操作不成功,取值如下:1协议版本不支持10其他11MO用户帐号不存在12MT用户帐号不存在13MO用户状态不正确14MT用户状态不正确15MO用户金额不足16MT用户金额不足17MO用户增值业务不支持18MT用户增值业务不支持19MO用户为普通20MT用户为普通Notify_Mode1Integer1不管成功或失败都发送2仅失败时发送3仅成功时发送4不管成功或失败都不发送Account_LeftInteger用户扣费后帐户余额4.4.3.3短消息结果通知(SM_RESULT_NOTIFY)字段长度(字节)类型描述Version1Integer协议版本SMSC_Address最大21C_DecString短信息中心地址Source_Address最大21C_DecString源地址Destination_Address最大21C_DecString目的地址MO_MT_Flag1IntegerMO/MT标志1:MO2:MT3:暂保留SM_ID最大9C_HexString短消息IDSM_Length4Integer短消息长度发送结果4Integer0:成功1:失败Service_ID4Integer业务标志SMCostInteger发送短消息的费用若发送失败,则根据SMCost对用户帐户的扣费进行回滚4.4.3.4短消息结果通知响应(SM_RESULT_NOTIFY_RESP)字段长度(字节)类型描述21-6-1423:58第28页总28页 Operation_Result4Integer同鉴权响应消息中的操作结果Account_LeftInteger用户的帐户余额4.4.3.5BIND_RECEIVER命令此命令在扩展短消息实体和短消息中心之间产生虚连接,该连接支持所有的协议命令。BIND_RECEIVER语法消息头中的Command_ID是“bind_receiver"。字段长度(字节)类型描述System_id最大16C_String接口IDPassword最大9C_String密码System_type最大13C_String接口类型Interface_version1integer接口版本号Ton1integer保留,应设置为0Npi1integer保留,应设置为0Address_range最大41C_DecString保留,应设置为NULLBIND_RECEIVER_RESP语法消息头中的Command_ID是“bind_receiver_resp"。字段大小(字节)类型描述System_id最大16C_String接口ID状态取值范围:E_SUCCESSE_OTHERERRE_CMDLENERRE_NORIGHTE_INVLDSYSTEMIDE_INVLDPASSWORDE_INVLDSYSTEMTYPEE_INVLDIFVER4.4.3.6BIND_TRANSMITTER命令它在扩展短消息实体和短消息中心之间产生虚连接,该连接支持除下发短消息(deliver_sm,deliver_sm_resp)以外的所有协议命令。BIND_TRANSMITTER语法此命令和BIND_RECEIVER的语法一样,只是在消息头里的Command_ID为"bind_transmitter"。BIND_TRANSMITTER_RESP语法此命令和BIND_RECEIVER_RESP的语法一样,只是在消息头里的Command_ID为"bind_transmitter_resp"。状态取值范围:同BIND_RECEIVER_RESP。21-6-1423:58第28页总28页 4.4.3.7UNBIND命令此命令用于断开ESME和SMSC之间的连接。UNBIND语法此消息只有消息头,没有消息体,消息头中的Command_ID是“unbind"。UNBIND_RESP语法此消息只有消息头,没有消息体,消息头中的Command_ID是“unbind_resp"。状态取值范围:E_SUCCESSE_OTHERERRE_CMDLENERRE_NORIGHT4.4.3.8SUBMIT_SM命令此命令用于ESME提交短消息到SMSC,以便SMSC把此短消息发给特定的移动台。SUBMIT_SM语法消息头中的Command_ID是"submit_sm"字段长度(字节)类型描述service_type最大6C_OctetString保留,必须设为0source_address_ton1integer源地址编码类型source_address_npi1integer源地址编码方案source_address最大21C_DecString源地址dest_address_ton1integer目的地址编码类型dest_address_npi1integer目的地址编码方案destination_address最大21C_DecString目的地址esm_class1integer短消息类型protocol_ID1integerGSM协议类型priority_flag1integer优先级schedule_delivery_time最大17C_StringTime计划下发短消息的时间validity_peroid最大17C_StringTime短消息的最后有效期限registered_delivery_flag1integer注册短消息标志replace_if_present_flag1integer替换短消息标志。data_coding1integer数据编码方案sm_default_msg_id1integer预定义短消息IDsm_length1integer短消息的长度short_message_text最大161可变短消息数据内容SUBMIT_SM_RESP语法消息头中的Command_ID是"submit_sm_resp"。字段长度(字节)类型描述Message_id最大为9C_HexString短消息ID状态取值范围:E_SUCCESSE_OTHERERRE_CMDLENERRE_NORIGHT21-6-1423:58第28页总28页 E_ADDRERRE_MOEXCEEDE_MTEXCEEDE_INVLDUSERE_INVLDDATAFMTE_CREATEMSGFAILUREE_INVLDORGTONE_INVLDORGNPIE_ORGADDRERRE_INVLDDESTTONE_INVLDDESTNPIE_DESTADDRERRE_INVLDSCHEDULEE_INVLDEXPIREE_INVLDESME_INVLDUDLENE_INVLDPRIE_INVLDRDFE_INVLDRPF4.4.3.9ENQUIRE_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_SUCCESSE_OTHERERRE_CMDLENERRE_NORIGHT4.4.4SCP间短消息主被叫鉴权操作及参数SCP间采用Execute操作完成主被叫用户的鉴权。Execute操作的参数及描述如下:Execute(第一次)ObjectRDNSequenceAttributeTypeAndValueTypeid_oi_serviceKeyValue11methodIDid_mt_预付费smsautherrity注SpecificInput长度(字节)类型描述Version4Integer协议版本21-6-1423:58第28页总28页 SMSC_Address最大21C_DecString短信息中心地址Source_Address最大21C_DecString源地址Destination_Address最大21C_DecString目的地址MO_MT_Flag4IntegerMO/MT标志1:MO2:MT3:暂保留SM_ID4Integer短消息IDSM_Length4Integer短消息长度Service_ID4Integer业务标志ExecuteResult(第一次)methodIDid_mt_预付费smsautherritySpecificOutput长度(字节)类型描述Operation_Result4Integer0操作成功非0操作不成功,取值如下:1协议版本不支持10其他11MO用户帐号不存在12MT用户帐号不存在13MO用户状态不正确14MT用户状态不正确15MO用户金额不足16MT用户金额不足17MO用户增值业务不支持18MT用户增值业务不支持19MO用户为普通20MT用户为普通Notify_Mode4Integer4不管成功或失败都不发送使用的客体标识符的类型为:id_oi_serviceKey={itu-trecommendationq1228ServiceID(2)attributeType(4)AttributeID(3)}id_mt_预付费smsautherrity={itu-trecommendationq1228ServiceID(2)methodType(10)MethodID(10)}4.4.5SCP间短消息结果通知操作及参数SCP间采用Execute操作完成结果通知。Execute操作的参数及描述如下:Execute(第一次)ObjectRDNSequenceAttributeTypeAndValueTypeid_oi_serviceKeyValue11MethodIDid_mt_预付费smsresultnotify注SpecificInput长度(字节)类型描述21-6-1423:58第28页总28页 Version4Integer协议版本SMSC_Address最大21C_DecString短信息中心地址Source_Address最大21C_DecString源地址Destination_Address最大21C_DecString目的地址MO_MT_Flag4IntegerMO/MT标志1:MO2:MT3:暂保留SM_ID4Integer短消息IDSM_Length4Integer短消息长度发送结果4Integer0:成功1:失败Service_ID4Integer业务标志ExecuteResult(第一次)MethodIDid_mt_预付费smsresultnotifySpecificOutput长度(字节)类型描述Operation_Result4Integer同鉴权响应消息中的操作结果使用的客体标识符的类型为:id_oi_serviceKey={itu-trecommendationq1228ServiceID(2)attributeType(4)AttributeID(3)}id_mt_预付费smsresultnotify={itu-trecommendationq1228ServiceID(2)methodType(10)MethodID(11)}附录A部分信令流程1、智能用户->智能用户,SMSC与被叫SCP有直接连接,成功失败都通知,正常流程21-6-1423:58第28页总28页 注:图中SCP1和SCP2可以为同一个SCP2、智能用户->智能用户,SMSC与被叫SCP无直接连接,成功失败都通知,MT鉴权失败被叫鉴权失败,发送给主叫一个“短消息发送失败“的通知消息。2、智能用户->智能用户,成功失败都通知,MO鉴权失败21-6-1423:58第28页总28页 21-6-1423:58第28页总28页 附录B发送短消息操作的参数说明interface_version:用来描述本协议的版本号。由于SMPP协议初期的不规范,导致V3.3版的编码不唯一,介于0X01-0X33之间的值均认为是代表V3.3版。现做如下约定:interface_version的值从1开始,0保留。对于interface_version>=1,必须支持除REPLACE_SM_EX命令和用户管理命令以外的所有协议命令,对于interface_version>=2,必须支持所有本文中提到的协议命令。当ESME连接SMSC时,如果ESME提出的版本号高于SMSC的版本号,则SMSC给出否定响应,响应中的status表示SMSC的版本号;ESME提出的版本号低于或等于SMSC的版本号,则SMSC给出肯定响应,在连接成功后的会话过程中,双方将以ESME提出的版本号作为通信的依据。message_id:短消息ID,它由SMSC设置。用于查询以及替换短消息等操作时使用。message_status:短消息当前的状态:1:转发状态2:发送成功(不再尝试转发)3:发送失败(由于消息超过有效期)4:消息被删除(不再尝试转发)5:消息未发送(继续尝试转发)6:短消息处于可接受状态7:无效状态(不再尝试转发)8:拒绝其他:保留MS_type:手机类型0:中文手机1:英文手机>1:保留npi:地址编码方案,(定义详见GSM03.40[1]9.1.2.5)0:未知1:ISDN电话编码方案3:数据编码方案(X.121)4:电报编码方案8:国家编码方案9:专用编码方案10:ERMES编码方案(ETSIDE/PS3013)21-6-1423:58第28页总28页 15:扩充保留从0到15的其他值保留OCOS:最大提交短消息,某移动台提交到SMSC的等待下发的短消息的最大数目。password:用来登录的密码。priority_flag:优先级1:高优先级0:普通优先级>1:保留protocol_ID:GSM协议类型(定义详见GSM03.40[1]9.2.3.9)registered_delivery_flag:注册短消息标志,它表示当此短消息到达最后的目的地后,是否需要转发状态报告(DELIVERYRECEIPT)。0:不需要1:需要>1:保留replace_if_present_flag:替换标志,当SUBMIT命令中指示的源地址和目的地址与等待下发的短消息的源地址和目的地址都相同时,是否替换这些等待下发的短消息。在DELIVERY命令中该参数无效,需置为0。0:不替换1:替换>1:保留schedule_delivery_time:对于SUBMIT命令,该参数指计划下发短消息的时间,对于DELIVERY命令,该参数指SMSC收到要下发到ESME的短消息的时间。service_type:保留,必须设为NULL,原该参数指明短消息服务的类别。short_message_text:短消息数据内容,当编码类型为7位码,类型为C_String,最大长度为160个字符。8位码时,类型为C_String,最大长度为140个字节。当为Unicode时,类型为C_UnicodeString,最大长度为70个字符。21-6-1423:58第28页总28页 SM_allowed:是否提供短消息业务。0:不提供1:提供其余值保留sm_default_msg_id:预定义短消息ID,不是预定义短消息时应设为0。预定义短消息ID值从0x01到0x64,其值的具体含义由特定的ESME和SMSC约定。其余值保留。sm_length:短消息的数据长度,以字节计算。source_address:源地址编号,同address。source_address_npi:源地址编码方案,同npi。source_address_ton:源地址编码类型,同ton。sub_address:用户通信地址。sub_ID:用户ID,同address。sub_name:用户名。reg_datetime:用户注册登记时间。system_id:接口ID,用来描述虚拟连接的用户名,即ESME登录SMSC使用的帐号。system_type:用来描述用户的类型。TCOS:最大下发数,指等待下发到某移动台的最大短消息数目。21-6-1423:58第28页总28页 ton:地址编码类型,(定义详见GSM03.40[1]9.1.2.5)0未知号码1国际号码,例如86139012345672国内号码,例如139012345673网络专用号码4用户号码5字母号码(按照GSMTS03.387-bit缺省字母表编码)6缩写号码7保留validity_peroid:短消息的最后生存期限。21-6-1423:58第28页总28页'