一种融合消息业务的会谈历史记录处理方法和系统的制作方法

文档序号:7721682阅读:147来源:国知局

专利名称::一种融合消息业务的会谈历史记录处理方法和系统的制作方法
技术领域
:本发明涉及网络通信中的消息融合技术,尤其涉及一种融合消息业务的会谈历史记录处理方法和系统。
背景技术
:随着网络技术的演进,在通信网络上提供的消息通信业务呈现一种融合的趋势,因此开放移动联盟(OMA,OpenMobileAlliance)组织提供了一种融合的IP消息使能者(CPMEnabler,ConvergedIPMessagingEnabler),其可以跨越不同的接入网,架构在统一的IP核心网之上,以支持终端用户的一对一、一对多以及与应用之间的各种媒体类型,如文本、图片、音频/视频片段、二进制文件、音频/视频流的通信。在融合的消息通信环境中,CPM使能者以CPM会谈为单位向用户提供CPM业务,使用户进行信息交互,用户在通信的过程中希望能够将自身所参与的CPM会谈的历史交互信息由网络侧进行记录和存储,从而实现在需要时能够通过向网络侧服务器发送请求访问到自身曾经参与过的CPM会谈的历史交互记录信息,以真实地重现用户曾参与的会谈的全过程,并且还能够对网络侧服务器上存储的属于该用户自身的会谈历史记录信息进行管理。CPM消息存储服务器为CPM用户提供了这样一种存储CPM会谈历史记录的功能,CPM消息存储客户端通过访问消息存储服务器,对属于该CPM用户的CPM会谈历史记录及相关的内容进行访问和管理,并通过从网络侧获取的会谈历史记录信息进行解析,向CPM用户展示会谈的视图和内容。CPM会谈描述了通信各方之间利用CPM使能者功能实体进行信息交互的行为,CPM会谈由任意数目的会话外交互的CPM消息、CPM文件传输和CPM会话组成。其中,CPM消息是可以包含多个离散(不连续)媒体的信息体,如包含文本、图片、音频片段、视频片段等。CPM文件传输是参与者之间进行一个或多个携带有多媒体内容的文件的传输过程,接收方用户必须在接收被传输文件的任何数据之前显示地确认接收过程。CPM会话是指两个或多个参与者之间持续一段时间的逻辑连接,可用于参与方实时地交换连续性媒体,也可用于交换离散媒体和文件。CPM消息交互、CPM文件传输可以在CPM会话内进行,也可以在CPM会话外进行。一般认为,每个CPM会谈在特定时间内只包含一个CPM会话,但用户可以并行参与多个CPM会谈。CPM会谈历史记录是CPM会谈的存储表示,被授权责任人可以获取并存储其在CPM会谈过程中交换的信息,并将这些信息作为CPM会谈历史记录存储到CPM业务提供商提供的消息存储服务器中。此时,CPM会话外交互的一条CPM消息被存储为一条CPM消息记录,CPM会话外进行的CPM文件传输被存储为一份CPM文件传输历史记录。一个CPM会话则存储为一份CPM会话历史记录,包括会话内CPM消息、会话内CPM文件传输以及会话内交互的连续媒体片段等数据。因此,从存储表示意义上讲,CPM会谈历史记录可以描述为CPM消息记录、CPM文件传输历史记录和CPM会话历史记录的集合。CPM会谈历史记录功能,实际上是对CPM会谈过程中交互的CPM消息、CPM文件传输以及进行的CPM会话进行记录。为了实现会谈历史记录功能,需要在网络侧有一个CPM功能实体能够在通信过程中同时位于信令平面和媒体平面上,作为背对背的用户代理(B2BUA,Back-to-BackUserAgent)接收和发送通信过程中所有的信令消息和媒体消息,通过解析从中提取出需要记录的信息,按照一定的格式进行记录。CPM参与功能(CPMParticipantingFunction)服务器完成上述的会谈历史记录功能,并将这些记录文件提交给CPM消息存储服务器,进行永久存储。CPM消息记录,存储的是在CPM会话外交互的CPM消息。CPM消息有两种类型页面模式(Page-Mode)和大消息模式(LargeMessageMode)。其中,页面模式的CPM消息是通过会话初始协议(SIP,SessionInitiationProtocol))信令平面来传送,页面模式的CPM消息的大小有限制,即不能超过1300字节;如果超过,则消息的内容就不会放入SIPMESSAGE消息体中,而是使用大消息模式的CPM消息来发送。大消息模式CPM消息是通过消息会话中继协议(MSRP,MessageSessionRelayProtocol)协议来发送单条包含大数据量信息的CPM消息;如果需要,大消息模式CPM消息还可以进行分段传送,所以在发送大消息模式的CPM消息之前,首先要在通信的各方之间通过SIP邀请(INVITE)请求建立临时SIP会话以协商建立MSRP媒体通道,当临时SIP会话建立成功之后,才能够通过MSRPSEND请求发送实际的消息内容。在该大消息传送结束之后,该临时SIP会话将被立即拆除。CPM文件传输历史记录,存储的是在CPM会话外传输的可能携带多媒体内容的CPM文件,如文本文档、图片、音频文件、视频文件或应用程序等等。CPM文件的传输过程与大消息模式的CPM消息的发送过程类似,也是首先在文件的发送方和接收方之间通过SIPINVITE请求建立临时SIP会话,以协商建立MSRP媒体通道。接收方需要显示地接受或者拒绝该CPM文件的传输请求。如果临时SIP会话建立成功,则使用MSRPSEND请求消息发送CPM文件的实际内容;根据需要,也可分段传送。在CPM文件传送结束之后,该临时SIP会话将被立即拆除。CPM会话历史记录,存储的是CPM会话过程中的交互历史信息,包括四类信息CPM会话状态变化信息、在CPM会话中交互的CPM消息以及可能包含的媒体对象、在CPM会话中传输的CPM文件、在该CPM会话中交互的连续媒体流对象。其中,CPM会话状态信息描述了整个CPM会话从创建到结束的整个发展变化过程,包括以下十类会话状态变化事件信息CPM会话创建事件相关信息(由SIPINVITE请求消息及相关应答消息携带)、CPM会话参与者离开会话事件相关信息(由SIPBYE请求及相关应答消息携带)、CPM会话参与者被从CPM会话中移除事件信息(由SIPREFER请求及相关应答消息携带)、一个CPM用户加入到CPM会话事件信息(由SIPINVITE请求及相关应答消息携带)、邀请其他CPM会话参与者加入该CPM会话事件信息(由SIPREFER请求及相关应答消息携带)、CPM会话内接收、发送CPM消息(由SIPINVITE、SIPMESSAGE消息携带相关信息)、CPM会话内接收、发送CPM文件(由SIPINVITE消息携带相关信息)以及CPM会话结束事件信息(由SIPBYE请求及相关应答消息携带)。CPM会谈历史记录不同于上述作为物理文件存储的CPM消息记录、CPM文件传输历史记录以及CPM会话历史记录,它是一个逻辑概念,实际上就是该CPM会谈中交互的CPM消息、传输的CPM文件以及进行的CPM会话的存储集合。从上面的分析中可以看到,CPM消息记录、CPM文件传输历史记录相关的消息包括SIPMESSAGE、SIPINVITE、MSRPSEND及其相关的应答消息;由于CPM会话还包括会话内的CPM消息、会话内CPM文件传输、会话内交互的连续性媒体对象以及群组会话时的会话状态变化事件,与CPM会话历史记录相关的消息则更多,包括SIPINVITE、SIP2000K、SIPBYE、SIPREFER、SIPMESSAGE、MSRPSEND等等。由此可见,为了记录CPM会谈历史,CPM参与功能服务器的会谈历史记录功能需要处理大量不同的信令平面、媒体平面的消息。而现有的会谈历史记录功能仅仅是将所有与会谈相关的消息进行整条存储来实现,但在融合的消息业务环境中,由于其特殊的复杂性,一条SIP请求消息在不同的会话上下文环境中可能代表不同的含义,例如SIPINVITE请求可能是请求发送CPM大消息、可能是请求发送CPM文件、可能是请求建立CPM会话、也可能是请求重新加入CPM群组会话等等;如果仅仅只记录SIPINVITE请求消息,则CPM消息存储服务器和客户端在读取会谈历史记录信息时,还需要重新理解SIP信令的语义才能够理解相应的会话状态事件,这加大了重现会谈过程的复杂性。也就是说,仅仅重用现有的机制,不仅无法正确记录会谈历史,并且还会为消息存储服务器和消息存储客户端解析会谈历史记录内容带来困难;因为涉及到了多种协议的不同请求、应答消息,这要求消息存储服务器和消息存储客户端了解通信协议的相关命令的格式和细节,增加了解析、处理的复杂度。在目前已有的消息业务中,只有即时消息(M)业务具有会谈历史记录功能,M业务采用的是在通信过程中将交互的消息完整地存储下来的方法来构造会谈历史记录。但在融合的消息业务环境中,通信的媒体类型更加复杂,CPM会话的媒体类型不再仅仅局限于消息,而是能够进行基于IP的语音、视频通信,尤其在群组会话的情况下,会话的状态变化更加复杂,如果仍按照IM业务的处理方式,仅仅将这些和会话状态相关的信令消息存储下来,消息存储客户端是无法理解其实际代表的语义,从而无法展现会话的变化过程。
发明内容有鉴于此,本发明的主要目的在于提供一种融合消息业务的会谈历史记录处理方法和系统,以解决现有技术无法展现融合消息业务中的会话变化过程的问题。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种融合消息业务的会谈历史记录处理方法,该方法包括融合的IP消息(CPM)参与功能服务器在实现会谈历史记录功能的过程中,从会话初始协议(SIP)信令、消息会话中继协议(MSRP)消息以及实时传输协议(RTP)媒体流中获取与会谈相关的信息,并将所述信息按照统一的存储格式封装为会谈历史记录;消息存储服务器(MSS)按照所述统一的存储格式,对所述会谈历史记录进行存储;消息存储客户端(MSC)按照所述统一的存储格式,对所述会谈历史记录进行访问。所述会谈历史记录由CPM消息记录文件、CPM文件传输历史记录文件、CPM会话历史记录文件组成。对于会谈过程中的CPM页面消息,所述获取与会谈相关的信息,具体为所述CPM参与功能服务器从CPM页面消息的SIPMESSAGE消息体中提取Subject头域、P_Asserted_Identity头域、CPM_Conversation_ID头域、CPM_Contribution_ID头域、CPM-R印lyTo-Contribution-ID头域、Request-URI参数的值、Content-Type为即plication/resource-lists+xml消息体部分的值以及Content-Type为message/cpim消8息体的值。所述将获取的信息按照统一的存储格式封装为会谈历史记录,具体为按照以下方式将获取的信息构造为符合请求评论(RFC)822格式定义的统一存储格式的CPM消息记录文件提取当前系统时间,作为CPM消息记录文件头部的Date头域的内容;从所述Subject头域中提取CPM页面消息的主题信息,作为CPM消息记录文件头部的Subject头域的内容;从所述P-Asserted-Identity头域中提取CPM页面消息的发送方的CPM用户地址信息,作为CPM消息记录文件头部的From头域的内容;从所述CPM-Conversation-ID头域中提取CPM页面消息所属的CPM会谈标识符信息,作为CPM消息记录文件头部的Reference头域的内容;从所述CPM-Contribution-ID头域中提取CPM页面消息的CPM贡献标识符信息,作为CPM消息记录文件头部的Keyword头域的内容;从所述CPM-R印lyTo-Contribution-ID头域中提取被回复的贡献标识符信息,作为CPM消息记录文件头部的In-R印y-to头域的内容;根据所述Request-URI参数的值确定CPM页面消息的类型,并将所述Request-URI参数的值作为CPM消息记录文件头部的To头域的内容;设置CPM消息记录文件头部的Content-Type头域的值为message/cpim;[OO31]设置CPM消息记录文件头部的Content-Description头域的值为CP匪essage;从所述SIPMESSAGE消息体中提取Content-Type类型为message/cpim的消息体内容,作为CPM消息记录文件正文的内容。对于会谈过程中的CPM大消息,所述获取与会谈相关的信息,具体为所述CPM参与功能服务器从协商建立MSRP媒体通道的SIPINVITE请求消息和传输大消息内容的MSRPSEND消息中提取Subject头域、CPM-Conversation-ID头域、CPM_Contribution_ID头域、CPM-R印lyTo-Contribution-ID头域、P_Asserted_Identity头域、Request-URI参数的值、Content-Type为application/resource_lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值。所述将获取的信息按照统一的存储格式封装为会谈历史记录,具体为按照以下方式将获取的信息构造为符合RFC822格式定义的统一存储格式的CPM消息记录文件提取当前系统时间,作为CPM消息记录文件头部的Date头域的内容;从所述Subject头域中提取CPM页面消息的主题信息,作为CPM消息记录文件头部的Subject头域的内容;从所述P-Asserted-Identity头域中提取CPM页面消息的发送方的CPM用户地址信息,作为CPM消息记录文件头部的From头域的内容;从所述CPM-Conversation-ID头域中提取CPM页面消息所属的CPM会谈标识符信息,作为CPM消息记录文件头部的Reference头域的内容;从所述CPM-Contribution-ID头域中提取CPM页面消息的CPM贡献标识符信息,作为CPM消息记录文件头部的Keyword头域的内容;9从所述CPM-R印lyTo-Contribution-ID头域中提取被回复的贡献标识符信息,作为CPM消息记录文件头部的In-R印y-to头域的内容;根据所述Request-URI参数的值确定CPM页面消息的类型,并将所述Request-URI参数的值作为CPM消息记录文件头部的To头域的内容;设置CPM消息记录文件头部的Content-Type头域的值为message/cpim;设置CPM消息记录文件头部的Content-Description头域的值为CP匪essage;从MSRPSEND消息中提取Content-Type类型为message/cpim的消息体内容,作为CPM消息记录文件正文的内容。对于会谈过程中的CPM文件传输,所述获取与会谈相关的信息,具体为所述CPM参与功能服务器从协商建立MSRP媒体通道的SIPINVITE请求消息中提取Subject头域、CPM-Co読rsation-ID头域、CPM-Contribution-ID头域、CPM-R印lyTo-Contribution-ID头域、P-Asserted-Identity头域、Request-URI参数的值、Content-Type为application/resource-lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值。所述将获取的信息按照统一的存储格式封装为会谈历史记录,具体为按照以下方式将获取的信息构造为符合RFC822格式定义的统一存储格式的CPM文件传输历史记录文件提取当前系统时间,作为CPM文件传输历史记录文件头部的Date头域的内容;从所述Subject头域中提取CPM页面消息的主题信息,作为CPM消息记录文件头部的Subject头域的内容;从所述P-Asserted-Identity头域中提取CPM页面消息的发送方的CPM用户地址信息,作为CPM消息记录文件头部的From头域的内容;从所述CPM-Conversation-ID头域中提取CPM页面消息所属的CPM会谈标识符信息,作为CPM消息记录文件头部的Reference头域的内容;从所述CPM-Contribution-ID头域中提取CPM页面消息的CPM贡献标识符信息,作为CPM消息记录文件头部的Keyword头域的内容;从所述CPM-R印lyTo-Contribution-ID头域中提取被回复的贡献标识符信息,作为CPM消息记录文件头部的In-R印y-to头域的内容;根据所述Request-URI参数的值确定CPM页面消息的类型,并将所述Request-URI参数的值作为CPM消息记录文件头部的To头域的内容;设置CPM消息记录文件头部的Content-Type头域的值为Multipart/Mixed;设置CPM消息记录文件头部的Content-Description头域的值为CPMFile;所述CPM文件传输历史记录文件的正文部分的附件部分记录本次CPM文件传输过程中传输的各个CPM文件,每一个传输的CPM文件内容都从相应的MSRPSEND消息的Content-Type类型为Message/cpim的消息体中获取,在CPM文件传输历史记录文件中作为一个附件内容存在。所述根据Request-URI参数的值确定CPM页面消息的类型,具体为如果所述Request-URI参数的值指定的是发送方的CPM用户地址信息,则确定所述CPM页面消息为1-1页面消息;如果所述Request-URI参数的值指定的是CPM控制功能服务器的地址,则确定所述CPM页面消息为Ad-hoc群组页面消息;如果所述Request-URI参数的值指定的是CPM预定义群组的地址,则确定所述CPM页面消息为预定义群组页面消息。对于CPM会话,所述获取与会谈相关的信息,并将所述信息按照统一的存储格式封装为会谈历史记录具体为所述CPM参与功能服务器在会话过程中从与本次CPM会话状态事件相关的SIPINVITE、SIPBYE、SIPREFER、SIPMESSAGE消息中提取相关头域的值,依据所提取的相关头域的值创建会话状态信息的扩展标记语言(XML)文档,并将会话过程中传输的CPM消息、CPM文件、RTP媒体流保存为独立的临时资源文件;在所述CPM会话结束时,将会话状态信息的XML文档和临时资源文件封装为符合RFC822格式定义的统一存储格式的CPM会话历史记录文件。本发明还提供了一种融合消息业务的会谈历史记录处理系统,该系统包括CPM参与功能服务器、MSS和MSC,其中,所述CPM参与功能服务器,用于在实现会谈历史记录功能的过程中,从SIP信令、MSRP消息以及RTP媒体流中获取与会谈相关的信息,并将所述信息按照统一的存储格式封装为会谈历史记录;所述MSS,用于按照所述统一的存储格式,对所述会谈历史记录进行存储;所述MSC,用于按照所述统一的存储格式,对所述会谈历史记录进行访问。所述CPM参与功能服务器进一步用于,对于CPM页面消息,从SIPMESSAGE消息中提取Subject头域、CPM-Co読rsation-ID头域、CPM-Contribution-ID头域、CPM-R印lyTo-Contribution-ID头域、P-Asserted-Identity头域、Request-URI参数的值、Content-Type为即plication/resource-lists+xml消息体部分的值以及Content-Type为message/cpim消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件。所述CPM参与功能服务器进一步用于,对于CPM大消息,从协商建立MSRP媒体通道的SIPINVITE请求消息中提取Subject头域、CPM-Conversation-ID头域、CPM_Contribution_ID头域、CPM-R印lyTo-Contribution-ID头域、P_Asserted_Identity头域、Request-URI参数的值、Content-Type为application/resource_lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件。所述CPM参与功能服务器进一步用于,对于CPM文件传输,从协商建立MSRP媒体通道的SIPINVITE请求消息中提取Subject头域、CPM-Conversation-ID头域、CPM_Contribution_ID头域、CPM-R印lyTo-Contribution-ID头域、P_Asserted_Identity头域、Request-URI参数的值、Content-Type为application/resource_lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件。所述CPM参与功能服务器进一步用于,对于CPM会话,在会话过程中从与本次CPM会话状态事件相关的SIPINVITE、SIPBYE、SIPREFER、SIPMESSAGE消息中提取相关头域的值,依据所提取的相关头域的值创建会话状态信息的XML文档,并将会话过程中传输的CPM消息、CPM文件、RTP媒体流保存为独立的临时资源文件;在所述CPM会话结束时,将会话状态信息的XML文档和临时资源文件封装为符合RFC822格式定义的统一存储格式的CPM会话历史记录文件。本发明所提供的一种融合消息业务的会谈历史记录处理方法和系统,由CPM参与功能服务器在实现会谈历史记录功能的过程中,从SIP信令、MSRP消息和RTP媒体流中获取与会谈相关的信息,并将其封装成统一的存储格式;消息存储服务器按照统一的存储格式存储会谈历史记录,CPM消息存储客户端能够按照统一的存储格式访问会谈历史记录,从而能够展现会话的变化过程。本发明通过为融合消息业务环境下的CPM会谈历史记录所包含的CPM消息记录文件、CPM文件传输历史记录、CPM会话历史记录文件定义一种构造统一的存储格式的方法,这样CPM参与功能能够以一种统一、简洁有效的方式记录CPM会谈中的历史交互信息,而消息存储客户端和消息存储服务器也能够以一种统一的方式来获取、解析CPM会谈历史记录的具体内容。按照这种方法构造的统一存储格式使得CPM消息记录、CPM文件传输历史记录、CPM会话历史记录文件与CPM消息或CPM会话交互中的具体信令协议格式无关,而关注交互消息的内容以及会话状态变化的过程,能够真实有效地向用户重现CPM会谈的发展过程,在减轻系统处理复杂度的同时增加用户的使用体验。另外,按照本发明的统一存储格式,有利于增加会谈历史记录功能在不同系统之间的互操作性和可扩展性。图1为本发明一种融合消息业务的会谈历史记录处理方法的流程图;图2为本发明中CPM会话状态信息的XML文档的组织结构示意图;图3为本发明一种融合消息业务的会谈历史记录处理系统的组成结构示意图。具体实施例方式下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。为实现融合消息业务中的会话变化过程的展现,本发明所提供的一种融合消息业务的会谈历史记录处理方法,如图1所示,包括以下步骤步骤001,CPM参与功能服务器在实现会谈历史记录功能的过程中,从SIP信令、MSRP消息以及实时传输协议(RTP,Real-timeTransportProtocol)媒体流中获取与会谈相关的信息,并将该信息按照统一的存储格式封装为会谈历史记录。对于CPM页面消息和CPM大消息,CPM参与功能服务器将提取的信息按照统一的存储格式封装为CPM消息记录文件;对于CPM文件传输,CPM参与功能服务器将提取的信息按照统一的存储格式封装为CPM文件传输历史记录;对于CPM会话,CPM参与功能服务器将提取的信息按照统一的存储格式封装为CPM会话历史记录文件。步骤002,消息存储服务器(MSS,MessageStorageServer)按照统一的存储格式,对会谈历史记录进行存储。步骤003,消息存储客户端(MSC,MessageStorageClient)按照统一的存储格式,对会谈历史记录进行访问。12MSC对会谈历史记录进行访问,可以实现对CPM会谈内容的展现。CPM会谈内容的展现通过对该会谈历史记录所包含的CPM消息记录文件、CPM文件传输历史记录文件、CPM会话历史记录文件进行解析而呈现。下面首先对CPM消息记录文件的构造封装进行详细说明。虽然页面模式的CPM消息采用SIPMESSAGE消息承载,而大消息模式的CPM消息采用MSRP发送(SEND)消息承载,但是这两种模式是针对于消息传输过程而区分的,无论是SIPMESSAGE消息,还是MSRPSEND消息,实际上都是对消息内容的一种封装,使得消息内容能够通过信令通道或者媒体通道进行传输。对于消息存储客户端和消息存储服务器而言,其更专注于CPM消息的内容,如发送者、接收者、主题、日期、内容、附件等,而不是消息的传输形式,因此有必要为CPM消息构造统一存储格式,该存储格式关注于CPM消息承载的实际内容,而忽略CPM消息传输过程中的中间路由等信息,保证内容完整、结构清晰,简洁有效。这样无论是消息存储服务器,还是消息存储客户端都能够以统一的方式解析CPM消息,而无需获知不同的传输消息格式的细节,如SIPMESSAGE消息、SIP邀请(INVITE)消息、MSRPSEND消息等等,这能够起到提高处理效率的作用。为了满足消息存储服务器对外提供的因特网消息访问协议版本4(IMAP4,InternetMessageAccessProtocol4)的需求,CPM消息记录的统一存储格式应符合多功會gInternet由卩件扩充(MIME,MultipurposeInternetMailExtensions)格式,类似于"一封邮件"的形式,存储格式如下表1所示<table>tableseeoriginaldocumentpage14</column></row><table>Content-Type:application/octet-stream〃CPM消息i己录文件的附件1Content-Transfer-Encoding:base64Content-Disposition:attachment;filename-",,—nsxt—表1上述表1所示的CPM消息记录的统一存储格式满足请求评论(RFC,RequestForComments)822的格式定义,CPM消息记录存储格式分为头部和正文两部分。其中,头部的各个头域信息从SIPMESSAGE消息(CPM页面消息)或SIPINVITE消息(CPM大消息)的相关头域中提取;而正文部分从SIPMESSAGE消息或MSRPSEND消息的"Content-Type"为"Message/CPIM"的消息体中提取。上述的CPM消息记录的统一存储格式忽略了CPM消息的具体传输方式,而关注于CPM消息的实际内容。构造CPM消息记录统一存储格式的方法如下1、对于CPM页面消息,CPM参与功能服务器按照如下步骤对SIPMESSAGE消息体进行解析,取得相关信息并构成CPM消息统一存储格式记录文件步骤101,CPM参与功能服务器取得当前系统时间,按照如"Wed,15Apr200917:12:33+0800"的格式进行记录,作为CPM消息记录文件"Date"头域的内容;步骤102,从SIPMESSAGE消息的"Subject"头域中取得CPM消息的主题信息,作为CPM消息记录文件头部的"Subject"头域内容;步骤103,从SIPMESSAGE消息的"P-Asserted-Identity"头域中取得CPM消息的发送者的CPM用户地址信息,作为CPM消息记录文件头部的"From"头域的内容;步骤104,检查SIPMESSAGE消息的请求行中的"Request-URI"参数的值,该参数的值将指定该SIPMESSAGE消息是1-1页面消息、或Ad-hoc群组页面消息、或预定义群组页面消息,具体的如果"Request-URI"参数的值指定的是接收方CPM用户地址,则说明是1_1页面消息,取得"Request-URI"参数的值,作为消息记录文件头部的"To"头域的内容;如果"Request-URI"参数的值指定的是CPM控制功能会谈服务器的地址,则说明是Ad-hoc群组页面消息,取得SIPMESSAGE消息体中"Content-Type"类型为"即plication/resource-lists+xml"的消息体部分,并从接收方用户地址列表的扩展标记语言(XML,ExtensibleMarkupLanguage)文档片段中取得接收方用户地址的值,用","分隔,作为消息记录文件头部的"To"头域的内容;如果"Request-URI"参数的值指定的是CPM预定义群组的地址,则说明是预定义群组页面消息,CPM参与功能服务器将根据CPM预定义群组的地址从群组XML文档管理服务器(GroupXDMS,GroupXMLDocumentManagementServer)获取该群组的成员信息,并将该群组成员的CPM用户地址使用","分隔,作为消息记录文件头部的"To"头域的内容;步骤105,从SIPMESSAGE消息的"CPM-Conversation-ID"头域中取得CPM消息所属的CPM会谈标识符信息,作为消息记录文件头部的"Reference"头域的内容,该头域是RFC822邮件头中的一个可选头域,用来存储CPM会谈标识符的值;步骤106,从SIPMESSAGE消息的"CPM-Contribution-ID"头域中取得CPM消息的CPM贡献标识符信息,作为消息记录文件头部的"Keyword"头域的内容,该头域是标准的RFC822邮件头中的一个可选头域,用来存储该CPM消息的贡献标识符;步骤107,如果SIPMESSAGE消息中存在"CPM-R印lyTo-Contribution-ID"头域,则取得该头域的值(被回复的贡献标识符),作为消息记录文件头部的"In-R印y-to"头域的内容,该头域是标准的RFC822邮件头中的一个可选头域,用来存储该CPM消息的回复的贡献标识符;步骤108,设置消息记录文件头部的"Content-Type"头域的值为"Message/CPIM",规定CPM消息记录文件的正文内容为"Message/CPIM"类型;步骤109,设置消息记录文件头部的"Content-Description"头域的值为"CP匪essage",描述此为CPM消息记录文件;步骤110,CPM消息记录文件的头部和正文部分通过空行分隔;步骤111,从SIPMESSAGE消息中取得"Content-Type"类型为"Message/CPIM"的消息体内容,将其作为CPM消息记录文件正文部分的内容。2、对于CPM大消息,CPM参与功能服务器从协商MSRP媒体通道的SIPINVITE请求消息和传输大消息内容的MSRPSEND消息中提取相关信息,包括如下步骤步骤201,CPM参与功能服务器取得当前系统时间,按照如"Wed,15Apr200917:12:33+0800"的格式进行记录,作为消息记录文件"Date"头域的内容;步骤202,从SIPINVITE消息的"Subject"头域中取得CPM消息的主题信息,作为消息记录文件头部的"Subject"头域内容;步骤203,从SIPINVITE消息的"P-Asserted-Identity"头域中取得CPM消息的发送者的CPM用户地址信息,作为消息记录文件头部的"From"头域的内容;步骤204,检查SIPINVITE请求消息请求行中的"Request-URI"参数的值,该参数的值将指定该SIPINVITE请求建立的是1-1大消息的传输、或Ad-hoc群组大消息的传输、或预定义群组大消息的传输,具体为如果"Request-URI"参数的值指定的是接收方CPM用户地址,则说明该INVITE请求建立1-1大消息的传输,CPM参与功能服务器取得"Request-URI"参数的值,作为消息记录文件头部的"To"头域的内容;如果"Request-URI"参数的值指定的是CPM控制功能会谈服务器的地址,则说明该INVITE请求建立Ad-hoc群组大消息的传输,CPM参与功能服务器取得SIPINVITE消息体中"Content-Type,,类型为"即plication/resource-lists+xm1,,的消息体部分,并从接收方用户地址列表的XML文档片段中,取得接收方用户地址的值,用","分隔,作为消息记录文件头部的"To"头域的内容;如果"Request-URI"参数的值指定的是CPM预定义群组的地址,则说明该INVITE请求建立预定义群组大消息的传输,CPM参与功能服务器将根据CPM预定义群组的地址从群组X匿S获取该群组的成员信息,并将该群组成员的CPM用户地址使用","分隔,作为消16息记录文件头部的"TO"头域的内容;步骤205,从SIPINVITE消息的"CPM-Conversation-ID"头域中取得CPM消息所属的CPM会谈标识符信息,作为消息记录文件头部的"Reference"头域的内容;步骤206,从SIPINVITE消息的"CPM-Contribution-ID"头域中取得CPM消息的CPM贡献标识符信息,作为消息记录文件头部的"Keyword"头域的内容;步骤207,如果SIPINVITE消息中存在"CPM-R印lyTo-Contribution-ID"头域,则取得该头域的值(被回复的贡献标识符),作为消息记录文件头部的"In-R印y-to"头域的内容;步骤208,设置消息记录文件头部的"Content-Type"头域的值为"Message/CPIM",规定CPM消息记录文件的正文内容为"Message/CPIM"类型;步骤209,设置消息记录文件头部的"Content-Description"头域的值为"CP匪essage",描述此为CPM消息记录文件;步骤210,CPM消息记录文件的头部和正文部分通过空行分隔;步骤211,INVITE请求协商的MSRP媒体通道中发送的MSRPSEND消息携带了实际传输的CPM大消息的内容,从MSRPSEND消息中取得"Content-Type"类型为"Message/CPIM"的消息体内容,将其作为CPM消息记录文件正文部分的内容。下面再对CPM文件传输历史记录的构造封装进行详细说明。CPM文件传输历史记录,存储的是在CPM会话外传输的可能携带多媒体内容的CPM文件,如文本文档、图片、音频文件、视频文件或应用程序等等。CPM文件的传输过程与大消息模式的CPM消息的发送过程类似,也是首先在发送和文件的接收方之间通过SIPINVITE请求建立临时SIP会话以协商建立MSRP媒体通道。接收方需要显示地接受或者拒绝该CPM文件的传输请求。如果临时SIP会话建立成功,则使用MSRPSEND请求消息发送CPM文件的实际内容,根据需要,还可以分段传送。在CPM文件传送结束之后,该临时SIP会话将被立即拆除。为了满足消息存储服务器对外提供的IMAP4协议的需求,CPM文件传输历史记录的统一存储格式应符合MME格式,也类似于"一封邮件"的形式。存储格式如下表2所示<table>tableseeoriginaldocumentpage17</column></row><table>整个CPM文件传输历史记录文件的头部〃CPM文件传输历史记录文件的正文部分,省略具体编码内容...一next〃正文内容Content-Type:text/plain5charset=utf_8ThisisFileTransfer一next〃传输文件1Content-Type:即plication/octet-stre咖Content-T:ransfer-Encoding:base64Content-Disposition-attachment;filename="….,,......〃省略具体编码内容一next〃传输文件2Content-Type:即plication/octet-streamContent-T:ransfer-Encoding:base64Content-Disposition-attachment-filename="….,,......〃省略具体编码内容__next__表2上述表2所示的CPM文件传输历史记录的统一存储格式同样满足RFC822的格式定义,通过"Content-Type"头域指定MME类型为"Multipart/Mixed"类型,即整个记录文件可分成头部、正文、附件三大部分。其中,头部的各个头域信息从协商建立MSRP通道的SIPINVITE消息中相关头域中提取,正文部分提供对记录文件内容的文本描述,附件部分即为传输的CPM文件的内容,可从传输实际CPM文件内容的MSRPSEND消息的"Content-Type"为"Message/CPIM"消息体中提取。上述的CPM文件传输历史记录的统一存储格式忽略CPM文件的具体传输方式,而关注于CPM文件的实际内容。构造CPM文件传输历史记录统一存储格式的方法如下步骤301,CPM参与功能服务器取得当前系统时间,按照如"Wed,15Apr200917:12:33+0800"的格式进行记录,作为CPM文件传输历史记录文件头部"Date"头域的内容;步骤302,从SIPINVITE消息的"Subject"头域中取得CPM文件的主题信息,作为CPM文件传输历史记录文件头部的"Subject"头域内容;步骤303,从SIPINVITE消息的"P-Asserted-Identity"头域中取得CPM文件的发送者的CPM用户地址信息,作为CPM文件传输历史记录文件头部的"From"头域的内容;步骤304,检查SIPINVITE消息的请求行中的"Request-URI"参数的值,该参数的值将指定该SIPINVITE请求建立的是1-1文件的传输、或Ad-hoc群组文件的传输、或预定义群组文件的传输,具体的18如果"Request-URI"参数的值指定的是接收方CPM用户地址,则说明该INVITE请求建立1-1文件的传输,CPM参与功能服务器取得"Request-URI"参数的值,作为CPM文件传输历史记录文件头部的"To"头域的内容;如果"Request-URI"参数的值指定的是CPM控制功能会谈服务器的地址,则说明该INVITE请求建立Ad-hoc群组文件的传输,CPM参与功能服务器取得SIPINVITE消息体中"Content-Type,,类型为"即plication/resource-lists+xm1,,的消息体部分,从接收方用户地址列表的XML文档片段中,取得接收方用户地址的值,用","分隔,作为CPM文件传输历史记录文件头部的"To"头域的内容;如果"Request-URI"参数的值指定的是CPM预定义群组的地址,则说明该INVITE请求建立预定义群组文件大消息的传输,CPM参与功能服务器将根据CPM预定义群组的地址从群组X匿S获取该群组的成员信息,并将该群组成员的CPM用户地址使用","分隔,作为CPM文件传输历史记录文件头部的"To"头域的内容;步骤305,从SIPINVITE消息的"CPM-Conversation-ID"头域中取得将要传输的CPM文件所属的CPM会谈标识符信息,作为CPM文件传输历史记录文件头部的"Reference"头域的内容;步骤306,从SIPINVITE消息的"CPM-Contribution-ID"头域中取得将要传输的CPM文件的CPM贡献标识符信息,作为CPM文件传输历史记录文件头部的"Keyword"头域的内容;步骤307,如果SIPINVITE消息中存在"CPM-R印lyTo-Contribution-ID"头域,则取得该头域的值(被回复的贡献标识符),作为CPM文件传输历史记录文件头部的"In-R印y-to"头域的内容;步骤308,设置CPM文件传输历史记录文件头部的"Content-Type"头域的值为"Multipart/Mixed",规定CPM文件传输历史记录文件的正文部分为混合类型,并通过"boundary"参数设置分界符;OH2]步骤309,设置CPM文件传输历史记录文件头部的"Content-Description"头域的值为"CPMFile",描述此为CPM文件传输历史记录文件;步骤310,CPM文件传输历史记录文件的头部和正文部分通过空行分隔;步骤311,CPM文件传输历史记录文件的正文部分的主体部分设置MME类型的"Content—Type,,为"text/plain,,,指定——段文本描述信息,如"Thisisfiletransportrecord...,,步骤312,CPM文件传输历史记录文件的正文部分的附件部分记录本次CPM文件传输过程中传输的各个CPM文件,每一个传输的CPM文件内容都从相应的MSRPSEND消息的"Content-Type"类型为"Message/CPIM"的消息体中获取,在CPM文件传输历史记录文件中作为一个附件内容存在。下面对CPM会话历史记录文件的构造封装进行详细说明。CPM会话历史记录中应该包含至少四类信息(l)CPM会话状态信息,用于描述整个CPM会话从创建到结束的过程中的所有会话状态变化信息;(2)在该CPM会话中交互的CPM消息,以及可能包含的媒体对象;(3)在CPM会话中传输的CPM文件;(4)在该CPM会话中交互的媒体流对象,如音频/视频通话的录音片段等。其中,CPM会话状态信息的记录最为复杂,因为在会话过程中会话状态是会动态变化的,如有新的用户加入、用户离开、移除用户等等,指示会话状态变化事件相关的SIP消息可能包括SIPINVITE、SIP2000K、SIPBYE、SIPREFER消息以及一些SIP失败应答消息等等,这些消息在一次会话中所代表的具体语义应该由CPM参与功能理解并执行相关的逻辑。使用XML文档以一种结构化、简洁、直观的方式来组织由CPM参与功能解析出的会话状态信息是一种比较好的解决方案,并且XML文档可以作为Content-Type为text/xml的媒体类型封装在MME类型的文件中,通过IMAP4协议由CPM参与功能服务器提交给消息存储服务器,因此也完全可以适用目前的架构和接口协议。CPM会话状态信息XML文档的组织结构如图2所示,其中根元素〈Session-Event〉为CPM会话状态信息的XML文档的根元素,该元素下包含1个到多个〈Event〉元素,每个〈Event〉元素用于记录一个会话中的事件及其相关的信息;CPM会话中可能发生的事件包括会话状态变化相关的事件、以及在会话过程中收发消息或文件的事件。元素〈Type〉记录会话事件的类型,共有10种,包括会话状态相关的事件和会话中交互CPM消息、传输CPM文件等事件,因此,〈Type〉的取值有创建会话(Session-Establishment)、参与者离开会话(Participant-Le證)、将参与者从会话中移除(Remove—Participant)、CPM用户力口入至lj会话中(Participant—Join)、邀i青其他CPM用户加入到CPM会话(Invite-Join)、会话结束(Session-End)、接收到CPM消息(Receive-Message)、发送CPM消息(Send-Message)、接收CPM文件(Receive-File)、发送CPM文件(Send-File)。元素〈TimeStamp〉记录该会话事件发生的时间信息。元素〈Initiator〉用于在不同类型的会话事件中记录事件发起者的CPM用户地址,如记录会话发起者、加入会话邀请者、CPM消息发送者、文件发送者等的CPM用户地址。元素〈Participant-List〉用于在不同类型的会话事件中记录事件参与者,的用户地址信息,如记录会话参与者、被移除用户、被邀请的用户、CPM消息接收者、文件接收者等的用户地址信息。〈Participant-List〉包含一个或多个〈entry〉元素,每个〈entry〉元素,可以包含〈display-name〉子元素,其中包含可为用户理解的会话被邀请者的名字;也可以包含〈acc印t〉子元素,〈acc印t〉的取值为"yes"或"no",表示事件是否被接受,例如会话邀请是否被接受、CPM消息、文件是否被成功接收等;在被邀请方是预定义群组的情形下,〈Participant-List〉元素应当包含"group-uri"属性,用以指示预定义群组的地址,还可以包含"group-display-n咖e,,属性,String类型。元素〈Resource〉包含对会话内状态变化事件相关资源的引用,如会话内交互的CPM消息临时记录、会话内传输的CPM文件临时记录的引用。元素〈Subject〉用于描述该CPM会话的主题信息,仅在会话状态事件类型为"Session-Estab1ishment,,的"Event,,元素中作为子元素出现。上述〈Session_Event>、〈Event>、〈Type>禾口〈TimeStamp>为必选元素,〈Initiator>、〈Participant_List>、〈Resource>、〈Subject>、〈entry>、〈display_name>、〈acc印t〉为可选元素。不同的会话状态事件需要记录的信息不同,CPM参与功能服务器位于信令通道中对CPM消息、会话的执行过程进行控制,因此CPM参与功能服务器能够根据会谈过程的上下文环境理解SIP信令的具体语义,并从中解析出特定的会话状态事件类型,然后从相关的SIP消息的头域中提取必要信息进行记录,形成会话状态信息XML文档。对于CPM参与功能服务器接收到代表"创建CPM会话事件"的初始SIPINVITE请求的情况,具体流程如下步骤401,CPM参与功能服务器认为"建立CPM会话事件"发生,创建会话状态信息的XML文档,创建根元素〈Session-Event〉,并增加一个〈Event〉元素,记录"建立CPM会话事件"的相关信息;步骤402,CPM参与功能服务器在〈Event〉元素下创建〈Type〉子元素,并设置为"Session-Establishment",表示创建了新的CPM会话;步骤403,CPM参与功能服务器在〈Event〉元素下创建〈TimeStamp〉子元素,并按照如"Wed,15Apr200917:12:33+0800"的格式记录当前系统时间,作为〈TimeStamp〉的值,记录会话创建时间戳信息;步骤404,CPM参与功能服务器从SIPINVITE请求中提取出"P-Asserted-Identity"头域的值,并在〈Event〉元素下创建〈Initiator〉子元素,将提取出来的头域值作为〈Initiator〉子元素的值,用以记录CPM会话邀请发起方的CPM用户地址;步骤405,CPM参与功能服务器在〈Event〉元素下创建〈Participant-List〉子元素,用以记录会话邀请接收方的CPM地址信息;步骤406,CPM参与功能服务器取得SIPINVITE请求的请求行中的"Request-URI"的值,并根据该参数的值判断该CPM会话邀请的类型为1-1会话邀请、或Ad-hoc群组会话邀请、或预定义群组会话邀请,具体的如果"Request-URI"参数的值指定的是接收方CPM用户地址,则说明该INVITE请求建立I-ICPM会话,CPM参与功能服务器取得"Request-URI"参数的值,并在〈Participant-List〉元素下创建〈entry〉子元素,用以记录接收方CPM用户的地址信息;如果"Request-URI"参数的值指定的是CPM控制功能会谈服务器的地址,则说明该INVITE请求建立Ad-hoc群组会话,CPM参与功能服务器取得SIPINVITE消息体中"Content-Type,,类型为"即plication/resource-lists+xmr,的消息体部分,从接收方用户地址列表的XML文档片段中,取得各个接收方CPM用户地址的值,并为该接收方用户地址信息在〈Participant-List〉元素下创建相应的〈entry〉子元素,每一个〈entry〉子元素记录一个接收方的CPM用户地址信息;如果"Request-URI"参数的值指定的是CPM预定义群组的地址,则说明该INVITE请求建立预定义群组CPM会话,CPM参与功能服务器将根据CPM预定义群组的地址从群组XDMS获取该群组的成员信息,并为该接收方用户地址信息在〈Participant-List〉元素下创建相应的〈entry〉子元素,每一个〈entry〉子元素记录一个接收方的CPM用户地址信息。对于CPM参与功能服务器接收到代表"CPM用户主动加入CPM会话事件"的SIPINVITE请求的情况,具体流程如下步骤501,CPM参与功能服务器在根元素〈Session-Event〉下增加新的〈Event〉子元素,用以记录"CPM用户主动加入CPM会话事件"的相关信息;步骤502,CPM参与功能服务器在〈Event〉子元素下创建〈Type〉子元素,并设置为"Participant-Join",表示参与者主动加入CPM会话;步骤503,CPM参与功能服务器在〈Event〉子元素下创建〈TimeStamp〉子元素,并按照如"Wed,15Apr200917:12:33+0800"的格式进行记录当前系统时间,作为〈TimeStamp〉的值,记录该会话事件发生的时间戳信息;步骤504,CPM参与功能服务器从SIPINVITE请求中提取"P-Asserted-Identity"头域的值,并在〈Event〉子元素下创建〈Initiator〉子元素,将提取出来的头域值作为该子元素的值,用以记录发起加入会话请求的参与者的用户地址。对于CPM参与功能服务器接收到代表"参与者离开CPM会话"的初始SIPBYE请求的情况,具体流程如下步骤601,CPM参与功能服务器在根元素〈Session-Event〉下增加新的〈Event〉子元素,用以记录"参与者离开CPM会话事件"的相关信息;步骤602,CPM参与功能服务器在〈Event〉字元素下创建〈Type〉子元素,并设置为"Participant-Leave,,,表示参与者离开CPM会话;步骤603,CPM参与功能服务器在〈Event〉子元素下创建〈TimeStamp〉子元素,并按照如"Wed,15Apr200917:12:33+0800"的格式进行记录当前系统时间,作为〈TimeStamp〉的值,记录该会话事件发生的时间戳信息;步骤604,CPM参与功能服务器从SIPBYE请求中提取"P-Asserted-Identity"头域的值,并在〈Event〉子元素下创建〈Initiator〉子元素,将提取出来的头域值作为该子元素的值,用以记录发起离开请求的参与者的用户地址。对于CPM参与功能服务器接收到代表"从CPM会话中移除参与者"的SIPREFER请求的情况,具体流程如下步骤701,CPM参与功能服务器在根元素〈Session-Event〉下增加新的〈Event〉子元素,用以记录"从CPM会话中移除参与者事件"的相关信息;步骤702,CPM参与功能服务器在〈Event〉子元素下创建〈Type〉子元素,并设置为"Remove-Participant",表示从CPM会话中移除参与者;步骤703,CPM参与功能服务器在〈Event〉子元素下创建〈TimeStamp〉子元素,并按照如"Wed,15Apr200917:12:33+0800"的格式进行记录当前系统时间,作为〈TimeStamp〉的值,记录该会话事件发生的时间戳信息;步骤704,CPM参与功能服务器从SIPREFER请求中提取"Referred-By"头域的值,并在〈Event〉子元素下创建〈Initiator〉子元素,将提取出来的头域值作为该子元素的值,用以记录发起移除参与者请求的CPM用户地址;步骤705,CPM参与功能服务器在〈Event〉子元素下创建〈Participants-List〉子元素,用以记录要移除的参与者CPM用户地址信息;步骤706,CPM参与功能服务器从SIPBYE请求的"Refer-To"头域中取得请求被移除的CPM用户地址,如果"Refer-To"头域中指向URI-1ist,则CPM参与功能服务器从SIPREFER请求中"Content-Type,,为"application/resource_lists+xml,,的消息体中取得请求被移除的CPM用户地址列表,并针对每一个请求被移除的CPM用户在〈Participants-List〉子元素下创建一个〈entry〉子元素,用以记录要移除的会话参与者的CPM用户地址。对于CPM参与功能服务器接收到代表"邀请其他用户加入CPM会话事件"的SIPREFER请求的情况,具体流程如下步骤801,CPM参与功能服务器在根元素〈Session-Event〉下增加新的〈Event〉子元素,用以记录"邀请其他用户加入CPM会话事件"的相关信息;步骤802,CPM参与功能服务器在〈Event〉子元素下创建〈Type〉子元素,并设置为"Invite-Join",表示邀请用户加入CPM会话事件;步骤803,CPM参与功能服务器在〈Event〉子元素下创建〈TimeStamp〉子元素,并按照如"Wed,15Apr200917:12:33+0800"的格式进行记录当前系统时间,作为〈TimeStamp〉的值,记录该会话事件发生的时间戳信息;步骤804,CPM参与功能服务器从SIPREFER请求中提取"Referred-By"头域的值,并在〈Event〉子元素下创建〈Initiator〉子元素,将提取出来的头域值作为该子元素的值,用以记录发起邀请参与者加入会话请求的CPM用户地址;步骤805,CPM参与功能服务器在在〈Event〉子元素下创建〈Participants-List〉子元素,用以记录要添加的参与者CPM用户地址信息;步骤806,CPM参与功能服务器从SIPBYE请求的"Refer-To"头域中取得请求添加的CPM用户地址,如果"Refer-To"头域中指向URI-list,则CPM参与功能服务器从INVITE请求中"Content-Type,,为"application/resource-lists+xm1,,的消息体中取得请求添力口的CPM用户地址列表,并针对每一个请求添加的CPM用户在〈Participants-List〉子元素下创建一个〈entry〉子元素,用以记录要添加的会话参与者的CPM用户地址。对于CPM参与功能服务器接收到代表"会话结束事件"的SIPREFER请求的情况,具体流程如下步骤901,CPM参与功能服务器在根元素〈Session-Event〉下增加新的〈Event〉子元素,用以记录"CPM会话结束事件"的相关信息;步骤902,CPM参与功能服务器在〈Event〉子元素下创建〈Type〉子元素,并设置为"Session-End",表示CPM会话结束;步骤903,CPM参与功能服务器在〈Event〉子元素下创建〈TimeStamp〉子元素,并按照如"Wed,15Apr200917:12:33+0800"的格式进行记录当前系统时间,作为〈TimeStamp〉的值,记录该会话事件发生的时间戳信息。除了上述的会话状态相关的事件之外,接收、发送CPM会话内的CPM消息也是会话相关的事件;另外,会话内的文件发送和接收也是会话相关的事件。针对发送CPM消息事件(Send-Message),具体操作为增加新的〈Event〉元素,用以记录"Send-Message"的相关信息;增加一个〈Type〉子元素,并设置为"Send-Message";增加一个〈TimeStamp〉子元素,记录该事件发生的时间和日期;增加一个〈Initiator〉子元素,记录消息发送者的用户地址;增加一个〈Participat-List〉子元素,记录消息接收者的用户地址;在〈Participat-List〉子元素的〈acc印t〉子元素中记录该消息是否被成功接收;将发送的CPM消息内容作为临时文件进行记录。针对接收CPM消息事件(Receive-Message),具体操作为增加新的〈Event〉元素,用以记录"Receive-Message"的相关信息;增加一个〈Type〉子元素,并设置为"Receive-Message";增加一个〈TimeStamp〉子元素,记录该事件发生的时间和日期;增加一个〈Initiator〉子元素,记录消息发送者的用户地址;将接收到的CPM消息内容作为临时文件进行记录。针对发送文件事件(Send-File),具体操作为增加新的〈Event〉元素,用以记录"Send-File"的相关信息;增加一个〈Type〉子元素,并设置为"SenchFile";增加一个〈TimeStamp〉子元素,记录该事件发生的时间和日期;增加一个〈Initiator〉子元素,记录文件发送者的用户地址;增加一个〈Participat-List〉子元素,记录文件接收者的用户地址;在〈Participat-List〉子元素的〈acc印t〉子元素中记录该文件是否被成功接收;将发送的CPM文件内容作为临时文件进行记录。针对接收文件事件(Receive-File),具体操作为增加新的〈Event〉元素,用以记录"Receive-File"的相关信息;增加一个〈Type〉子元素,并设置为"Receive-File";增加一个〈TimeStamp〉子元素,记录该事件发生的时间和日期;增加一个〈Initiator〉子元素,记录文件发送者的用户地址;将接收到的CPM文件内容作为临时文件进行记录。对于CPM会话历史记录文件的构造封装,为了满足IMAP4接口协议的操作需要,CPM会话历史记录应该作为一个MME格式的多部分(Multipart)对象存储,将上述四类信息封装进Multipart的结构中进行存储。其中,会话内交互的CPM消息和CPM文件可参照已经定义的CPM消息记录和CPM文件传输历史记录的统一存储格式;而会话内交互的媒体流对象则可作为Content-Type为"Audio"或"Video"的部分进行存储。对于会话状态信息的记录,为了能够合理地记录CPM会话内可能出现的多种会话状态事件以及为这些事件应该记录的信息,采用XML文档作为这部分信息的存储格式。综上所述,可以定义CPM会话历史记录的统一存储格式也是一个MME格式的对象,但由于CPM会话历史记录包含的信息较多,因此CPM会话历史记录的格式也更为复杂,其架构如下表3所示,同样类似于"一封邮件"的格式,符合RFC822的结构定义。<table>tableseeoriginaldocumentpage25</column></row><table><table>tableseeoriginaldocumentpage26</column></row><table>表3如上表所示的CPM会话历史记录的统一存储格式同样满足RFC822的格式定义,通过"Content-Type"头域指定MME类型为"Multipart/Mixed"类型,即整个记录文件可分成头部、正文、附件三大部分。头部包含的信息,是对整个会话历史记录文件内容的摘要说明,例如该CPM会话发生的日期、会话主题、会话发起方、参与方等等,以提供给CPM用户查看或为后续的搜索、查询操作提供便利。这些信息都可以从会话状态信息的XML文档中的〈Type〉子元素值为"Session-Establishment"的代表会话创建事件的〈Event〉子元素中提取各个相关子元素的值得到。正文部分是以XML文档形式记录的会话状态信息,由于会话状态信息描述出了整个会话的过程,例如什么时间会话建立、什么时间有用户加入、什么时间移除哪位用户、什么时间收到了会话内CPM消息、什么时间发送了会话内的CPM消息、什么时间传输了文件、什么时间会话结束,真实地描绘了整个CPM会话的过程。而在CPM会话内交互的CPM消息、传输的文件都作为正文部分的内嵌文件,通过Content-ID进行引用关联,因此正文部分的"Content-Type"设置为"Multipart/related"结构类型,在该结构中,CPM会话状态信息的XML文档作为主体部分,而会话内交互的CPM消息、传输的CPM文件等都作为内嵌资源。附件部分记录在该CPM会话内交互的连续性媒体流对象,作为会话历史记录文件的附件部分,通过"Content-Disposition=attachment"进行标识。CPM会话的持续时间较长,CPM参与功能服务器在接收到创建CPM会话的初始SIPINVITE请求时,将首先创建临时目录,并在该目录下创建新的CPM会话状态信息的XML文件,用以在CPM会话的过程中记录相应的会话状态变化事件信息;对于在CPM会话内传输的CPM消息(页面消息、大消息)、CPM文件、连续性媒体流对象(音频、视频)的内容作为独立文件保存在该临时目录下。当CPM参与功能服务器接收到结束该CPM会话的SIPBYE请求时,CPM参与功能服务器创建新的CPM会话历史记录文件,并从临时目录中获取CPM会话状态信息的XML文件以及在CPM会话过程中交互的CPM消息、CPM文件、CPM连续性媒体流对象记录文件,并将这些资源文件按照统一存储格式的定义封装成CPM会话历史记录文件,具体的流程如下所述步骤1001,当CPM参与功能服务器接收到代表"创建CPM会话事件"的初始SIPINVITE请求消息时,CPM参与功能服务器将首先创建一个临时目录,用以保存在该CPM会话过程中产生的会话状态信息记录、交互的CPM消息、CPM文件以及CPM连续性媒体流对象内容等等。该临时目录的目录名可使用本次CPM会话所属的会谈标识符以及该CPM会话的贡献标识符构成,进行唯一标识。步骤1002,CPM参与功能服务器在该临时目录下创建会话状态信息的XML文档,用于在CPM会话过程中对会话状态事件信息进行记录。CPM参与功能服务器将对"创建CPM会话事件"相关的信息在会话状态信息XML文档中进行记录。步骤1003,在CPM会话过程中,只要会话状态发生了变化,如参与者离开会话、参与者主动加入会话、邀请参与者加入会话、移除参与者等,都会在CPM会话状态信息的XML文档中进行相应记录;在CPM会话内传输的CPM消息、CPM文件除了要在CPM会话状态信息XML文档中进行记录之外,还需要将这些CPM消息、CPM文件的内容作为独立的资源文件保存在临时目录下。步骤1004,CPM会话过程中传输的连续性媒体流(如音频、视频等)由媒体平面进行记录,并在会话结束时形成记录文件保存在该CPM会话的临时目录下。步骤1005,当CPM参与功能服务器接收到代表"CPM会话结束事件"的SIPBYE请求消息时,CPM参与功能服务器将创建新的CPM会话历史记录文件,将临时目录下存储的各个资源文件按照统一存储格式进行封装,具体包括a、CPM会话历史记录文件"头部"内容的形成方法al、CPM参与功能服务器从临时目录下的会话状态信息的XML文档中找到〈Type〉子元素值为"Session-Establishment"对应的〈Event〉子元素,该元素记录了CPM会话创建事件的相关信息;a2、CPM参与功能服务器从该〈Event〉子元素下获取〈TimeStamp〉子元素的值,作为CPM会话历史记录文件头部"Date"头域的值,记录该CPM会话的创建时间;a3、CPM参与功能服务器从该〈Event〉子元素下获取〈Subject〉子元素的值,作为CPM会话历史记录文件头部"Subject"头域的值,记录该CPM会话的主题信息;a4、CPM参与功能服务器从该〈Event〉子元素下获取〈Initiator〉子元素的值,作为CPM会话历史记录文件头部"From"头域的值,记录该CPM会话的发起方用户地址信息;a5、CPM参与功能服务器从该〈Event〉子元素下获取〈Participants-List〉子元素下各个〈entry〉子元素的值,并使用","进行分隔,构成接收方用户地址字符串,作为CPM会话历史记录文件头部"To"头域的值,记录该CPM会话的被邀请方用户地址信息;a6、CPM参与功能服务器设置"Content-Type"为"Multipart/Mixed",并设置"boundary"分界符的值;a7、CPM参与功能服务器设置"Content-Description"为"CPMSessionRecordFile",提供对记录文件内容的简单描述;b、CPM会话历史记录文件"正文部分"内容的形成方法bl、CPM参与功能服务器设置正文部分的"Content-Type"为"Multipart/Related"类型,并设置"boundary"分界符的值;b2、CPM参与功能服务器从临时目录下获取会话状态信息的XML的内容,作为正文部分"Multipart/Related"结构的主体部分内容;b3、CPM参与功能服务器从临时目录下获取CPM会话过程中传输的CPM消息、CPM文件的临时记录的内容,作为正文部分"Multipart/Related"结构的内嵌资源,这些内嵌资源通过"Content-ID"进行表示,而在会话状态信息的XML文档中通过〈Resource〉元素记录"Content-ID"的值将会话状态事件和内嵌资源进行关联;c、CPM会话历史记录文件"附件部分"内容的形成方法CPM参与功能服务器从临时目录下获取CPM会话内交互的连续性媒体流对象记录文件内容(例如音频录音、视频录像文件等),将其作为会话记录文件的附件内容,并分别设置"Content-Type,,为"Audio,,或"Video,,类型,设置"Content-Disposition,,头域为"Attachment",表示作为附件处理。下面再以具体实施例对会谈历史记录的统一格式封装进一步说明。本发明的实施例一为CPM消息记录的统一存储格式构造实施例,在本发明的实施例一中,假设Bob用户开启了会谈历史记录功能,则当为Bob用户服务的CPM参与功能服务器在会谈过程中接收到一条来自Bob用户的会话外的SIPMESSAGE消息时,消息的结构和内容如下所示MESSAGEsip:alice@domain.comSIP/2.0Via:SIP/2.0/TCPuserlpc.domain,com;branch=z9hG4bK776sgdkseMax—Forwards:70Subject:Howareyou!From:〈sip:bob@domain.com>;tag=49583〃消息发送方地址To:〈sip:alice@domain.com>〃消息接收方地址P_Asserted_Identity:〈sip:bob@domain.com>User-agent:CPM_Service/OMAl.0Accept—Contact:氺;+g.oma.cpm.pagermsg;require;explicitCPM-Convers3tion-ID:Conversation—idCPM-Contribution-ID:Contribution—idCall-ID:asd88asd77a@l.2.3.4CSeq:1MESSAGEContent-type:Message/CPM〃消息类型Content-Length:180〃消息长度〃空行,分隔消息头和消息体From:AliceHuang〈alice@homel.net>To:BobLi〈bob@homel.net>DateTime:2000-12-13T13:40:00-08:00Subject:theweatherwi1lbefinetodayContent-type:text/xml;charset=utf_8Content-ID:〈12345678謂fo。.com>〈body>Hereisthetextofmymessage.〈/body>为Bob用户服务的CPM参与功能服务器从该SIPMESSAGE消息中获取相关信息,并组装成统一存储格式的CPM消息记录文件,最终构造而成的CPM消息记录的具体示例如下所示29<table>tableseeoriginaldocumentpage30</column></row><table>如上所示,CPM消息的统一存储格式实际上类似于一封符合MME格式的"邮件","邮件头"部分通过在SIPMESSAGE、SIPINVITE消息、以及Message/CPIM中提取相关的头域构造,虽然有一定的信息冗余,但是在邮件头部分给出这些信息,是为了便于向消息存储客户端提供CPM消息的摘要信息,便于执行后续的搜索等操作。"邮件体"部分则完全可以从SIPMESSAGE消息或MSRPSEND消息中提取并复制过来,并不对其进行修改,保持其原有的MIME结构,便于后续可能的消息转发等操作。CPM参与功能服务器按照上述的统一存储格式将页面模式或大消息模式的CPM消息进行转换,形成统一存储格式后的CPM消息记录对象后,再提交给MSS进行存储。这样MSS或MSC就能够按照统一的存储格式来管理或访问CPM消息记录对象。本发明的实施例二为CPM会话状态信息的构造实施例。在本发明的实施例二中,假设Bob用户开启了会谈历史记录功能,当为Bob用户服务的CPM参与功能服务器在会谈过程中接收到一条I-ICPM会话邀请SIPINVITE消息时,消息的结构和内容如下所示<table>tableseeoriginaldocumentpage31</column></row><table>当为Bob用户服务的CPM参与功能服务器接收到如上所示的SIPINVITE请求之后,认为Bob用户发起了一个新的CPM会话,故CPM参与功能服务器将为本次CPM会话创建临时目录,创建CPM会话状态信息XML文档,并构造新的〈Event〉元素来记录CPM会话状态信息,如下例所示<table>tableseeoriginaldocumentpage31</column></row><table>〈Type>Session-Establishment〈/Type>〃会话建立事件〈TimeStamp〉Wed,15Apr200917:09:33+0800〈/TimeStamp>〈Initiator〉sip:bob@example.com〈/Inviter>〃发起方用户地址(Participant-List〉〃被邀请方地址列表〈entryuri="sip:alice@example.com">〈display-name>AlicePC〈/display-name>〈acc印t〉yes〈/acc印t〉〃是否接受邀请〈/entry>〈/Participant-List>〈/Event>〈/Session—Event>在该CPM会话的过程中,CPM参与功能服务器接收到会话内CPM页面消息,通过SIPMESSAGE消息承载,该SIPMESSAGE消息的结构如下所示MESSAGEsip:alice@domain.comSIP/2.0Via:SIP/2.0/TCPuserlpc.domain,com;branch=z9hG4bK776sgdkseMax—Forwards:70Subject:Howareyou!From:〈sip:bob@domain.com>;tag=49583〃消息发送方地址To:〈sip:alice@domain.com>;tag=8934〃消息接收方地址P_Asserted_Identity:〈sip:bob@domain.com>User-agent:CPM_Service/0MAl.0Accept—Contact:氺;+g.oma.cpm.pagermsg;require;explicitCPM-Convers3tion-ID:Conversation—idCPM-Contribution-ID:Contribution—idCall-ID:asd88asd77a@l.2.3.4CSeq:1MESSAGEContent-type:Message/CPM〃消息类型Content-Length:180〃消息长度〃空行,分隔消息头和消息体From:AliceHuang〈alice0home1.net〉To:BobLi〈bob0home1.net〉DateTime:2000-12-13T13:40:00-08:00Subject:theweatherwillbefinetodayContent-type:text/xml^charset=utf-8Content-ID:〈1234567890@foo.com〉〈body〉Hereisthetextofmymessage.〈/body〉CPM参与功能服务器接收到该SIPMESSAGE消息之后,判断为会话内CPM页面消息,从而对本次CPM会话状态信息的XML文档进行更新,添加新的〈Event〉元素,对Bob用户发送会话内CPM消息的事件进行记录,更新后的会话状态信息XML文档如下所示〈Session-Event〉//根兀素〈Event〉〃每一个〈Event〉元素代表一个会话状态事件〈Type〉Session-Establishment〈/Type〉//会话建立事件〈TimeStamp〉Wed,15Apr200917:09:33+0800〈/TimeStamp〉〈1nitiator〉sip:bob0example.com〈/Inviter〉//发起方用户地址〈Participant-List〉〃被邀请方地址列表〈entryuri=〃sip:aliceOexample.com〃〉〈display-name〉AlicePC〈/display-name〉〈acc印t〉yes〈/acc印t〉〃是否接受邀请〈/entry〉〈/Particip肌t-List〉〈/Event〉〈Event〉33<table>tableseeoriginaldocumentpage34</column></row><table>参与该CPM会话的Bob用户和Alice用户都可以发送SIPBYE消息来结束本次CPM会话,当CPM参与功能服务器接收到来自Bob用户的SIPBYE请求时,该消息的结构如<table>tableseeoriginaldocumentpage34</column></row><table>当CPM参与功能服务器接收到如上所示SIPBYE消息之后,通过Request-URI中携带的会话标识符找到对应的CPM会话,然后对本次CPM会话状态信息的XML文档进行更新,添加新的〈Event〉元素,对会话结束事件进行记录,更新后的会话状态信息XML文档如下所示下所示<table>tableseeoriginaldocumentpage35</column></row><table>如上所示,即为记录本次CPM会话的完整的会话状态信息的XML文档,该文档作为本次会话历史记录的临时信息存储在临时目录下,等待CPM参与功能服务器将其封装成会话历史记录文件。本发明的实施例三为CPM会话历史记录的构造实施例。在本发明的实施三中,假设Bob用户开启了会谈历史记录功能,接续上述实施例二所示的CPM会话过程,CPM参与功能服务器将在CPM会话过程中对会话状态信息进行保存,对会话内传输的CPM消息、CPM文件进行保存,对会话内传输的连续性媒体流对象进行保存,当CPM参与功能服务器接收到结束该CPM会话的SIPBYE请求后,CPM参与功能服务器将扫描该CPM会话临时目录下的所有临时资源文件,将记录着会话状态变化信息的XML文件、记录着会话内传输的CPM消息、CPM文件、CPM连续性媒体流对象的临时文件一起封装成CPM会话历史记录文件,最终构成CPM会话历史记录文件的内容如下例所示Date:Wed,15Apr200917:09:33+0800〃会话创建时间Subject:Howareyou!〃该会话的主题From:sip:bob@example.com//该会话的仓键者地址To:sip:alice@example.com,sip:joe@example.com//该CPM会话的参与者地址Reference:Conversation-id〃该CPM会话所属会谈的会谈标识符Keywods:Contribution-id〃该CPM会话的贡献标识符Content-Type:multipart/mixed;bo皿dary=next//整个文件为mixed格式,全文分隔符为nextContent-Description:CPMSessionHistory〃文件描述,表示这是一个会话历史记录文件一next〃全文第一部分开始,即会话历史记录正文部分Content-Type:multipart/related;bo皿dary=session//第一部分是一个关联类型的对象,即带有内嵌资源,且分隔符定为session--session〃会话历史记录的正文的主体部分开始,即会话状态信息XML文档Content-Type:text/xml^charset=utf_8Content—ID:〈sessionhistoryOcpm.com〉Content—Description:SessionStatus〈Session-Event〉//根兀素〈Event〉〃每一个〈Event〉元素代表一个会话状态事件〈Type〉Session-Establishment〈/Type〉//会话建立事件〈TimeStamp〉Wed,15Apr200917:09:33+0800〈/TimeStamp〉〈Initiator〉sip:bobOexample.com〈/Inviter〉//发起方用户地址〈Participant-List〉〃被邀请方地址列表〈entryuri=〃sip:aliceOexample.com〃〉〈display-name〉AlicePC〈/display-name〉〈acc印t〉yes〈/acc印t〉〃是否接受邀请〈/entry〉〈/Particip肌t-List〉〈/Event〉〈Event〉〈Time-Stamp〉Wed,15Apr200917:10:33+0800〈/Time-Stamp〉〈Type〉Send-Message〈/Type〉〃发送消息事件〈Initiator〉sip:bobOexample.com〈/Inviter〉//消息的发送37<table>tableseeoriginaldocumentpage38</column></row><table>〈body〉Hereisthetextofmymessage.〈/body〉一next〃会话历史记录的附件1开始,即会话录音音频文件Content-Type:audio/midContent-T:ransfer-Encoding:base64Content—Disposition-Attachment;filename=〃SessionAudioRecord.mid";//将Content—Disposition-Attachment;filename=〃SessionVideoRecord.mpg如上所示,通过这样一份CPM会话历史记录文件就能够完整地记录下整个CPM会话的过程和相关的资源,CPM参与功能服务器应停留在CPM会话的信令通道及媒体通道上,对CPM会话过程中的相关信息进行记录,按照统一存储格式的定义形成一份CPM会话历史记录对象之后,再提交给MSS进行存储。为实现上述融合消息业务的会谈历史记录处理方法,本发明还提供了一种融合消息业务的会谈历史记录处理系统,如图3所示,该系统包括CPM参与功能服务器10、MSS20禾口MSC30。CPM参与功能服务器10,用于在实现会谈历史记录功能的过程中,从SIP信令、MSRP消息以及RTP媒体流中获取与会谈相关的信息,并将该信息按照统一的存储格式封装为会谈历史记录。MSS20,用于按照统一的存储格式,对会谈历史记录进行存储。MSC30,用于按照统一的存储格式,对会谈历史记录进行访问。其中,CPM参与功能服务器还用于,对于CPM页面消息,从SIPMESSAGE消息中提取"Subject,,头域、"CPM-Co読rsation-ID,,头域、"CPM-Contribution-ID,,头域、"CPM-R印lyTo-Contribution-ID,,头域、"P-Asserted-Identity,,头域、"Request-URI,,参数的值、"Content-Type,,为"卿lication/resource-lists+xml,,消息体部分的值以及将视频文件设置为附件类型,不能立即展现,需要用户选择操作,附件的文件名为SessionVideoRecord.mpgContent-Description:ThevideorecordofCPMSession//附件内容描述jiosjfiosfjioseir34u28938==043ndjf....〃附件编码,省略一next—〃全文结束符,表示整个会话历史记录文件的结束39"Content-Type"为"message/cpim"消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件;对于CPM大消息,从协商建立MSRP媒体通道的SIPINVITE请求消息中提取"Subject"头域、"CPM-Co読rsation-ID,,头域、"CPM-Contribution-ID,,头域、"CPM-R印lyTo-Contribution-ID,,头域、"P-Asserted-Identity,,头域、"Request-URI,,参数的值、"Content-Type"为"application/resource-lists+xml"消息体部分的值,以及MSRPSEND消息中"Content-Type"为"message/cpim"消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件;对于CPM文件传输,从协商建立MSRP媒体通道的SIPINVITE请求消息中提取"Subject"头域、"CPM-Co読rsation-ID,,头域、"CPM-Contribution-ID,,头域、"CPM-R印lyTo-Contribution-ID,,头域、"P-Asserted-Identity,,头域、"Request-URI,,参数的值、"Content-Type"为"application/resource-lists+xml"消息体部分的值,以及MSRPSEND消息中"Content-Type"为"message/cpim"消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件;对于CPM会话,在会话过程中从与本次CPM会话状态事件相关的SIPINVITE、SIPBYE、SIPREFER、SIPMESSAGE消息中提取相关头域的值,依据所提取的相关头域的值创建会话状态信息的XML文档,并将会话过程中传输的CPM消息、CPM文件、RTP媒体流保存为独立的临时资源文件;在所述CPM会话结束时,将会话状态信息的XML文档和临时资源文件封装为符合RFC822格式定义的统一存储格式的CPM会话历史记录文件。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。权利要求一种融合消息业务的会谈历史记录处理方法,其特征在于,该方法包括融合的IP消息(CPM)参与功能服务器在实现会谈历史记录功能的过程中,从会话初始协议(SIP)信令、消息会话中继协议(MSRP)消息以及实时传输协议(RTP)媒体流中获取与会谈相关的信息,并将所述信息按照统一的存储格式封装为会谈历史记录;消息存储服务器(MSS)按照所述统一的存储格式,对所述会谈历史记录进行存储;消息存储客户端(MSC)按照所述统一的存储格式,对所述会谈历史记录进行访问。2.根据权利要求1所述融合消息业务的会谈历史记录处理方法,其特征在于,所述会谈历史记录由CPM消息记录文件、CPM文件传输历史记录文件、CPM会话历史记录文件组成。3.根据权利要求2所述融合消息业务的会谈历史记录处理方法,其特征在于,对于会谈过程中的CPM页面消息,所述获取与会谈相关的信息,具体为所述CPM参与功能服务器从CPM页面消息的SIPMESSAGE消息体中提取Subject头域、P_Asserted_Identity头域、CPM_Conversation_ID头域、CPM_Contribution_ID头域、CPM-R印lyTo-Contribution-ID头域、Request-URI参数的值、Content-Type为即plication/resource-lists+xml消息体部分的值以及Content-Type为message/cpim消息体的值。4.根据权利要求3所述融合消息业务的会谈历史记录处理方法,其特征在于,所述将获取的信息按照统一的存储格式封装为会谈历史记录,具体为按照以下方式将获取的信息构造为符合请求评论(RFC)822格式定义的统一存储格式的CPM消息记录文件提取当前系统时间,作为CPM消息记录文件头部的Date头域的内容;从所述Subject头域中提取CPM页面消息的主题信息,作为CPM消息记录文件头部的Subject头域的内容;从所述P-Asserted-Identity头域中提取CPM页面消息的发送方的CPM用户地址信息,作为CPM消息记录文件头部的From头域的内容;从所述CPM-Conversation-ID头域中提取CPM页面消息所属的CPM会谈标识符信息,作为CPM消息记录文件头部的Reference头域的内容;从所述CPM-Contribution-ID头域中提取CPM页面消息的CPM贡献标识符信息,作为CPM消息记录文件头部的Keyword头域的内容;从所述CPM-R印lyTo-Contribution-ID头域中提取被回复的贡献标识符信息,作为CPM消息记录文件头部的In-R印y-to头域的内容;根据所述Request-URI参数的值确定CPM页面消息的类型,并将所述Request-URI参数的值作为CPM消息记录文件头部的To头域的内容;设置CPM消息记录文件头部的Content-Type头域的值为message/cpim;设置CPM消息记录文件头部的Content-Description头域的值为CP匪essage;从所述SIPMESSAGE消息体中提取Content-Type类型为message/cpim的消息体内容,作为CPM消息记录文件正文的内容。5.根据权利要求2所述融合消息业务的会谈历史记录处理方法,其特征在于,对于会谈过程中的CPM大消息,所述获取与会谈相关的信息,具体为所述CPM参与功能服务器从协商建立MSRP媒体通道的SIPINVITE请求消息和传输大消息内容的MSRPSEND消息中提取Subject头域、CPM-Conversation-ID头域、CPM_Contribution_ID头域、CPM-R印lyTo-Contribution-ID头域、P_Asserted_Identity头域、Request-URI参数的值、Content-Type为application/resource_lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值。6.根据权利要求5所述融合消息业务的会谈历史记录处理方法,其特征在于,所述将获取的信息按照统一的存储格式封装为会谈历史记录,具体为按照以下方式将获取的信息构造为符合RFC822格式定义的统一存储格式的CPM消息记录文件提取当前系统时间,作为CPM消息记录文件头部的Date头域的内容;从所述Subject头域中提取CPM页面消息的主题信息,作为CPM消息记录文件头部的Subject头域的内容;从所述P-Asserted-Identity头域中提取CPM页面消息的发送方的CPM用户地址信息,作为CPM消息记录文件头部的From头域的内容;从所述CPM-Conversation-ID头域中提取CPM页面消息所属的CPM会谈标识符信息,作为CPM消息记录文件头部的Reference头域的内容;从所述CPM-Contribution-ID头域中提取CPM页面消息的CPM贡献标识符信息,作为CPM消息记录文件头部的Keyword头域的内容;从所述CPM-R印lyTo-Contribution-ID头域中提取被回复的贡献标识符信息,作为CPM消息记录文件头部的In-R印y-to头域的内容;根据所述Request-URI参数的值确定CPM页面消息的类型,并将所述Request-URI参数的值作为CPM消息记录文件头部的To头域的内容;设置CPM消息记录文件头部的Content-Type头域的值为message/cpim;设置CPM消息记录文件头部的Content-Description头域的值为CP匪essage;从MSRPSEND消息中提取Content-Type类型为message/cpim的消息体内容,作为CPM消息记录文件正文的内容。7.根据权利要求2所述融合消息业务的会谈历史记录处理方法,其特征在于,对于会谈过程中的CPM文件传输,所述获取与会谈相关的信息,具体为所述CPM参与功能服务器从协商建立MSRP媒体通道的SIPINVITE请求消息中提取Subject头域、CPM-Conversation-ID头域、CPM-Contribution-ID头域、CPM-R印lyTo-Contribution-ID头域、P-Asserted-Identity头域、Request-URI参数的值、Content-Type为application/resource-lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值。8.根据权利要求7所述融合消息业务的会谈历史记录处理方法,其特征在于,所述将获取的信息按照统一的存储格式封装为会谈历史记录,具体为按照以下方式将获取的信息构造为符合RFC822格式定义的统一存储格式的CPM文件传输历史记录文件提取当前系统时间,作为CPM文件传输历史记录文件头部的Date头域的内容;从所述Subject头域中提取CPM页面消息的主题信息,作为CPM消息记录文件头部的Subject头域的内容;从所述P-Asserted-Identity头域中提取CPM页面消息的发送方的CPM用户地址信息,作为CPM消息记录文件头部的From头域的内容;从所述CPM-Conversation-ID头域中提取CPM页面消息所属的CPM会谈标识符信息,作为CPM消息记录文件头部的Reference头域的内容;从所述CPM-Contribution-ID头域中提取CPM页面消息的CPM贡献标识符信息,作为CPM消息记录文件头部的Keyword头域的内容;从所述CPM-R印lyTo-Contribution-ID头域中提取被回复的贡献标识符信息,作为CPM消息记录文件头部的In-R印y-to头域的内容;根据所述Request-URI参数的值确定CPM页面消息的类型,并将所述Request-URI参数的值作为CPM消息记录文件头部的To头域的内容;设置CPM消息记录文件头部的Content-Type头域的值为Multipart/Mixed;设置CPM消息记录文件头部的Content-Description头域的值为CPMFile;所述CPM文件传输历史记录文件的正文部分的附件部分记录本次CPM文件传输过程中传输的各个CPM文件,每一个传输的CPM文件内容都从相应的MSRPSEND消息的Content-Type类型为Message/cpim的消息体中获取,在CPM文件传输历史记录文件中作为一个附件内容存在。9.根据权利要求4、6或8所述融合消息业务的会谈历史记录处理方法,其特征在于,所述根据Request-URI参数的值确定CPM页面消息的类型,具体为如果所述Request-URI参数的值指定的是发送方的CPM用户地址信息,则确定所述CPM页面消息为1-1页面消息;如果所述Request-URI参数的值指定的是CPM控制功能服务器的地址,则确定所述CPM页面消息为Ad-hoc群组页面消息;如果所述Request-URI参数的值指定的是CPM预定义群组的地址,则确定所述CPM页面消息为预定义群组页面消息。10.根据权利要求2所述融合消息业务的会谈历史记录处理方法,其特征在于,对于CPM会话,所述获取与会谈相关的信息,并将所述信息按照统一的存储格式封装为会谈历史记录具体为所述CPM参与功能服务器在会话过程中从与本次CPM会话状态事件相关的SIPINVITE、SIPBYE、SIPREFER、SIPMESSAGE消息中提取相关头域的值,依据所提取的相关头域的值创建会话状态信息的扩展标记语言(XML)文档,并将会话过程中传输的CPM消息、CPM文件、RTP媒体流保存为独立的临时资源文件;在所述CPM会话结束时,将会话状态信息的XML文档和临时资源文件封装为符合RFC822格式定义的统一存储格式的CPM会话历史记录文件。11.一种融合消息业务的会谈历史记录处理系统,其特征在于,该系统包括CPM参与功能服务器、MSS和MSC,其中,所述CPM参与功能服务器,用于在实现会谈历史记录功能的过程中,从SIP信令、MSRP消息以及RTP媒体流中获取与会谈相关的信息,并将所述信息按照统一的存储格式封装为会谈历史记录;所述MSS,用于按照所述统一的存储格式,对所述会谈历史记录进行存储;所述MSC,用于按照所述统一的存储格式,对所述会谈历史记录进行访问。12.根据权利要求ll所述融合消息业务的会谈历史记录处理系统,其特征在于,所述CPM参与功能服务器进一步用于,对于CPM页面消息,从SIPMESSAGE消息中提取Subject头域、CPM-Conversation-ID头域、CPM-Contribution-ID头域、CPM-R印lyTo-Contribution-ID头域、P-Asserted-Identity头域、Request-URI参数的值、Content-Type为即plication/resource-lists+xml消息体部分的值以及Content-Type为message/cpim消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件。13.根据权利要求11所述融合消息业务的会谈历史记录处理系统,其特征在于,所述CPM参与功能服务器进一步用于,对于CPM大消息,从协商建立MSRP媒体通道的SIPINVITE请求消息中提取Subject头域、CPM-Conversation-ID头域、CPM-Contribution-ID头域、CPM-R印lyTo-Contribution-ID头域、P-Asserted-Identity头域、Request-URI参数的值、Content-Type为application/resource-lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件。14.根据权利要求ll所述融合消息业务的会谈历史记录处理系统,其特征在于,所述CPM参与功能服务器进一步用于,对于CPM文件传输,从协商建立MSRP媒体通道的SIPINVITE请求消息中提取Subject头域、CPM-Conversation-ID头域、CPM-Contribution-ID头域、CPM-R印lyTo-Contribution-ID头域、P-Asserted-Identity头域、Request-URI参数的值、Content-Type为application/resource-lists+xml消息体部分的值,以及MSRPSEND消息中Content-Type为message/cpim消息体的值,构造符合RFC822格式定义的统一存储格式的CPM消息记录文件。15.根据权利要求11所述融合消息业务的会谈历史记录处理系统,其特征在于,所述CPM参与功能服务器进一步用于,对于CPM会话,在会话过程中从与本次CPM会话状态事件相关的SIPINVITE、SIPBYE、SIPREFER、SIPMESSAGE消息中提取相关头域的值,依据所提取的相关头域的值创建会话状态信息的XML文档,并将会话过程中传输的CPM消息、CPM文件、RTP媒体流保存为独立的临时资源文件;在所述CPM会话结束时,将会话状态信息的XML文档和临时资源文件封装为符合RFC822格式定义的统一存储格式的CPM会话历史记录文件。全文摘要本发明公开了一种融合消息业务的会谈历史记录处理方法,包括融合的IP消息(CPM)参与功能服务器在实现会谈历史记录功能的过程中,从会话初始协议(SIP)信令、消息会话中继协议(MSRP)消息以及实时传输协议(RTP)媒体流中获取与会谈相关的信息,并将该信息按照统一的存储格式封装为会谈历史记录;消息存储服务器(MSS)按照统一的存储格式,对会谈历史记录进行存储;消息存储客户端(MSC)按照统一的存储格式,对会谈历史记录进行访问。本发明还公开了一种融合消息业务的会谈历史记录处理系统。通过本发明,能够展现会话的变化过程,提高了会谈历史记录的解析效率,增加了会谈历史记录功能的互操作性和可扩展性。文档编号H04L29/06GK101778056SQ20091024703公开日2010年7月14日申请日期2009年12月25日优先权日2009年12月25日发明者卢美莲,周星,张永旺,曾玉冰,李凤军,杨栋申请人:北京邮电大学;中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1