admin管理员组

文章数量:1642239

一、SMPP协议支持的通讯标准 1.GSM 2.CDMA 3.TDMA 4.iDEN
二、简介 1.SMPP是基于SMSC(短消息中心)与ESME(短消息实体)之间的请求和响应协议数据单元的交换,每一个SMPP操作都由一个请求PDU和相应的一个响应PDU组成,并或且这种交换是在TCP/IPx.25网络连接之上的。    SMPP是基于SMSC与ESME之间的请求和响应协议数据单元的交换,每一个SMPP操作都由一个请求PDU和相应的一个响应PDU组成,并且这种交换是在TCP/IP或x.25网络连接之上的。 2.任何SMPP操作都包含请求PDU(Request Protocol Data Unit)和与之对应的回应PDU(Response Protocol Data Unit),只有协议数据单元,alter-notification例外,它没有应答。 3.SMPP把ESMEs分类为Transmitter/Receiver/Transceiver三种交互方式,分别对应仅提交短消息/仅接收短消息/提交和接收短消息三种形态。 4.SMPP会话有5种状态:OPEN / BOUND_TX / BOUND_RX / BOUND_TRX / CLOSED OPEN: 连上网络和即将连接SMSC,已经建立但是还没有发送连接请求。 BOUND-TX:连上网络的ESME作为ESME转发端请求连接,并从授权连接请求的SMSC接收响应。 BOUND_RX:连上网络的ESME作为ESME接收端请求连接,并从授权连接请求的SMSC接收响应。 BOUND_TRX:连上网络的ESME作为ESME收发端请求连接,并从授权连接请求的SMSC接收响应。 CLOSED:ESME从SMSC断连和关闭网络连接。
三、SMPP PDU格式: 由PDU头和PDU体组成。 1.PDU头:由命令长度(4字节)、命令标识、命令状态、序列号组成,每个部分都是4个字节。 2.消息体:包括必选参数和可选参数。
四、命令: 1.BIND:向SMSC注册一个ESME实例。并通过网络请求SMPP对话,接收或发送消息。command_id字段分别为bind_transmitter,bind_transceiver,bind_receiver。 2.OUTBIND:使用该命令让ESME向其发送bind_receiver请求。 3.UNBIND:注销一个已知和SMSC注册的ESME实例,并告知SMSC此ESME不再使用该网络连接与其发送或接收消息。没有消息体。 4.GENERIC_NACK 当SMPP PDU的消息头无效时,会产生一个通用的拒绝应答,即generic_nack应答命令。以下情况会产生generick_nack,command_length 无效和无法识别的command_id。只包含消息头。 5.SUBMIT_SM:提交短消息到短消息中心。消息体中必要参数中的几个主要参数。 source_addr_ton:源地址编码类型,可以为NULL。 source_addr_npi:源地址编码方案,可以为NULL。 source_addr:提交短信的SME的地址。是提交的短消息的源地址。可以为NULL。 dest_addr_ton:目的地址编码类型,可以为NULL。 dest_addr_npi:目的地址编码方案,可以为NULL。 Destination_addr:短消息的目的地址。对于移动终止的短消息来说,它就是目的手机的MSISDN。 esm_class:指定信息模式和信息类型。 protocol_id:协议指示和网络标识区。 priority_flag:指示短消息的优先级。 schedule_delivery_time:表示计划下发该短消息的时间,如立即发送,设为NULL。 validity_period:表示短消息的最后生存期限。如果需要SMSC默认有效期,设置为NULL。 registered_delivery:标识SMSC是否要状态报告或SME是否要确认标识。 replace_if_present_flag:该字段表示替换现存短消息标志。 data_coding:该字段表示短消息用户数据编码方案。、 sm_default_msg_id:该字段表示预定义短消息ID。 sm_length:要发送的短消息数据内容的字节长度。 short_message:最大可到254字节的短消息用户数据。 6.SUBMIT_SM_RESP:消息体中只含有message_id。 7.SUBMIT_MULTI:用来提交SMPP信息传输给多个接收者,或一个和多个分布列表,不支持事务处理消息模式。 8.SUBMIT_MULTI_RESP:SUBMIT_MULTI的回应。 9.DELIVER_SM:SMSC发到ESME的消息。使用这个命令,SMSC可以路由一个短消息到ESME用于下发。 通知类型包括:SMSC状态报告,SME转发确认,SME 人工/用户端的用户数据包含在deliver_sm中的short_message字段内,中介通知。 10.DELIVERY_SM_RESP:DELIVERY_SM的回应消息。 11.DATA_SM:用于SMSC和ESME之间传输数据。可能同时用于ESME和SMSC。可以用来传输如下通知: SMSC状态会送,SME状态确认,SME 人工/用户端的用户数据包含在deliver_sm中的short_message字段内,中介通知。 12.DATA_SM_RESP:DATA_SM的回应信息。 其他:QUERY_SM,QUERY_SM_RESP,CANCEL_SM,CANCEL_SM_RESP,REPLACE_SM,REPLACE_SM_RESP,ENQUIER_LINK(通讯链路的检测),ENQUIRE_LINK_RESP,ALERT_NOTIFICATION。、 五、SMPP参数说明 1.消息头参数: amand_length:SMPP消息的字节长度。 bmand_id:SMPP PDU消息类型。 cmand_status:SMPP请求的成功或失败。仅仅与SMPP消息应答有关。在SMPP请求中应该置为NULL。 d.sequence_number:PDU消息序列号。 2.消息体: 1.必选项: a.system_id:连接时识别ESME或SMSC。 b.password:SMSC用来鉴定正在相连的ESME的身份。 c.system_type:用来对与SMSC正在连接的ESME的类型进行分类。如VMS、OTA。 b.interface_version:显示SMPP协议的版本号。 六、消息状态: 1.ENROUTE:消息正在传输。 2.DELIVERED:消息已送达。 3.EXPIRED:消息超时。 4.DELETED:消息被删除。 5.UNDELIVERABLE:消息不可送达。 6.ACCEPTED:消息已接收。 7.UNKNOWN:消息状态无效。 8.REJECTED:消息被拒绝。 七、状态报告的格式 1.id:10位 消息ID 初次提交时由SMSC分配给短消息。 2.sub:3为 原始提交的消息数。它仅仅与原始消息提交给分配表时有关。如果必须的话,用0填充开头。 3.dlvrd:3为 下发的短消息数。仅仅与原始消息提交给分配表有关。 4.submit_date 10位 短消息提交的时间和日期。    在网络和交换子系统NSS中有两个非常重要的数据库:HLR和VLR。HLR:归属位置寄存器,保存与用户的当前位置相关的信息,从而建立对等动态的呼叫。VLR:位置来访寄存器,它与一个或多个MSC相连,负责为用户临时注册数据,它存储的位置比HLR中的要精确一些。 VRL总是与MSC集成在一起。

本文标签: 协议SMPP