一、MMS实现的流程分析基于MMS的终端系统中,MMS实现的步骤如下: (1)串口初始化和设置模块参数; (2)经过处理模块处理过的数据流在控制模块控制(单片机)下,按照MMS协议封装格式进行MMS信息封装; (3)无线模块与GPRS的WAP网关(移动网关)进行连接,向串口发出拨号连接的AT命令,建立发送数据的PPP链路; (4)控制模块向串口发送经过发送协议封装的MMS信息; (5)将封装好的 MMS信息通过无线模块发送到GPRS的WAP网关,再发送到多媒体信息服务中心MMSC上; (6)由MMSC转发MMS到指定号码的用户上,实现个人实时化掌握监视环境的图像信息 整个系统发送MMS时,由控制模块向无线模块发送AT指令,无线网络连接上GPRS网络后,再利用无线模块通过GPRS无线网络发送MMS信息到目的用户上或者----------------------------------------------A、开发板上PPP连接GPRS上网B. 与移动网关建立TCP-Socket连接C. 封装MMS-PDU数据包D. 封装HTTP-POST数据包E. 发送HTTP报文至移动网关F. 接收网关回复信息二、MMS协议封装、无线网络连接协议和MMS发送协议(一)MMS协议封装1、图片格式为压缩后的JPEG格式,压缩编码机制是由WAP-209-MMSEncapsulation定义的。
2、完整的MMS信息被包含在MMS PDU之中,采用多媒体邮件扩展MIME方式打包3、在基于WAP的传输方式中,MMS PDU被封装在WSP PDU之中,作为WSP的消息体传输WSP PDU的内容类型必须被指定为application/vnd.-wap.mms-message,用以指明客户端应该进行的处理操作,它可以将多媒体部分的内容与显示控制部分的内容封装成为一个消息体4、消息体可以是不同类型的,由多个媒体对象组成,每个对象占据一个part(按照RFC2387标准)5、消息的组装方式分为: .application/vnd.wap.multipart.mixed(无序);.application/vnd.wap.multipart.related(有序)6、显示控制语言" presentation "内容封装成为一个消息体;7 ?application/vnd.wap.multipart.related的MMS PDU封装模型参考下图8、存在Start参数,"presentation”如果不是消息体的第一个part,则必须用start字段指出其所在位置;无start参数时,presentation放在第一位。
9、?用户显示策略10、“presentation” 显示的大小、先后顺序、位置;SMIL (Synchronized Multimedia Integration,SMIL是一种简单的标记性语言,内容书写格式和XML一样11、消息体中最下层为媒体文件,如音频,视频,文本及图片文件然后“presentation”用SMIL来表示这些文件播放的次序,文件名,开始播放时间,结束时间,当然如果是图片,文本则为显示时间,已经在屏幕中显示的具体位置12、用MIME来封装消息体这个规范称为MIME Encapsulation Aggregate Documents;负责把所有的独立的文本、图像、声音、视频内容以及SMIL文件本身捆绑在一起13、MMS消息的文本格式采用IETF规定的MIME结构(RFC2045-2049 ),它和OMA制定的Multimedia Messaging ServiceEncapsulation Protocol规定的二进制码格式有一一对应的关系14、下面是MMS客户终端系统需要处理的20种MMS PDU: ★ 客户端将MM发送给发端MMS代理中继(M-Send.req ) ★发端MMS代理中继发送给客户端(M-Send.conf ) .★从MMS代理中继取回消息(WSP/HTTP GET.req ) .★接收MM回复,收端代理中继发送至客户端(M-Retrieve.conf ) .★新MM到达通知,收端代理中继发送至客户端(M-Notification.ind ) .★MM通知回复,客户端发送至收端代理中继(M-NotifyResp. ind ) .★己发送消息的发送报告(M-Delivery.ind ) .★应答发送的消息(M-Acknowledge.ind ) .★已发送消息的阅读报告(M-Read-Rec.ind, M-Read-Orig.ind) .★转发消息(MMS客户端发送一个请求让MMS代理中继转发消息 M-Forward.req和M-Forward. conf ) .★存储或更新消息(M-Mbox-Store.req, M-Mbox-Store.conf) .★浏览下载消息(M-Mbox-View.req, M-Mbox-View.conf) .★MMBOX上传操作(M-Mbox-Upload.req, M-Mbox-Upload.conf) .★MMBOX删除操作(M-Mbox-Delete.req, M-Mbox-Delete.conf)(二)MMS发送协议1) MMS客户端发送MM时,MM被封装在称为M-Send.req PDU中,并被传送给MMS分发代理; 2)通过M-Send.conf PDU接收分发代理返回的信息; 3) MMS分发代理通过M-Notification.ind PDU通知MMS客户端有新MM到达,MMS客户端通过M-NotifyResp.ind PDU进行回应; 4) MMS客户端从MMS分发代理请求MM下载的操作基于标准的WSP/HTTPGET方法,本项目中采用WSP GET.req PDU,回应下载的PDU类型为M-Retrive.conf PDU; 5) MMS客户端可以向MMS分发代理请求M-Forward.req PDU转发位于服务器上的MM,并获取回应信息M-Forward.conf PDU; 6)当MMS客户端发送或转发的MM被接收方成功接收后,如果发送方请求传达报告、接收方允许该操作,则分发代理会向发送方发送传达报告M-Delivery.ind PDU,指示mm传送状态信息,不需要客户端进行回应或确认; 7)当发送方要求已读报告、接收方允许己读报告时,MMS客户端产生M-read-rec.ind PDU发送给接收方的分发代理,由其转发给原始发送方的分发代理,后者接收到M-read-rec.ind PDU后,产生一个M-read-orig.ind PDU并将其发送到MMS客户端来传送已读报告; 8) MMS客户端通过M-Mbox-Store.req PDU和M-Mbox-Store.conf PDU将新到MM存储到MMBOX,或更新已在MMBOX中的MM的状态和标记;通过M-Mbox-View.req PDU向MMS分发代理请求位于MMBOX中的一个或多个MM的信息用于浏览,也可以获取指定的MM的内容;通过M-Mbox-Upload.req PDU将本地的MM上传存储(草稿)到MMBOX中;通过M-Mbox-Delete.req PDU请求MMS分发代理删除位于MMBOX中的MM. MMB OX中的MM均有MM标记属性,其由客户端进行维护,主要用于客户端检索、过滤MM之用,这些功能支持是可选的。
三)、pdu头域:1、MMS头域根据WAP-209协议和RFC2387的规定;包括PDU类型,接受方,发送方,发送时间;2、X-Mms-Message-Type ,X-Mms-Transaction-ID和X-Mms-MMS-Version必须位于MMS头的开始,并且按照前面所列的顺序Content-Type必须在MMS头域的最后,其后为消息体,其它域的顺序可以随意安排3、只发送单一的图像或文本,Content-Type被设置为applicationJvnd.wap.multipart.related方式Content-Type后面是JPEG图像数据:image/jpeg,再不需要加入SMIL描述部分和Start参数设置,这样可以减少传输的字节数据,优化网络传输在实现MMS发送时,可以根据MMS的内容选择不同的Content-Type.4、数据例:发送的MMS信息只有一张图片,采用JPEG编码格式;目的号13521069564;主题值:test8C809820202039363034303539008D90891A802B383631 33 3930303030303030302F545950453D504C4D4E00972B383631333532313036393536342F545950453D504C4D4E009674657374003230303630333331313833 37 00 85 04 44 2D 07 73 88 06 80 04 44 30 FB F3 84 A3 0101 A1 9E FF D8......(标准的JPEG图片数据略)......FF D9 其中对某些具体数据分析如下:MMS头: 8C—表示X-Mms-Message-Type 80— m-send-req 98— X-Mms-Transaction-ID 39 36 30 34 30 35 39-Transaction-ID值:9604059 8D— X-Mms-Version 90— MMS Version值1.0 2B 38 36 3133 39 30 30 30 30 30 30 30 30—具体源地址:+8613900000000 2B 38 36 3133 35 32 31 30 36 39 35 36 34—目的地址:+8613521069564 2F 54 59 50 45 3D 50 4C 4D 4E 00— TYPE=PLMN 96—主题 7465737400—主题值:test测试 32 30 30 36 30 33 33 313138 33 37 00— 200603311837(2006.3.31 18:37) 85—表示date 88—表示X-Mms-Expiry(分配值是08) 44 30 FB F3— X-Mms-Expiry时间值 84—表示:Content-Type MMS消息体: A3—表示:application/vnd.wap.multipart.mixed A1—表示:multipart/form-data 9E—表示:image/jpeg(表示之后的图片数据属性为JPEG格式) FF D8—表示图片的开始 ······—表示传输的JPEG图片数据(本论文对JPEG图片数据不再作分析) FF D9—表示图片的结束5、头域列表:。