CN1863174A - 一种即时消息系统和消息处理方法 - Google Patents

一种即时消息系统和消息处理方法 Download PDF

Info

Publication number
CN1863174A
CN1863174A CN 200610001286 CN200610001286A CN1863174A CN 1863174 A CN1863174 A CN 1863174A CN 200610001286 CN200610001286 CN 200610001286 CN 200610001286 A CN200610001286 A CN 200610001286A CN 1863174 A CN1863174 A CN 1863174A
Authority
CN
China
Prior art keywords
message
client
server
function server
ownership
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200610001286
Other languages
English (en)
Other versions
CN100484105C (zh
Inventor
牟伦建
王珏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100012860A priority Critical patent/CN100484105C/zh
Publication of CN1863174A publication Critical patent/CN1863174A/zh
Application granted granted Critical
Publication of CN100484105C publication Critical patent/CN100484105C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

一种即时消息系统和消息处理方法,其消息处理方法过程包括:参与功能服务器收到发送来的消息后,归属的参与功能服务器判断客户端是否在线;如果在线,则根据消息中的优先级参数判断消息优先级别是否高于同时收到的其他消息,如果是,则优先发送该消息;否则,按照正常排序发送消息,结束消息发送处理。如果不在线,则根据消息中的优先级参数判断该消息的优先级别是否大于设定的离线存储消息的优先级别,如果是,则将该消息存储;否则,丢弃该消息,结束消息发送处理。本发明还提供一种即时消息系统。其实现根据系统消息的优先级分别对待处理、离线系统消息存储发送处理。

Description

一种即时消息系统和消息处理方法
技术领域
本发明涉及网络通信领域,特别是涉及一种即时消息系统和消息处理方法。其可以在移动通信网络、Internet网络上进行即时消息业务,移动网络包括现有的2G、2.5G,以及3G、多媒体子域等等。
背景技术
聊天是人们在使用现代通信和上网过程中的主要活动之一,聊天的主要工具已经从初期的聊天室、论坛变为以MSN、OICQ(又称QQ)为代表的即时通讯。大部分人只要上网就会开着自己的即时聊天软件MSN或QQ。据统计,迄今为止,全球约有一亿多人使用即时通讯软件在网上交流。即时消息业务无疑已经成为新世纪时尚的通信业务。
即时消息业务属于一种基于即时(Presence)的个人对个人、个人对群组的消息类的移动数据业务。
开放移动联盟(Open Mobile Alliance,OMA)国际标准组织对于移动即时消息做了标准制定,在当前的标准规范版本中有两类即时消息系统。第一类是基于无线乡村协议(Wireless Village,WV)的即时消息系统,其基于超文本传送协议/无线访问协议/短消息系统(Hyper Text Transport Protocol/Wireless Access Protocol/Short Message System,HTTP/WAP/SMS)承载的协议,可以支持2.5G/3G网络,第二类是基于初始会话协议/即时消息传递和在线状态利用扩展(Session Initiated Protocol/SIP Instant Message and PresenceLeveraging Extensions,SIP/SIPLE)协议的即时消息系统,其基于SIP/SIMPLE承载的协议,支持基于IP多媒体子系统(IP Multimedia Subsystem,IMS)的IP网络。
即时消息系统中存在这样的使用场景:在用户使用即时消息业务前、中、后等情况下,即时消息系统都可以向用户发送系统消息,通知即时消息客户端业务相关信息,让用户选择回复系统消息等等。
所谓系统消息,是指一种特殊类型的消息,它由即时消息服务器发出,可以具有不同的用途,例如计费信息通知、业务通知、操作指示等等。系统消息中可能包括是否需要让用户回复系统消息、一个提供给用户的选项列表、信息通知等。
现有符合SIP/SIMPLE即时消息(IM)标准的即时消息系统中,没有消息的优先级分别对待处理、离线消息存储处理等。
这样就存在着如下缺陷:若服务器发送一条重要的消息例如是计费通知到客户端,此时客户端不在线或者正忙,那么消息此时将无法发送到客户端;当客户端再次上线时,若消息没有被存储,则客户端就永远无法收到该消息。
另一方面,即时消息系统中的发送的消息可能很多,具有不同的优先级,如果把所有的消息都离线存储,由于消息往往是给大批量的客户端,需要的存储空间和网络流量都很大,这样给服务器和网络都造成巨大的负载。
发明内容
本发明的目的在于克服上述缺陷而提供的一种即时消息系统和消息处理方法,其基于SIP/SIMPLE即时消息系统,在现有的消息中实现根据消息的优先级分别对待处理、离线系统消息存储发送处理等。
为实现本发明目的而提供的一种即时消息的消息处理方法,包括下列步骤:
步骤A)即时消息客户端归属的参与功能服务器收到其他客户端或者消息发送服务器发送来的消息后,归属的参与功能服务器判断所述客户端是否在线;如果在线,则发送给客户端;否则继续;
步骤B)参与功能服务器根据消息中的优先级参数判断该消息的优先级别是否大于设定的离线存储消息的优先级别,如果是,则将该消息存储;否则,丢弃该消息;结束消息发送处理。
所述步骤A)可以包括下列步骤:
当客户端在线时,参与功能服务器根据消息中的优先级参数判断消息优先级别是否高于同时收到的其他消息,如果是,则优先发送该消息;否则,按照正常排序发送消息;结束消息发送处理。
所述即时消息处理方法还可以包括下列步骤:
步骤C)当客户端登录到归属的参与功能服务器时,参与功能服务器在存储的离线存储消息中按优先级别查找出给客户端的离线消息,并将其发送给客户端。
所述消息为系统消息。
所述步骤A)还可以包括下列步骤:
如果客户端不在线,则归属的参与功能服务器判断该消息是否为系统消息,如果不是,则按普通离线消息处理方法进行处理。
所述步骤A)还可以包括下列步骤:
步骤A1)消息发起服务器向客户端发送系统消息时,消息发起服务器将消息发送到所在的核心网络;
步骤A2)消息发起服务器所在的核心网络通过分析SIP消息头,将消息转发到客户端归属的参与功能服务器所在的核心网络;
步骤A3)参与功能服务器核心网络通过分析SIP消息头,将消息转发到客户端归属的参与功能服务器。
所述步骤B)还可以包括下列步骤:
步骤B1)客户端归属的参与功能服务器在收到消息后,通过所在的核心网络向消息发起服务器回应SIP 202 Accepted消息;
步骤B2)参与功能服务器的核心网络通过分析SIP消息头,将SIP 202Accepted消息转发到消息发起服务器的核心网络;
步骤B3)消息发起服务器的核心网络通过分析SIP消息头,将SIP 202Accepted消息转发到消息发起服务器。
进一步,所述步骤B)还可以包括以下步骤:
客户端归属的参与功能服务器判断消息优先级别不大于系统设定的优先别的设定值并丢弃消息后,向消息发起服务器回应SIP 603 Decline消息,然后结束。
更进一步,所述步骤B)还可以包括以下步骤:
客户端归属的参与功能服务器根据系统设定的不同优先级别消息具有不同存储时间,设置不同优先级别消息的存储时间,然后才存储到客户端归属的参与功能服务器,当达到存储时间而客户端没有登录时,将该消息从客户端归属的参与功能服务器中删除。
所述步骤C)可以包括以下步骤:
步骤C1)客户端向其归属的参与功能服务器注册使用业务成功;
步骤C2)参与功能服务器按优先级别在存储的离线存储消息中查找出需要直接推送给客户端的离线消息;
步骤C3)归属的参与功能服务器和客户端之间建立消息会话中继协议数据通道;
步骤C4)归属的参与功能服务器通过消息会话中继协议数据通道将消息封装后发送给客户端;
步骤C5)客户端向归属的参与功能服务器回应MSRP 200 OK消息;
步骤C6)在即时消息通讯结束后,归属的参与功能服务器和客户端之间断开消息会话中继协议数据通道。
本发明还提供了一种即时消息系统,包括客户端,消息发起服务器和客户端归属的参与功能服务器,其特征在于,所述参与功能服务器包括优先级判断处理模块;
优先级判断处理模块,用于对消息的优先级进行判断,并当客户端在线时根据消息的优先级别将消息发送给客户端;当客户端不在线时,根据消息中的优先级参数判断消息的优先级别是否大于设定的优先级别,当大于设定的优先级别时存储所述消息,在客户端登录到归属的参与功能服务器时将消息发送给客户端。
所述参与功能服务器还可以包括消息存储模块;
消息存储模块,用于当客户端不在线并且所述消息优先级别大于设定的优先级别时,存储所述消息;并在客户端登录到归属服务器时,由从其中读取所述消息。
所述的即时消息系统还可以包括客户端及其归属的参与功能服务器所在的初始会话协议核心网络,以及消息发起服务器所在的初始会话协议核心网络。
所述参与功能服务器可以包括客户端归属的具有参与功能的服务器和具有离线消息功能的服务器。
所述消息发起服务器可以是控制功能服务器,或者其它客户端归属服务器,或者运营商的特定服务器。
本发明的有益效果是:本发明的即时消息系统和方法能够使SIP/SIMPLE即时消息系统根据消息的优先级别对消息进行区别发送,并且能够在用户不在线时,根据优先级别确定是否需要离线存储,上线后能够及时得到优先级别高的消息,使得SIP/SIMPLE即时消息业务系统在解决消息发布问题上更加完善,从而丰富了用户的业务体验。
附图说明
图1是本发明即时消息系统结构示意图;
图2是即时消息系统服务器收到SIP MESSAGE的处理流程图;
图3是客户端不在线时即时消息系统发布的消息处理流程图;
图4是客户端登录后,消息推送(PUSH)的处理流程图;
图5是客户端在线时即时消息系统发布的消息处理流程图。
具体实施方式
下面结合附图1~5进一步详细说明本发明的即时消息系统和消息处理方法。
在本发明的各个实施例中,均针对即时消息系统中的消息发起服务器发送的系统消息而进行优先级判断处理,该消息发起服务器可以是控制功能服务器(Controlling IM Function Server),也可以是运营商的特定服务器,通过开放接口发送的系统消息和其他消息等等。
所发送的消息也可以是消息发起服务器发送的其他消息,如普通消息;也可以是客户端发送给服务器或者其他客户端的其他消息。
本发明是在移动通信网络、Internet网络上开展的即时消息(IM)系统中的即时消息业务,其中移动网络包括现有的2G、2.5G、3G以及多媒体子系统(IMS)等移动通信网络。更具体地说,本发明是基于SIP/SIMPLE中的即时消息系统,采用初始会话协议(SIP),针对即时消息系统的应用。
其中,本发明中各实施例以SIP/IP核心(Core)网络而进行描述,其中SIP/IP核心(Core)网络是属于3GPP和3GPP2定义多媒体子系统(IMS)的核心网络部分,如呼叫会话控制功能(Call Session Control Function,CSCF)或者IP网络。
客户端Client_A和消息发起服务器Server_X建立的即时消息会话通道为按公知的消息会话中继协议(Message Session Relay Protocol,MSRP)建立的即时消息传输通道(Channel)。
在各实施例中,各实体的含义如下:
Client_A表示已经加入SIP/SIMPLE即时消息(IM)系统的用户A所在的客户端;
Server_X表示发送系统消息的SIP/SIMPLE即时消息服务器,可能是控制功能服务器(Controlling IM Function Server)、其他用户归属服务器、运营商的特定服务器等,即消息发起服务器;
Server_A表示Client_A所归属的SIMPLE IM服务器,假定Server_A具备参与功能(Participating)的角色和离线消息功能(Deferred IM)的角色,即参与功能服务器。
参与功能服务器Server_A可以包括具备参与功能的服务器和具备离线消息功能的服务器,即客户端归属的参与功能服务器包括具备参与功能的服务器和具备离线消息功能的服务器。如果参与功能服务器Server_A的参与功能和离线消息功能分属于不同服务器,则需要增加参与功能和离线消息功能之间交互离线消息处理的功能,这是现有的技术,在本发明中不再详述。。
SIP/IP Core A表示客户端Client_A和归属的参与功能服务器Server_A所在的初始会话协议(SIP)核心网络。
SIP/IP Core_X表示Server_X所在的初始会话协议(SIP)核心网络。
如图1所示,本发明中的即时消息系统包括客户端Client_A,消息发起服务器Server_X和参与功能服务器Server_A,以及客户端Client_A及其归属的参与功能服务器Server_A所在的初始会话协议(SIP)核心网络SIP/IPCORE_A。
其中,参与功能服务器Server_A还包括优先级判断处理模块1和消息存储模块2,
优先级判断处理模块1,用于对消息发起服务器Server_X下发的系统消息给客户端Client_A的优先级进行判断,并当客户端Client_A在线时根据系统消息的优先级别将系统消息发送给客户端Client_A;当客户端Client_A不在线时,根据消息中的优先级参数判断系统消息的优先级别是否大于设定的优先级别,当大于设定的优先级别时存储系统消息,在客户端Client_A登录到归属的参与功能服务器Server_A时将系统消息发送给客户端Client_A。
消息存储模块2,用于当客户端Client_A不在线并且系统消息优先级别大于设定的优先级别时,存储系统消息;并在客户端Client_A登录到归属服务器Server_A时,由优先级判断处理模块1从其中读取系统消息。
在本发明实施例中的系统消息,对现有的系统消息的格式(schema)进行了更改,增加了系统消息的优先级参数smsg_level,使参与功能服务器Server_A中的优先级判断处理模块1根据优先级参数smsg_level进行优先级别判断处理。
本发明实施例中的系统消息格式如下:<?xml version="1.0"encoding="UTF-8"?><xs:schema
  targetNamespace="um:oma:params:xml:ns:im:system-message"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="um:oma:params:xml:ns:im:system-message"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"><xs:element name="system-message">
<xs:complexType>
  <xs:sequence>
    <xs:element name="smsg-type"minOccurs="1">
    <xs:simpleType>
      <xs:restriction base="xs:string">
             <xs:enumeration value="request"/>
             <xs:enumeration value="response"/>
      </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="smsg"minOccurs="1"maxOccurs="unbounded">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="smsg-text"type="xs:string"minOccurs="1"/>
          <xs:element name="smsg-level"type="xs:positiveInteger"minOccurs="0"maxOccurs="1"/>                                                   //优先级参数
          <xs:element name="smsg-response-type"minOccurs="1">
            <xs:simpleType>
                     <xs:restriction base="xs:string">
                               <xs:enumeration value="no-answer"/>
                               <xs:enumeration value="only-one-answer"/>
                                 <xs:enumeration value="muItiple-answer"/>
                      </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element               name="answer-options"             minOccurs="0"maxOccurs="unbounded">
            <xs:complexType>
              <xs:sequence>
                <xs:element           name="answer-option-id"         type="xs:string"minOccurs="1"/>
                <xs:element          name="answer-option-text"        type="xs:string"minOccurs="0"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="time-out"type="xs:positiveInteger"minOccurs="0"/>
          <xs:element name="restrict-access"type="xs:empty"minOccurs="0"/>
          <xs:element name="verification"minOccurs="0">
            <xs:complexType>
              <xs:choice>
                <xs:element name="verification-text"type="xs:string"minOccurs="0"/>
                <xs:element       name="verification-uri"         type="xs:anyURI"minOccurs="0"/>
              </xs:choice>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="id"type="xs:string"use="required"/>
      </xs:complexType>
    </xs:element>
如图2所示,本发明实施例中的即时消息处理方法包括下列步骤:
步骤1)参与功能服务器Server_A收到消息发起服务器Server_X发送来的SIP MESSAGE消息后,判断客户端Client_A是否在线,如果在线,则按实施例二的处理方法发送SIP MESSAGE消息给客户端Client_A;否则继续;
步骤2)参与功能服务器Server_A判断该消息是否为系统消息,如果不是,则按照普通的离线消息处理流程进行处理;否则继续;
步骤3)优先级判断处理模块1判断系统消息的优先级参数smsg-level的优先级别是否大于系统设定的优先级别的设定值,如果不是,则丢弃系统消息,并向发送方消息发起服务器Server_X回应SIP 603 Decline消息,然后结束;否则继续;
步骤4)存储该系统消息为离线消息(Deferred IM),并向发送方消息发起服务器回应SIP 202 Accepted消息,然后结束。
下面分别说明当客户端在线和不在线时,即时消息系统对系统消息的处理方法过程:
实施例一:
在本实施例中,消息发起服务器Server_X正在给客户端Client_A发送系统消息,此时客户端Client_A不在线。
其包括下列步骤:
步骤A)消息发起服务器Server_X下发系统消息,归属的参与功能服务器Server_A收到系统消息后,判断客户端Client_A不在线,进一步判断其优先级参数smsg-level的优先级别是否大于用户和/或系统的设定离线存储系统消息优先级别,并将大于该设定级别的系统消息存储到消息存储模块2。
如图3所示,包括下列步骤:
步骤A1)消息发起服务器Server_X向用户A(对应于客户端Client_A)发送系统消息,用SIP MESSAGE消息承载,其中包含系统消息的优先级参数,例如smsg-level=1;还包括有用户A的地址和在Accept-Contact中的特征码;消息发起服务器Server_X将消息发送到Server_X所在的初始会话协议核心网络SIP/IP Core_X;
步骤A2)Server_X所在的初始会话协议核心网络SIP/IP Core_X通过分析SIP消息头,将SIP MESSAGE消息转发到客户端Client_A归属的参与功能服务器Server_A所在的初始会话协议核心网络SIP/IP Core_A;
步骤A3)初始会话协议核心网络SIP/IP Core_A通过SIP消息头,将SIPMESSAGE消息转发到客户端Client_A归属的参与功能服务器Server_A;
步骤A4)参与功能服务器Server_A收到SIP MESSAGE消息后,判断客户端Client_A不在线并且是系统消息,则进一步判断系统消息的优先级参数smsg-level的优先级别是否大于用户和/或系统的设定离线存储系统消息优先级别,如果大于设定的优先级别,则需要存贮,归属的参与功能服务器Server_A将系统消息存储为离线消息(Deferred IM),并设定级别,存储到消息存储模块2;否则,将该系统消息丢弃;
在本发明实施例中,所述的级别可以是客户端在线时的系统消息的发送级别,还有客户端离线时系统消息被消息存储模块2存储的级别。
较佳地,优先级判断处理模块1根据系统设定的不同优先级别消息具有不同存储时间,比如:优先级高的存储时间长,低的存储时间短,设置不同优先级别消息的存储时间,然后才存储到消息存储模块2,当达到存储时间而客户端没有登录时,将该消息从消息存储模块2中删除。
步骤A5)参与功能服务器Server_A通过Server_A的初始会话协议核心网络SIP/IP Core_A向消息发起服务器Server_X回应SIP 202 Accepted消息,表示收到系统消息;
步骤A6)初始会话协议核心网络SIP/IP Core_A通过分析SIP消息头,将SIP 202 Accepted消息转发到消息发起服务器Server_X的初始会话协议核心网络SIP/IP Core_X;
步骤A7)初始会话协议核心网络SIP/IP Core_X通过分析SIP消息头,将SIP 202 Accepted消息转发到Server_X。
步骤B)当客户端Client_A登录到归属的参与功能服务器Server_A时,参与功能服务器Server_A中的优先级判断处理模块1在消息存储模块2存储的离线存储消息中查找出给客户端Client_A的离线系统消息,并将其发送给客户端Client_A。
下面说明客户端Client_A重新登录时,归属的参与功能服务器Server_A对于系统消息的处理方法。
当客户端Client_A登录到归属的参与功能服务器Server_A时,参与功能服务器Server_A的优先级判断处理模块1可以按下列方式处理离线存储的系统消息:
方式一:优先级高的系统消息直接单独推送(PUSH)给对应的客户端Client_A;
方式二:构造SIP MESSAGE格式的系统消息发送给客户端Client_A;
方式三:与普通离线消息(Deferred IM)一起推送(PUSH)给用户,可以把优先级高的系统消息显示在前;
方式四:与普通离线消息(Deferred IM)一起,先下发离线消息通知,然后再由客户端Client_A选择获取,可以把优先级高的系统消息显示在离线消息通知的前面;
具体采用何种方式,与即时消息(IM)系统的配置和客户端Client_A的设置有关,比如方式三、四的选择与客户端的设置有关。
在本实施例中以方式一为例:
本实施例中,普通离线消息不通过推送(PUSH)方式发送,只有离线系统消息通过推送(PUSH)方式发送。
也可以是所有离线消息都通过推送(PUSH)方式发送,方法过程与本实施例相同,只是没有系统消息判断。
如图4所示,其包括下列步骤:
步骤B1)客户端Client_A向其归属的参与功能服务器Server_A注册使用即时消息(IM)业务成功;
步骤B2)参与功能服务器Server_A中的优先级判断处理模块1按优先级参数smsg-level的级别在消息存储模块2中的离线存储消息中查找出需要直接推送(PUSH)给客户端Client_A的离线系统消息,其可以是优先级高于系统和/或用户设定的优先级别的离线系统消息,或者是全部离线系统消息;
步骤B3)归属的参与功能服务器Server_A和客户端Client_A之间建立消息会话中继协议(MSRP)数据通道;
步骤B4)归属的参与功能服务器Server_A通过MSRP SEND将系统消息封装成消息内容发送给客户端Client_A;
下面是一个归属的参与功能服务器Server_A通过MSRP SEND将系统消息封装成消息内容发送给客户端Client_A的例子:
MSRP dkei38sd SEND
To-Path:msrp://user2.imserver.com:7777/iau39;tcp
From-Path:msrp://imserver.com:8888/9di4ea;tcp
Message-ID:452
Content-Type:message/sip
MESSAGE sip:user2@imserver.com SIP/2.0
Via:SIP/2.0/TCP user1pc.imserver.com;branch=z9hG4bK776sgdkse
Max-Forwards:70
From:sip:userl@imserver.com;tag=49583
To:sip:user2@imserver.com
Call-ID:asd88asd77a@1.2.3.4
Date:Thu,21 Feb 200213:02:03 GMT
CSeq:1 MESSAGE
Content-Type:vnd.oma.system-message+ml
Content-Length:......<?xml version="1.0"encoding="UTF-8"?><system-message
  xmlns="urn:oma:params:xml:ns:im:system-message"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="urn:oma:params:xml:ns:im:system-message">
<smsg-type>request</smsg-type>
<smsg id="ghi789">
   <smsg-text>Info:you have subscribed a new service and it is freed in one month.If youwould not like to use it please unsubscribe it.</smsg-text>
   <smsg-level>1</smsg-text>
   <smsg-response-type>no-answer</smsg-response-type>
</smsg></system-message>
步骤B5)客户端Client_A向归属的参与功能服务器Server_A回应MSRP200OK消息,表示收到MSRP SEND消息;
如果有多条系统消息需要发送,重复上述步骤。
步骤B6)在即时消息通讯结束后,归属的参与功能服务器Server_A和客户端Client_A之间断开消息会话中继协议(MSRP)数据通道。
实施例二:
在本实施例中,消息发起服务器Server_X给客户端Client_A发送系统消息,而客户端Client_A在线。
步骤A′)消息发起服务器Server_X下发系统消息,归属的参与功能服务器Server_A收到系统消息后,判断客户端Client_A在线,优先级判断处理模块1进一步判断其优先级参数smsg-level的级别是否大于用户和/或系统的设定系统消息级别,如果大于设定的级别,则将系统消息优先发送给客户端Client_A;否则,按正常过程发送系统消息。
如图5所示,包括下列步骤:
步骤A1′)消息发起服务器Server_X向用户A(对应于客户端Client_A)发送系统消息,用SIP MESSAGE消息承载,其中包含系统消息的优先级参数smsg-level=1;包括有用户A的地址和在Accept-Contact中的特征码;消息发起服务器Server_X将消息发送到Server_X所在的初始会话协议核心网络SIP/IP Core_X;
步骤A2′)Server_X所在的初始会话协议核心网络SIP/IP Core_X通过分析SIP消息头,将SIP MESSAGE消息转发到客户端Client_A归属的参与功能服务器Server_A所在的初始会话协议核心网络SIP/IP Core_A;
步骤A3′)初始会话协议核心网络SIP/IP Core_A通过分析SIP消息头,将SIP MESSAGE消息转发到客户端Client_A归属的参与功能服务器Server_A;
步骤A4′)归属的参与功能服务器Server_A收到SIP MESSAGE消息后,判断客户端Client_A在线并且是系统消息,则优先级判断处理模块1进一步判断系统消息的优先级参数smsg-level级别是否大于其它同时收到的系统消息或者普通消息的优先级参数smsg-level级别,如果是,则优先发送本系统消息到客户端Client_A,再发送其他级别低的消息;否则,按正常的排序等待发送;
步骤A5′)参与功能服务器Server_A通过Server_A的初始会话协议核心网络SIP/IP Core_A向客户端Client_A转发SIP MESSAGE的系统消息;
步骤A6′)Server_A的初始会话协议核心网络SIP/IP Core_A通过分析SIP消息头,将SIPMESSAGE消息转发到客户端Client_A;
步骤A7′)客户端Client_A回应SIP 200 OK消息到Server_A的初始会话协议核心网络SIP/IP Core_A,表示收到系统消息;
步骤A8′)Server_A的初始会话协议核心网络SIP/IP Core_A通过分析SIP消息头,将SIP 200 OK消息转发到归属的参与功能服务器Server_A;
步骤A9′)归属的参与功能服务器Server_A通过Server_A的初始会话协议核心网络SIP/IP Core_A向系统消息发起服务器Server_X转发SIP 200OK消息。
步骤A10′)初始会话协议核心网络SIP/IP Core_A通过分析SIP消息头,将SIP 200 OK消息转发到消息发起服务器Server_X的初始会话协议核心网络SIP/IP Core_X;
步骤A11′)初始会话协议核心网络SIP/IP Core_X通过分析SIP消息头,将SIP 200 OK消息转发到消息发起服务器Server_X,结束本次系统消息传送。
在本实施例中,设定客户端不需要回复系统消息,如果是需要回复的系统消息,则客户端Client_A通过用户A的参与,发送SIP MESSAGE的回复系统消息到消息发起服务器Server_X。
本发明根据不同的消息设置不同的级别,从而能够根据不同的级别对于消息给予不同的处理,对消息进行区别发送,并且能够在用户不在线时,根据优先级确定是否需要离线存储,客户端上线后能够及时得到优先级高的系统消息,完善SIP/SIMPLE即时消息系统,从而丰富了用户的业务体验。
本发明的各个实施例只是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细描述,但可以想到,本领域普通技术人员在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改,这些变化和修改均在本发明的保护范围内。

Claims (18)

1.一种即时消息的消息处理方法,其特征在于,包括下列步骤:
步骤A)即时消息客户端归属的参与功能服务器收到其他客户端或者消息发送服务器发送来的消息后,归属的参与功能服务器判断所述客户端是否在线;如果在线,则发送给客户端;否则继续;
步骤B)参与功能服务器根据消息中的优先级参数判断该消息的优先级别是否大于设定的离线存储消息的优先级别,如果是,则将该消息存储;否则,丢弃该消息;结束消息发送处理。
2.根据权利要求1所述的消息处理方法,其特征在于,所述步骤A)包括下列步骤:
当客户端在线时,参与功能服务器根据消息中的优先级参数判断消息优先级别是否高于同时收到的其他消息,如果是,则优先发送该消息;否则,按照正常排序发送消息;结束消息发送处理。
3.根据权利要求1所述的即时消息处理方法,其特征在于,还包括下列步骤:
步骤C)当客户端登录到归属的参与功能服务器时,参与功能服务器在存储的离线存储消息中按优先级别查找出给客户端的离线消息,并将其发送给客户端。
4.根据权利要求1至3任一项所述的即时消息处理方法,其特征在于,所述消息为系统消息。
5.根据权利要求4所述的即时消息处理方法,其特征在于,所述步骤A)还包括下列步骤:
如果客户端不在线,则归属的参与功能服务器判断该消息是否为系统消息,如果不是,则按普通离线消息处理方法进行处理。
6.根据权利要求4所述的即时消息处理方法,其特征在于,所述步骤A)还包括下列步骤:
步骤A1)消息发起服务器向客户端发送系统消息时,消息发起服务器将消息发送到所在的核心网络;
步骤A2)消息发起服务器所在的核心网络通过分析SIP消息头,将消息转发到客户端归属的参与功能服务器所在的核心网络;
步骤A3)参与功能服务器核心网络通过分析SIP消息头,将消息转发到客户端归属的参与功能服务器。
7.根据权利要求4所述的即时消息处理方法,其特征在于,所述步骤B)还包括下列步骤:
步骤B1)客户端归属的参与功能服务器在收到消息后,通过所在的核心网络向消息发起服务器回应SIP 202 Accepted消息;
步骤B2)参与功能服务器的核心网络通过分析SIP消息头,将SIP 202Accepted消息转发到消息发起服务器的核心网络;
步骤B3)消息发起服务器的核心网络通过分析SIP消息头,将SIP 202Accepted消息转发到消息发起服务器。
8.根据权利要求1至3任一项所述的即时消息处理方法,其特征在于,所述步骤B)还包括以下步骤:
客户端归属的参与功能服务器判断消息优先级别不大于系统设定的优先别的设定值并丢弃消息后,向消息发起服务器回应SIP 603 Decline消息,然后结束。
9.根据权利要求1至3任一项所述的即时消息处理方法,其特征在于,所述步骤B)还包括以下步骤:
客户端归属的参与功能服务器根据系统设定的不同优先级别消息具有不同存储时间,设置不同优先级别消息的存储时间,然后才存储到客户端归属的参与功能服务器,当达到存储时间而客户端没有登录时,将该消息从客户端归属的参与功能服务器中删除。
10.根据权利要求3所述的即时消息处理方法,其特征在于,所述步骤C)包括以下步骤:
步骤C1)客户端向其归属的参与功能服务器注册使用业务成功;
步骤C2)参与功能服务器按优先级别在存储的离线存储消息中查找出需要直接推送给客户端的离线消息;
步骤C3)归属的参与功能服务器和客户端之间建立消息会话中继协议数据通道;
步骤C4)归属的参与功能服务器通过消息会话中继协议数据通道将消息封装后发送给客户端;
步骤C5)客户端向归属的参与功能服务器回应MSRP 200 OK消息;
步骤C6)在即时消息通讯结束后,归属的参与功能服务器和客户端之间断开消息会话中继协议数据通道。
11.根据权利要求3所述的即时消息处理方法,其特征在于,所述步骤C)还包括以下步骤:
客户端归属的参与功能服务器构造SIP MESSAGE格式的消息发送给客户端。
12.根据权利要求3所述的即时消息处理方法,其特征在于,所述步骤C)还包括以下步骤:
客户端归属的参与功能服务器将存储的消息与普通离线消息一起推送给客户端,把优先级别高的消息显示在前。
13.根据权利要求3所述的即时消息处理方法,其特征在于,所述步骤C)还包括以下步骤:
客户端归属的参与功能服务器将存储的消息与普通离线消息一起,先下发离线消息通知,然后再由客户端选择需要获取离线消息,把优先级高的离线消息显示在离线消息通知的前面。
14.一种即时消息系统,包括客户端,消息发起服务器和客户端归属的参与功能服务器,其特征在于,所述参与功能服务器包括优先级判断处理模块(1);
优先级判断处理模块(1),用于对消息的优先级进行判断,并当客户端在线时根据消息的优先级别将消息发送给客户端;当客户端不在线时,根据消息中的优先级参数判断消息的优先级别是否大于设定的优先级别,当大于设定的优先级别时存储所述消息,在客户端登录到归属的参与功能服务器时将消息发送给客户端。
15.根据权利要求14所述的即时消息系统,其特征在于,所述参与功能服务器还包括消息存储模块(2);
消息存储模块(2),用于当客户端不在线并且所述消息优先级别大于设定的优先级别时,存储所述消息;并在客户端登录到归属服务器时,由优先级判断处理模块(1)从其中读取所述消息。
16.根据权利要求14或15所述的即时消息系统,其特征在于,还包括客户端及其归属的参与功能服务器所在的初始会话协议核心网络,以及消息发起服务器所在的初始会话协议核心网络。
17.根据权利要求14或15所述的即时消息系统,其特征在于,所述参与功能服务器包括客户端归属的具有参与功能的服务器和具有离线消息功能的服务器。
18.根据权利要求14或15所述的即时消息系统,其特征在于,所述消息发起服务器为控制功能服务器,或者其它客户端归属服务器,或者运营商的特定服务器。
CNB2006100012860A 2006-01-12 2006-01-12 一种即时消息系统和消息处理方法 Active CN100484105C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100012860A CN100484105C (zh) 2006-01-12 2006-01-12 一种即时消息系统和消息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100012860A CN100484105C (zh) 2006-01-12 2006-01-12 一种即时消息系统和消息处理方法

Publications (2)

Publication Number Publication Date
CN1863174A true CN1863174A (zh) 2006-11-15
CN100484105C CN100484105C (zh) 2009-04-29

Family

ID=37390504

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100012860A Active CN100484105C (zh) 2006-01-12 2006-01-12 一种即时消息系统和消息处理方法

Country Status (1)

Country Link
CN (1) CN100484105C (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834859A (zh) * 2010-04-16 2010-09-15 王家焱 服务器主动推出内容的系统与方法
CN102185801A (zh) * 2011-05-19 2011-09-14 深圳市蓝凌软件股份有限公司 一种即时通讯中的信息处理方法和即时通讯工具
CN102195787A (zh) * 2010-03-17 2011-09-21 华为技术有限公司 消息处理方法和消息会话传输协议服务器
CN103023756A (zh) * 2012-12-07 2013-04-03 百度在线网络技术(北京)有限公司 基于即时通信的消息处理方法、系统、客户端和服务器
CN103973461A (zh) * 2013-02-06 2014-08-06 阿里巴巴集团控股有限公司 一种通知消息的推送方法及消息服务器
CN104065628A (zh) * 2013-03-22 2014-09-24 腾讯科技(深圳)有限公司 会话处理方法和装置
CN104123296A (zh) * 2013-04-26 2014-10-29 阿里巴巴集团控股有限公司 一种生成消息索引以便向接收者呈现消息的方法及装置
CN104412250A (zh) * 2012-06-25 2015-03-11 谷歌公司 用于基于消息优先级来管理消息传递的系统和方法
CN104796435A (zh) * 2015-05-08 2015-07-22 集怡嘉数码科技(深圳)有限公司 一种消息推送方法及服务器
CN105072019A (zh) * 2015-07-24 2015-11-18 北京元心科技有限公司 即时通信的消息的处理方法及处理系统
CN105868247A (zh) * 2015-12-15 2016-08-17 乐视网信息技术(北京)股份有限公司 一种信息显示方法及装置
CN107147504A (zh) * 2017-03-31 2017-09-08 北京奇艺世纪科技有限公司 一种消息推送方法及装置
CN107426309A (zh) * 2017-07-17 2017-12-01 北京深思数盾科技股份有限公司 一种信息同步方法、装置及系统
CN111092802A (zh) * 2018-10-23 2020-05-01 中国移动通信有限公司研究院 一种消息交互方法、发送设备及接收设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195787B (zh) * 2010-03-17 2013-09-11 华为技术有限公司 消息处理方法和消息会话传输协议服务器
CN102195787A (zh) * 2010-03-17 2011-09-21 华为技术有限公司 消息处理方法和消息会话传输协议服务器
CN101834859A (zh) * 2010-04-16 2010-09-15 王家焱 服务器主动推出内容的系统与方法
CN102185801A (zh) * 2011-05-19 2011-09-14 深圳市蓝凌软件股份有限公司 一种即时通讯中的信息处理方法和即时通讯工具
CN104412250A (zh) * 2012-06-25 2015-03-11 谷歌公司 用于基于消息优先级来管理消息传递的系统和方法
CN103023756A (zh) * 2012-12-07 2013-04-03 百度在线网络技术(北京)有限公司 基于即时通信的消息处理方法、系统、客户端和服务器
CN103973461A (zh) * 2013-02-06 2014-08-06 阿里巴巴集团控股有限公司 一种通知消息的推送方法及消息服务器
CN104065628A (zh) * 2013-03-22 2014-09-24 腾讯科技(深圳)有限公司 会话处理方法和装置
CN104123296A (zh) * 2013-04-26 2014-10-29 阿里巴巴集团控股有限公司 一种生成消息索引以便向接收者呈现消息的方法及装置
CN104796435A (zh) * 2015-05-08 2015-07-22 集怡嘉数码科技(深圳)有限公司 一种消息推送方法及服务器
CN105072019A (zh) * 2015-07-24 2015-11-18 北京元心科技有限公司 即时通信的消息的处理方法及处理系统
CN105868247A (zh) * 2015-12-15 2016-08-17 乐视网信息技术(北京)股份有限公司 一种信息显示方法及装置
CN107147504A (zh) * 2017-03-31 2017-09-08 北京奇艺世纪科技有限公司 一种消息推送方法及装置
CN107426309A (zh) * 2017-07-17 2017-12-01 北京深思数盾科技股份有限公司 一种信息同步方法、装置及系统
CN107426309B (zh) * 2017-07-17 2019-02-01 北京深思数盾科技股份有限公司 一种信息同步方法、装置及系统
CN111092802A (zh) * 2018-10-23 2020-05-01 中国移动通信有限公司研究院 一种消息交互方法、发送设备及接收设备

Also Published As

Publication number Publication date
CN100484105C (zh) 2009-04-29

Similar Documents

Publication Publication Date Title
CN1863174A (zh) 一种即时消息系统和消息处理方法
CN1794723A (zh) 一种离线消息处理方法
CN1859380A (zh) 一种离线消息获取方法
CN1801810A (zh) 一种会话初始化协议消息体内容处理方法及网络
CN101057519A (zh) 内容服务器和内容服务系统
CN1893427A (zh) 一种进行业务支持能力协商的方法
CN1794692A (zh) 通信系统和在通信系统中查询信息的方法
CN101047662A (zh) 实现单账号多身份即时消息通信和存在业务的方法及系统
CN1846420A (zh) 嵌入的服务质量相关信息的传送
CN1681250A (zh) 存在信息提供系统及其方法和服务器
CN1852431A (zh) 实现实时视频信息共享的系统及方法
CN100343835C (zh) 信息处理方法和设备
CN101075890A (zh) 实现群组会话体验质量的方法及系统
CN1838642A (zh) 利用即时消息系统实现问答业务的方法及系统
CN101047529A (zh) 媒体会话数据发送控制方法、控制关系协商方法及控制系统
CN1968076A (zh) 设备间数据同步的方法
CN1889586A (zh) 一种注册/注销系统和注册/注销方法
CN101068378A (zh) 实现多媒体消息业务系统容灾的方法、系统及设备
CN1859270A (zh) 一种动态内容传送方法与系统
CN101047705A (zh) 用户代理档案信息的上报处理方法、服务器及其用户终端
CN101043431A (zh) 一种缩短多方通话业务建立时间的方法与系统
CN1794634A (zh) 一种呈现业务系统及发布和获取呈现信息的方法
CN101076198A (zh) 多媒体彩像业务实现方法
CN101047655A (zh) 一种基于ip传输的消息路由方法和系统
CN1503537A (zh) 服务控制网络系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant