SMPP和CMPP短信平台网关接口技术概览
来源:原创 时间:2018-02-23 浏览:12409 次 短消息业务(SMS)在移动通信业务中越来越流行,其用户和流量也在迅速增长。与此同时,中国的互联网用户正以指数速度增长。已经成为用户增长最快的市场之一。这两种沟通方式的结合,形成了消费者的习惯,并进一步扩大了消费者的依赖程度。中国移动互联网发展的主要模式是网络提供商(中国移动、中国联通等)作为网络提供商,向各种内容/应用服务提供商(SPPs)提供数据网络和宽带网络平台。每个SP使用这些平台开发和提供适合移动互联网用户的服务。
在这种模式下,网络提供商通过短消息平台向SP提供付费通信通道。每个SP利用网络提供商的短消息平台向移动通信用户提供各种应用服务,这种协作方式称为基于短消息平台的协作模式。网络提供商之间的相互合作已成为一种普遍而重要的方式。目前,新浪、搜狐等门户网站已经推出了短信收发、订购和发送电子邮件等服务,同时短信平台在股票交易、票务预订、移动银行、移动商务等领域也日益流行。图1是基于SMS平台的移动互联网服务访问的示意图。
Internet短消息网关(ISMG)作为SP与SMS(短消息中心)之间的通信接口进行数据交换。短信网关的功能结构典型的ISMG功能结构分为三个部分:图1。基于短消息平台的移动互联网服务接入方案。与SMSC连接的SMPP代理系统;连接到SP服务处理的CMP P代理系统;负责两个代理系统之间协议转换的消息处理系统。
ISMG的功能结构图可以简单地表示,如图2所示。MSM与SMSC之间的信息传输是由GSM网络完成的,该网络负责实现特定的业务管理和计费功能。其中的部分功能是SMPP协议与SMPP代理系统连接到GSM网络中的短消息中心。在此功能中,使用ISMG作为SMPP协议的客户端。CMP P代理系统。它基于TCP/IP协议,在CMP P协议和SP协议之间建立了安全机制。
有效传输信道。在此功能中,ISMG作为CMP协议的服务器。消息处理系统一方面将从SMSC接收到的信息传输到CMP P格式,另一方面负责根据SMPP格式传送SP的请求信息。为了在SMSC和SP之间提供一个透明的传输通道,并进行必要的协议转换,可以看出SMPP协议和CMP P协议是SMSC与外部短消息实体(SMSC)之间的接口协议。它在短消息业务中起着非常重要的作用。
接着介绍了这两种协议的研究与实现。2 SMPP协议概述SMPP协议是短消息对等协议。这是一个开放的协议。工业接口协议,短消息中心(如SMSCS USSD、分散辅助服务数据服务器或其他消息中心)和SMS应用程序(如WAP代理服务器、电子邮件网关或其他消息网关)之间灵活的短消息转换。SMSC通常被称为SMPP的“服务器”实体,EMSE被称为“客户”,MPP协议是一种基于TCP/IP或X.25网络连接的开放消息传递协议。
完成Esme和SMSC之间协议数据单元的请求和交换。它定义了以下内容:1)为了在Esme和SMSC之间交换短消息,定义了一系列操作和相关的协议数据单元。在SMPP操作中,中小企业应用程序必须与SMSC交换数据。(3)每个SMPP操作必须包含一个请求PDU和相关的PDU响应。接收实体必须向SMPPPDU请求返回相关的SMPP响应。
通过SMPP消息埃斯梅和SMSC之间的交流可以分为三种类型:(1)从埃斯梅到SMSC(发射机);(2)从SMSC埃斯梅(接收器);(3)互相发送埃斯梅和SMSC之间(收发)。2.2smpp SMPP艾思梅第一会话描述创建一个,连接到SMSC网络连接初始化SMSC和埃斯米之间的SMPP通信;然后用SMPPBind(绑定)要求开SMPP协议的会话。
一个我如果你想发送和接收邮件的同时如果需要创建两个网络连接,并打开两SMPP协议会话(发射机和接收机)也只有;或者,只有创建一个网络连接打开一个smpptransceiver会话。
在SMPP协议会话,ESME需要提交一系列的请求给SMSC,从SMSC接收相应的请求响应;同样,SM SC也可以向她请求和会话状态得到相应the.smpp Esme请求响应如下:打开:艾思梅创建一个SMSC网络连接,但还没有提交一个请求:bind.bound_tx已经连接到埃斯梅需要绑定到Esme发射机(提交bind_transmitterpdu)同时确认message.bound_rx收到:绑定请求已经连接到埃斯梅需要绑定到Esme接收器(从SMSC提交bind_receiverpdu)和接收确认响应message.bound_trx:绑定请求已n连接到埃斯梅需要绑定到发送/接收由SMSC Esme(提交bind_transceiverpdu),同时接收来自SMSC确认响应消息绑定请求。
一个被绑定到发送/接收艾思梅支持ESME ESME发射机或接收机的所有操作。
关闭:艾思梅闭合连接取消和SMSC绑定,SMSC可以解除the.2.3smpp协议消息Esme发送短消息到SMSC Esme必须作为艾思梅发射机或连接到SMSC艾思梅接收器发送。
向艾思梅SMSC smpppdus submit_sm data_sm还包括:SMSC,也可以转发到埃斯梅的短消息,在这种情况下,她必须作为艾思梅接收机或Esme发送/接收器连接到SMSC。
从短信中心发送/接收smpppdus Esme包括:deliver_sm data_sm短信除了SMSC提交一个埃斯梅也可以使用标识符来执行以下操作:query_sm SMPP消息- SMSC投票确定先前提交的短消息状态cancel_sm -取消的消息传递操作,而不是replace_sm短消息业务中心响应之前从埃斯梅的信息包括:消息标识符或埃斯梅已经提交信息状态为有效或无效,对于后者,SMSC返回适当的错误状态如下:submit_sm_resp data_sm_resp pdus.smsc响应query_sm_resp cancel_sm_resp replace_sm_resp Esme SMSC响应消息包括:deliver_sm_resp data_sm_resp埃斯梅作为一个发射器和一个典型的SMPP协议会话过程的接收器在图3和图4所示(1。
bind_transmitterbind_transmitter_respsubmit_sm submit_sm_resp submit_sm)(1)(2)(1)querry_sm submit_sm_resp querry_sm_resp(2)(1)(1)unbindunbind_resp 3esme esmesmscesmesmscbind_receiverbind_receiver_respdeliver_sm会话流量变送器deliver_sm_resp(1)(2)(deliver_sm_resp deliver_sm 2)deliver_sm(3)deliver_sm_resp(3)图4esme unbind_respunbind接收会话流表的一般格式1smpppdu pduheaderpdubodycommandlengthcommandidcommandstatussequencenumbermandatoryparametersoptionalparameters2.4smpp SMPP协议是一个应用层协议,它不提供传输功能,其TCP/IP基于X.25网络连接和数据传输的点对点连接,提供可靠的假设为基础的网络,包括数据信息的编码,窗口流量控制和错误处理。
SMPP层的网络层负责管理SMPPPDU的发送和接收。网络层的发送实体将处理SMPPPDU的分段,以便在网络上传输一系列数据包。可以看出,SMPPPDU协议是通过组织、发送、接收和重组一系列SMPPPDU分段数据包来实现的。每个SMPPPDU由两部分组成:PDUHeader和PDUBody。
的pduheader是必须的,它包括command_length,command_id,command_status,sequence_number四参数;pdubody参数和可选参数必须包含两part.smpppdu表1的一般格式。27 pdubody smpppdu全面的定义,对每个单元所需要的参数是不同的,这里就不重复,详细内容请参阅smppprotocolspecificationv3.4。具体到一个短消息网关、SMPP代理系统是基于网络的连接,组织,和SMSC发送,接收,通过一系列的数据包smpppdu片段重组,从而实现短期和SMSC之间的信息交换。
在这里,我们试图理解CMPP协议的研究与实现of.3cmpp协议3.1cmpp协议CMPP协议概述中国移动点对点协议(chinamobilepeertopeer),是信息资源实体(如SP)和应用层网关接口协议。如SMPP协议,CMPP协议是基于TCP / IP和X.25网络连接,完成了请求和SP与ISMG之间的信息交换,在两个定义之间的the.cmpp信息访问协议设置如下:(1)SP与ISMG之间进行一系列的消息类型所需的信息;(2)所需的信息类型之间的消息转发网关;(3)对连接请求路由信息的SP与ISMG的消息type.3.2cmpp邮件流所需的ISMG网关之间的信息交互,可以使用长连接方式,也可以采用短连接方式。
在连接长连接可以连续发送多个数据包,然后断开the.sp与ISMG客户端服务器建立TCP连接,用于双方submitted.tcp/ip连接互信息的建立,由客户发起的应用层连接,并进行数据传输,当没有数据传输通道,客户端要发送链路检测包来保持联系,在一定时间内(配置参数,如As 2S服务器)如果任何数据没有收到客户端断开。短连接是指通信双方的数据交互,建立连接,数据传输完毕,然后断开连接,通信between.ismg和SP发送每个连接只完成了业务与TCP / IP,既为客户端和服务器端。
仅发送和接收端,每个业务都建立连接,在同一连接中与响应方式、请求和响应通信。由于系统采用每个客户端/服务器模式,操作发起连接请求的客户端驱动程序,完成操作来关闭连接between.ismg。
带有短连接的字母,首先将连接作为客户机服务器启动,以便按需连接彼此。每个消息必须有状态报告。
当错误发生时的用户发送信息时,网关应该发送给SP error.sp状态报告发送给网关的信息类型包括:(1)cmpp_connect(应用层连接的要求2)cmpp_terminate终止应用层连接(3)cmpp_terminate_rep终止应用层连接响应消息格式表2cmpp一般messageheadermessagebodytotal_lengthcommand_idsequence_idparameters(我)(4)cmpp_deliver_rep发布消息回应(5)(6)cmpp_submit cmpp_query提交短信发送短信查询状态(7)(8)cmpp_cancel cmpp_active_test删除短信激活测试(9 cmpp_active_test_rep)的测试响应包括ISMG发送激活对SP的消息类型:(1)的cmpp_connect_rep请求连接应发了个短信(2)cmpp_deliver(3)(4)cmpp_submit_rep cmpp_query_rep提交消息的响应消息状态查询结果(5)(6)cmpp_cancel_rep cmpp_active_test_rep删除短信反应激活测试响应(7)cmpp_active_test(8)活化试验cmpp_terminate终止应用层的连接(9)连接的短信网关发送响应消息类型终止应用程序的cmpp_terminate_rep层包括:(1)cmpp_fwd(2)cmpp_fwd_rep消息转发转发消息的响应与一个长连接操作过程短接在图5和图6所示。
3.3cmpp协议SMPP协议,CMPP协议是一个应用层协议连接的TCP / IP和X.25网络中基于网络层负责CMPP消息的发送和接收管理,传输实体网络层以块的过程CMPP消息和数据包重组CMPP消息网络层接收实体。所以CMPP协议,还可以通过网络层,较低的发送、接收、包CMPP消息由一系列重组来实现。每个CMPP消息头包含两部分MessageHeader和人格。
该消息包含messageheader身体,包括total_length,command_id,sequence_id四参数;参数不同的新闻人格包含different.cmpp消息的一般格式表CMPP消息类型2。已共计30个定义,除了上面已经给出类型之间的SP与ISMG网关ISMG网关信息,包括路由信息的请求消息类型之间的交界处。
随着内容的每个消息类型和参数的定义,请参阅“中国移动通信站信息实体与互联网短信网关接口协议(cmppv1.2)。具体到一个短消息网关、CMPP协议代理的任务是基于网络连接的,组织,和SP发送,接收,通过一系列的CMPP消息包的重组,SP和交换之间的短消息。
为了实现在SMPP的理解和实现基于CMPP协议,两短信网关,我们可以进一步具体实施短信网关功能的实现。4短信网关到网关基本协议转换、消息接收,例如转发功能:首先建立ISM G和SMSC和SP网络之间的连接,一般基于TCP/IP的连接。
数据通信in.ismg smppspismgcmpp_connect_repcmpp_connectcmpp_submitcmpp_submit_repcmpp_delivercmpp_deliver_repcmpp_cancelcmpp_cancel_repcmpp_querrycmpp_querry_rep.cmpp_terminatecmpp_terminate_repspismg连接cmpp_connectcmpp_connect_rep紧密联系cmpp_delivercmpp_deliver_rep紧密联系cmpp_submitcmpp_submit_rep密切联系,利用Socket套接字。关闭连接cmpp_terminate_repcmpp_terminate图5流程图6短消息连接的连接信息流经验交流代理系统作为客户端作为结束,SocketServer端SMSC和CMPP连接;代理系统的Socket服务器,在客户端侧SP连接。
要作为一个电信级的短消息网关,还加计费,路由请求,定时传输,复杂的连接认证功能,但这个简单的模型稍加修改,就可以在移动互联网服务系统基于短消息平台的SP和电信网关短信通信之间的协议转换线1smpp代理系统socketclientcmpp接收队列CMPP剂系统socketservercmpp长连接spsmpp接收队列协议转换线2smsctransmitterreceiver港口7ismg程序结构图。