著录项信息
专利名称 | 一种即时消息发送、接收方法、装置和系统 |
申请号 | CN201010266503.5 | 申请日期 | 2010-08-30 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-07-20 | 公开/公告号 | CN102130846A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/58 | IPC分类号 | H;0;4;L;1;2;/;5;8;;;H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市前海深港合作区前湾一路1号A栋201室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳市智通天下科技服务有限公司 | 当前权利人 | 深圳市智通天下科技服务有限公司 |
发明人 | 黄蓉军;刘同兵;荣多君 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明实施例提供了一种即时消息发送方法,包括接收输入的即时消息;查找由即时消息的发送方会话初始化协议SIP地址和接收方SIP地址共同标识的SIP早期对话;根据SIP早期对话的对话特征参数生成SIP更新消息或者SIP信息消息,其中,SIP更新消息或者SIP信息消息包含预设头域,预设头域中包含即时消息;发送生成的SIP更新消息或者SIP信息消息。本发明实施例还提供了一种即时消息发送、接收方法、装置和系统。本发明实施例将即时消息装载在根据SIP早期对话的对话特征参数而构建的SIPUPDATE消息或SIPINFO消息中发送,因此可在会话建立之前即开始传送即时消息。
一种即时消息发送、接收方法、装置和系统\n技术领域\n[0001] 本发明涉及即时通信技术,尤其涉及一种基于SIP的即时消息发送、接收、收发方法、装置和系统。\n背景技术\n[0002] 即时通信(Instant Messaging,IM)技术的出现大大改变了互联网上的消息交互方式。经过近几年的发展,基于即时通信技术的即时通信工具已成为互联网上的首选通讯工具。\n[0003] SIP(Session Initiation Protocol, 会 话 初 始 化 协 议 ) 是 由IETF(InternetEngineering Task Force,互联网工程任务组)提出的IP(Internet Protocol,网际协议)电话信令协议。由于其具有简单、开放、高扩展性等诸多优点,近年来,越来越多的即时通信公司开始采用SIP作为信令协议来实现其即时通信业务。\n[0004] 然而,IP电话与即时通信在使用习惯方面存在的差异,使得在将面向IP电话而开发的SIP应用于即时通信时会出现一定的兼容性问题。在多媒体通信过程中,SIP的任务是建立多媒体会话,在多媒体会话建立成功后,由专门的多媒体会话协议来负责多媒体内容的传输。在IP电话业务中,呼叫建立过程(对应于主叫开始拨号到被叫应答这一区间)由SIP负责完成,被叫应答标志着会话建立成功,接下来真正的语音会话将由专门的语音会话协议来负责完成。换句话说,SIP只负责建立会话,而不负责传送真正的语音会话。然而,即时通信业务不存在明显的呼叫建立过程和多媒体会话过程,即时通信过程的发起通常是由发起方发送第一条即时消息来触发的,这就要求SIP能够在会话建立前即可传送即时消息。此外,依照即时通信的使用习惯,发送方经常会在接收方回复之前发送多条即时消息,但接收方回复之前即时通信会话尚未建立,这进一步要求SIP能够在会话建立之前便能够传送即时消息。\n[0005] 发明人在实现本发明的过程中发现,现有技术一般是通过在即时通信软件中增加专门的处理流程以提前自动建立会话,来解决上述兼容性问题的。不难理解,这种调整上层即时通信软件来使其适应底层SIP协议栈软件以此来解决底层软件共性问题的方式势必导致增加即时通信软件的开发难度、开发成本和软件复杂度。\n发明内容\n[0006] 有鉴于此,实有必要提供一种可在会话建立之前传送即时消息的即时消息发送方法。\n[0007] 同时,提供一种可在会话建立之前传送即时消息的即时消息接收方法。\n[0008] 同时,提供一种可在会话建立之前传送即时消息的即时消息发送装置。\n[0009] 同时,提供一种可在会话建立之前传送即时消息的即时消息接收装置。\n[0010] 同时,提供一种可在会话建立之前传送即时消息的即时消息收发系统。\n[0011] 一种即时消息发送方法,包括:\n[0012] 接收输入的即时消息;\n[0013] 查找由所述即时消息的发送方会话初始化协议SIP地址和接收方SIP地址共同标识的SIP早期对话;\n[0014] 根据所述SIP早期对话的对话特征参数生成SIP更新消息或者SIP信息消息,其中,所述SIP更新消息或者所述SIP信息消息包含预设头域,所述预设头域中包含所述即时消息;\n[0015] 发送生成的所述SIP更新消息或者所述SIP信息消息。\n[0016] 一种即时消息接收方法,包括:\n[0017] 接收SIP更新消息或者SIP信息消息,其中,所述SIP更新消息或者所述SIP信息消息包含预设头域,所述预设头域中包含即时消息,且所述SIP更新消息或者所述SIP信息消息是根据SIP早期对话的对话特征参数生成的,所述SIP早期对话由所述即时消息的发送方SIP地址和接收方SIP地址共同标识;\n[0018] 从所述SIP更新消息或者所述SIP信息消息的所述预设头域中提取所述即时消息。\n[0019] 一种即时消息发送装置,包括:\n[0020] 输入接口,用于接收输入的即时消息;\n[0021] 查找模块,用于查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话;\n[0022] 生成模块,用于根据所述SIP早期对话的对话特征参数生成SIP更新消息或者SIP信息消息,其中,所述SIP更新消息或者所述SIP信息消息包含预设头域,所述预设头域中包含所述即时消息;\n[0023] 发送模块,用于发送生成的所述SIP更新消息或者所述SIP信息消息。\n[0024] 一种即时消息接收装置,包括:\n[0025] 接收模块,用于接收SIP更新消息或者SIP信息消息,其中,所述SIP更新消息或者所述SIP信息消息包含预设头域,所述预设头域中包含即时消息,且所述SIP更新消息或者所述SIP信息消息是根据SIP早期对话的对话特征参数生成的,所述SIP早期对话由所述即时消息的发送方SIP地址和接收方SIP地址共同标识;\n[0026] 提取模块,用于从所述SIP更新消息或者所述SIP信息消息的所述预设头域中提取所述即时消息。\n[0027] 一种即时消息收发系统,包括:\n[0028] 发送装置,用于接收输入的即时消息,查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话,根据所述SIP早期对话的对话特征参数生成SIP更新消息或者SIP信息消息,以及发送所述SIP更新消息或者所述SIP信息消息,其中,所述SIP更新消息或者所述SIP信息消息包含预设头域,所述预设头域中包含所述即时消息;\n[0029] 接收装置,用于接收所述SIP更新消息或者所述SIP信息消息,从所述SIP更新消息或者所述SIP信息消息的所述预设头域中提取所述即时消息。\n[0030] 本发明实施例将即时消息装载在根据SIP早期对话的对话特征参数而构建的SIP UPDATE消息或SIP INFO消息中发送,因此可在会话建立之前即开始传送即时消息。此外,相比将即时消息装载在消息体中传送的方法,将即时消息装载在SIP UPDATE消息或者SIP INFO消息的预设头域中进行发送的方法仅需对SIP协议的信息解析方式进行改进,而无需对多种其他协议(这些协议用于解析消息体中的信息)的信息解析方式进行改进,因此改进的范围更小,产生的改进成本更低。\n附图说明\n[0031] 图1是依据本发明一实施例的即时消息发送方法的流程图;\n[0032] 图2是依据本发明一实施例的即时消息发送方法的流程图;\n[0033] 图3是依据本发明一实施例的即时消息发送方法的流程图;\n[0034] 图4是依据本发明一实施例的即时消息接收方法的流程图;\n[0035] 图5是依据本发明一实施例的即时消息收发方法的流程图;\n[0036] 图6是依据本发明一实施例的即时消息发送装置的逻辑结构框图;\n[0037] 图7是依据本发明一实施例的即时消息发送装置的逻辑结构框图;\n[0038] 图8是依据本发明一实施例的即时消息接收装置的逻辑结构框图;\n[0039] 图9是依据本发明一实施例的即时消息收发系统的逻辑结构框图;\n[0040] 图10是依据本发明一实施例的会话建立过程的信令图。\n具体实施方式\n[0041] 图1是依据本发明一实施例的即时消息发送方法100的流程图,现具体说明如下。\n[0042] 步骤102,接收输入的即时消息;\n[0043] 步骤104,查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话(Early Dialog);\n[0044] 具体说来,上述发送方SIP地址和接收方SIP地址可以是发送方SIP URI(Uniform Resource Identifier,统一资源标识符)和接收方SIP URI。\n[0045] 此外,对于构建的每一SIP早期对话,可为该SIP早期对话生成一条对话记录,该对话记录中包含该SIP早期对话的对话标识、该SIP早期对话的对话双方的SIP地址。如此一来,便可在查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话时,查找所述发送方SIP地址和接收方SIP地址共同对应的SIP早期对话的对话标识。\n[0046] 步骤106,根据所述SIP早期对话的对话特征参数生成SIP更新(UPDATE)消息或者SIP信息(INFO)消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含所述即时消息;\n[0047] 具体来说,对于构建的每一SIP早期对话,可记录该SIP早期对话的对话特征参数,该对话特征参数至少包括呼叫标识(包含在CALL-ID头域中)、发送方SIP地址(包含在From头域中)、发送方标签(From tag参数)、接收方SIP地址(包含在To头域中)和接收方标签(To tag参数)。同时,将这一组对话特征参数与该SIP早期对话的对话标识相关联。如此一来,在查找到所述发送方SIP地址和接收方SIP地址共同对应的SIP早期对话的对话标识时,可直接通过该对话标识查找到对应的对话特征参数。\n[0048] SIP UPDATE消息和SIP INFO消息均包含头域部分和消息体部分两部分,其中,头域部分中包含多个头域,各头域中包含的信息根据SIP协议进行解析,而消息体中包含的信息则根据其他协议(例如但不限于SDP(Session DescriptionProtocol,会话描述协议))进行解析。如果将即时消息装载在消息体中,则多种相关的其他协议的信息解析方式都需要进行对应的改进。而增加预设头域来装载即时消息,则可仅对SIP协议的信息解析方式进行对应的改进,因此改进涉及的范围更小。\n[0049] 步骤108,发送生成的所述SIP UPDATE消息或者所述SIP INFO消息,随后方法100结束。\n[0050] 本发明实施例将即时消息装载在根据SIP早期对话的对话特征参数而构建的SIP UPDATE消息或SIP INFO消息中发送,因此可在会话建立之前即开始传送即时消息。此外,相比将即时消息装载在消息体中传送的方法,将即时消息装载在SIP UPDATE消息或者SIP INFO消息的预设头域中进行发送的方法仅需对SIP协议的信息解析方式进行改进,而无需对多种其他协议(这些协议用于解析消息体中的信息)的信息解析方式进行改进,因此改进的范围更小,产生的改进成本更低。\n[0051] 图2是依据本发明一实施例的即时消息发送方法200的流程图。在方法200中,步骤202、204、206和208分别对应方法100中的步骤102、104、106和108,方法200与图1所示的方法100之间的区别在于增加了步骤2032、2034和2036。\n[0052] 步骤202,接收输入的即时消息;\n[0053] 步骤2032,查找由所述发送方SIP地址和所述接收方SIP地址共同标识的MSRP(The Message Session Relay Protocol,消息会话中继协议)会话;\n[0054] 具体来说,对于构建的每一MSRP会话,可为该MSRP会话生成一条会话记录,该会话记录中包含该MSRP会话的会话标识、该MSRP会话的会话双方的SIP地址。如此一来,便可在查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的MSRP会话时,查找所述发送方SIP地址和接收方SIP地址共同对应的MSRP会话的对话标识。\n[0055] 步骤2034,判断是否查找到所述MSRP会话,若是,则转到步骤2036,否则转到步骤\n204;\n[0056] 如上文所述,若在步骤2034判断查找到所述MSRP会话,则方法200转到步骤\n2036,通过所述MSRP会话发送所述即时消息,随后,方法200结束。\n[0057] 如上文所述,若在步骤2034判断未找到所述MSRP会话,则方法200转到步骤204,查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话,随后,方法200转到步骤206。\n[0058] 步骤206,根据所述SIP早期对话的对话特征参数生成SIP UPDATE消息或者SIP INFO消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含所述即时消息,随后,方法200转到步骤208。\n[0059] 步骤208,发送生成的所述SIP UPDATE消息或者所述SIP INFO消息,随后方法200结束。\n[0060] SIP是一种信令协议,其设计目的是用于建立媒体会话。真正的媒体数据是通过媒体会话类协议(例如MSRP协议)来传送的,SIP在建立会话的过程中原本并不负责传送媒体数据。因此,在收到待发送的即时消息时,若存在MSRP会话,则应通过MSRP会话来传送即时消息;只有在不存在MSRP会话但存在SIP早期对话的情况下,才需要通过方法200提供的技术方案来传送即时消息。\n[0061] 图3是依据本发明一实施例的即时消息发送方法300的流程图。在方法300中,步骤302、304、306和308分别对应方法100中的步骤102、104、106和108,方法300与图1所示的方法100之间的区别在于增加了步骤305、310、312和314。\n[0062] 步骤302,接收输入的即时消息;\n[0063] 步骤304,查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话;\n[0064] 步骤305,判断是否查找到所述SIP早期对话,若是,则转到步骤306,否则转到步骤310。\n[0065] 如上文所述,若在步骤305判断查找到所述SIP早期对话,则转到步骤306,根据所述SIP早期对话的对话特征参数生成SIP UPDATE消息或者SIP INFO消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含所述即时消息。随后,方法300转到步骤308。\n[0066] 步骤308,发送生成的所述SIP UPDATE消息或者所述SIP INFO消息,随后方法300结束。\n[0067] 如上文所述,若在步骤305判断未找到所述SIP早期对话,则转到步骤310,根据所述发送方SIP地址和所述接收方SIP地址生成SIP邀请(INVITE)消息,其中,所述SIP INVITE消息包含上述预设头域,所述预设头域中包含所述即时消息,随后方法300转到步骤312。\n[0068] 步骤312,发送所述SIP INVITE消息,随后方法300转到步骤314;\n[0069] 步骤314,接收响应所述SIP INVITE消息的SIP临时应答,根据所述SIP临时应答建立所述SIP早期对话,随后方法300结束。\n[0070] 具体说来,上述SIP临时应答可以是SIP应答码为183的SIP会话进度消息或者SIP应答码为180的SIP回铃消息。\n[0071] 如上文所述,对于构建的SIP早期对话,将为其生成一对话记录,同时记录其对话特征参数。相关内容已在前文进行了详细的描述,因此此处不再赘述。\n[0072] 可选的,在步骤314之后,方法300还可包括,在收到响应所述SIP INVITE消息的SIP成功处理(SIP 200OK)消息时,将所述SIP早期对话更新为SIP已确认(Confirmed)对话,并根据所述SIP 200OK消息建立所述MSRP会话。\n[0073] 具体来说,可在例如但不限于接收方用户响应发送方用户发送的即时消息而输入回复的即时消息时,触发发出SIP 200OK消息。\n[0074] 如上文所述,对于构建的MSRP会话,将为其生成一会话记录。相关内容已在前文进行了详细的描述,因此此处不再赘述。\n[0075] 发送方和接收方之间不存在SIP早期对话,说明发送方和接收方之间在近期内未传送过即时消息。在此情况下,应尝试在发送方和接收方之间建立MSRP会话,以便通过MSRP会话来在发送方和接收方之间传送即时消息。图3所示的方法300示出了在建立MSRP会话的各个阶段,输入的即时消息是如何传送的。而图2所示的方法200则示出了在MSRP会话建立之后(即在已经存在MSRP会话的情况下),输入的即时消息是如何传送的。因此通过将图2和图3所示的方法200和300合并,便可得到在发送方和接收方之间建立MSRP会话前后的各个阶段,输入的即时消息是如何传送的。\n[0076] 图4是依据本发明一实施例的即时消息接收方法400的流程图。\n[0077] 步骤402,接收SIP UPDATE消息或者SIP INFO消息,其中,所述SIPUPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含即时消息,且所述SIP UPDATE消息或所述SIP INFO消息是根据SIP早期对话的对话特征参数生成的,所述SIP早期对话由所述即时消息的发送方SIP地址和接收方SIP地址共同标识;\n[0078] 与发送方SIP地址、接收方SIP地址和对话特征参数等技术细节有关的内容已经在前文进行了详细的描述,因此此处不再赘述。\n[0079] 步骤404,从上述SIP UPDATE消息或者SIP INFO消息的预设头域中提取所述即时消息,随后,方法400结束。\n[0080] 本发明实施例将即时消息装载在根据SIP早期对话的对话特征参数而构建的SIP UPDATE消息或SIP INFO消息中发送,因此可在会话建立之前即开始传送即时消息。此外,相比将即时消息装载在消息体中传送的方法,将即时消息装载在SIP UPDATE消息或者SIP INFO消息的预设头域中进行发送的方法仅需对SIP协议的信息解析方式进行改进,而无需对多种其他协议(这些协议用于解析消息体中的信息)的信息解析方式进行改进,因此改进的范围更小,产生的改进成本更低。\n[0081] 图5是依据本发明一实施例的即时消息收发方法500的流程图。\n[0082] 步骤502,即时消息发送装置接收输入的即时消息;\n[0083] 步骤504,即时消息发送装置查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话;\n[0084] 步骤506,即时消息发送装置根据所述SIP早期对话的对话特征参数生成SIP UPDATE消息或者SIP INFO消息,其中,所述SIP UPDATE消息或所述SIPINFO消息包含预设头域,所述预设头域中包含所述即时消息;\n[0085] 步骤508,即时消息发送装置发送所述SIP UPDATE消息或者所述SIP INFO消息;\n[0086] 步骤510,即时消息接收装置接收所述SIP UPDATE消息或者所述SIP INFO消息;\n[0087] 步骤512,即时消息接收装置提取所述即时消息,随后方法500结束。\n[0088] 不难理解,方法500是由方法100和方法400结合生成,有关方法100和方法400的技术内容已经在前文进行了详细的描述,因此此处不再赘述。类似的,还可将方法200、方法300以及方法200与方法300的组合方法与方法400相结合,以获得新的即时消息收发方法。\n[0089] 本发明实施例将即时消息装载在根据SIP早期对话的对话特征参数而构建的SIP UPDATE消息或SIP INFO消息中发送,因此可在会话建立之前即开始传送即时消息。此外,相比将即时消息装载在消息体中传送的方法,将即时消息装载在SIP UPDATE消息或者SIP INFO消息的预设头域中进行发送的方法仅需对SIP协议的信息解析方式进行改进,而无需对多种其他协议(这些协议用于解析消息体中的信息)的信息解析方式进行改进,因此改进的范围更小,产生的改进成本更低。\n[0090] 应注意,本领域的技术人员应当明白,当发送方与接收方之间停止即时通信(即停止传送即时消息)后,发送方与接收方之间的对话记录、会话记录等将被删除。\n[0091] 图6是依据本发明一实施例的即时消息发送装置600的逻辑结构框图。如图6所示,装置600包括输入接口602、查找模块604、生成模块606和发送模块608。\n[0092] 输入接口602用于接收输入的即时消息;\n[0093] 查找模块604用于查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话;\n[0094] 生成模块606用于根据所述SIP早期对话的对话特征参数生成SIP UPDATE消息或者SIP INFO消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含所述即时消息;\n[0095] 发送模块608用于发送所述SIP UPDATE消息或者所述SIP INFO消息。\n[0096] 在具体实现过程中,输入接口602、查找模块604、生成模块606和发送模块608所执行的操作分别对应于方法100中的步骤102~108。方法100中的各个步骤以及各个步骤所涉及的技术内容的细节已经在前文进行了详细的描述,因此此处不再赘述。\n[0097] 本发明实施例将即时消息装载在根据SIP早期对话的对话特征参数而构建的SIP UPDATE消息或SIP INFO消息中发送,因此可在会话建立之前即开始传送即时消息。此外,相比将即时消息装载在消息体中传送的方法,将即时消息装载在SIP UPDATE消息或者SIP INFO消息的预设头域中进行发送的方法仅需对SIP协议的信息解析方式进行改进,而无需对多种其他协议(这些协议用于解析消息体中的信息)的信息解析方式进行改进,因此改进的范围更小,产生的改进成本更低。\n[0098] 可选的,查找模块604还用于查找由所述发送方SIP地址和所述接收方SIP地址共同标识的MSRP会话,在找到所述MSRP会话时,控制所述发送模块608通过所述MSRP会话发送所述即时消息;在未找到所述MSRP会话时,查找所述SIP早期对话。查找模块604在这种情况下所执行的操作对应于方法200中描述的步骤2032、2034和2036。有关这些步骤的内容已经在前文进行了详细的描述,因此此处不再赘述。\n[0099] 图7是依据本发明一实施例的即时消息发送装置700的逻辑结构框图。如图7所示,装置700包括输入接口702、查找模块704、生成模块706、发送模块708、接收模块710和构建模块712。相比于图6所示的即时消息发送装置700,图7所示的装置700增加了接收模块710和构建模块712。\n[0100] 输入接口702,用于接收输入的即时消息;\n[0101] 查找模块704,用于查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话;\n[0102] 生成模块706,用于根据所述SIP早期对话的对话特征参数生成SIPUPDATE消息或者SIP INFO消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含所述即时消息;\n[0103] 发送模块708,用于发送所述SIP UPDATE消息或者所述SIP INFO消息。\n[0104] 同时,生成模块706还用于在所述查找模块704未找到所述SIP早期对话时,根据所述发送方SIP地址和所述接收方SIP地址生成SIP INVITE消息,并控制所述发送模块\n708发送所述SIP INVITE消息,其中,所述SIP INVITE消息包含上述预设头域,所述预设头域中包含所述即时消息;\n[0105] 接收模块710用于接收响应所述SIP INVITE消息而返回的SIP临时应答,并将所述SIP早期对话更新为SIP已确认对话;\n[0106] 构建模块712用于根据所述SIP临时应答构建所述SIP早期对话。\n[0107] 可选的,接收模块710还用于接收响应所述SIP INVITE消息的SIP 200OK消息。\n在此情况下,构建模块712还用于根据所述SIP 200OK消息构建所述MSRP会话。\n[0108] 接收模块710和构建模块712所执行的操作已经在上文结合方法300中的步骤\n305、步骤310~314进行了详细的描述,因此此处不再赘述。\n[0109] 如上文所述,可通过将图2和图3所示的方法200和300合并,来获得在发送方和接收方之间建立MSRP会话前后的各个阶段传送即时消息的具体方法。同理,也可将图6和图7所示的即时消息发送装置合并,以便在发送方和接收方之间建立MSRP会话前后的各个阶段均可传送即时消息。\n[0110] 图8是依据本发明一实施例的即时消息接收装置800的逻辑结构框图。如图8所示,装置800包括接收模块802和提取模块804。\n[0111] 接收模块802用于接收SIP UPDATE消息或者SIP INFO消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含即时消息,且所述SIP UPDATE消息或所述SIP INFO消息是根据SIP早期对话的对话特征参数生成的,所述SIP早期对话由所述即时消息的发送方SIP地址和接收方SIP地址共同标识;\n[0112] 提取模块804用于从SIP UPDATE消息或所述SIP INFO消息的预设头域中提取所述即时消息。\n[0113] 上述即时消息发送装置、即时消息接收装置可以是一个主机设备,例如PC或移动终端,主机设备包括存储器以存储执行本发明的代码,一个或多个微处理器以执行所述代码,及一个通信接口提供网络访问。\n[0114] 图9是依据本发明一实施例的即时消息收发系统900的逻辑结构框图。如图9所示,系统900包括发送装置902和接收装置904。\n[0115] 发送装置902用于接收输入的即时消息,查找由所述即时消息的发送方SIP地址和接收方SIP地址共同标识的SIP早期对话,根据所述SIP早期对话的对话特征参数生成SIP UPDATE消息或者SIP INFO消息,并发送所述SIPUPDATE消息或者所述SIP INFO消息,其中,所述SIP UPDATE消息或所述SIP INFO消息包含预设头域,所述预设头域中包含所述即时消息;\n[0116] 接收装置904用于接收所述SIP UPDATE消息或者所述SIP INFO消息,从所述SIP UPDATE消息或者所述SIP INFO消息的预设头域中提取所述即时消息。\n[0117] 不难理解,系统900是由装置600和装置800结合生成,有关装置600和装置800的技术内容已经在前文进行了详细的描述,因此此处不再赘述。类似的,还可将装置700以及装置600与装置700的组合装置与装置800相结合,以获得新的即时消息收发系统。\n[0118] 图10是依据本发明一实施例的会话建立过程1000的信令图。图10所示的会话建立过程1000发生在发送方即时消息收发系统(下文简称发送方IM系统)和接收方即时消息收发系统(下文简称接收方IM系统)之间。在图10所示的场景中,发送方用户与接收方用户之间首次进行即时通信(或者前次即时通信过程已结束),因此发送方用户与接收方用户之间既不存在MSRP会话,也不存在SIP早期对话。\n[0119] 步骤1002,在接收到发送方用户输入的即时消息(例如,How are you?)后,发送方IM系统首先判断是否存在由发送方SIP地址和接收方SIP地址共同标识的MSRP会话。\n有关查找所述MSRP会话的相关内容已经在前文结合图1进行了详细的描述,因此此处不再赘述。由于发送方用户与接收方用户之间首次进行即时通信,因此不存在所述MSRP会话。\n接下来,发送方IM系统继续判断是否存在由发送方SIP地址和接收方SIP地址共同标识的SIP早期对话。有关查找所述SIP早期对话的相关内容已经在前文结合图1进行了详细的描述,因此此处不再赘述。同理,由于发送方用户与接收方用户之间首次进行即时通信,因此不存在所述SIP早期对话。在判定既不存在对应的MSRP会话,又不存在对应的SIP早期对话的情况下,发送方IM系统将根据发送方SIP地址和接收方SIP地址生成SIP INVITE消息,其中,该SIP INVITE消息包含预设头域,所述预设头域中包含发送方输入的即时消息(How are you?)。\n[0120] 在具体实现过程中,上述SIP INVITE消息可包含例如但不限于如下内容:\n[0121] \n[0122] 上述SIP INVITE消息的头域部分包含建立SIP对话所需的部分对话特征参数,例如Call-ID头域、From头域及From tag参数和To头域中的值等,其中Call-ID头域中记录了本次对话的呼叫标识,From头域中记录了发送方用户的SIP地址,From tag参数为发送方标签,To头域中记录了接收方用户的SIP地址。此外,SIP INVITE消息中还包含预设头域SUBJECT,该预设头域SUBJECT中包含发送方用户发往接收方用户的即时消息(How are you?)。上述SIP INVITE消息中还包含Content-Type头域,该Content-Type头域用于定义如何解释消息体部分包含的信息,例如,Content-Type头域表明应当使用SDP(Session DescriptionProtocol,会话描述协议)来解释消息体部分包含的信息。\n[0123] 上述SIP INVITE消息的消息体部分则包含了建立MSRP会话所需的参数,例如发送方用户的MSRP地址、端口等。\n[0124] 步骤1004,在收到发送方IM系统发出的SIP INVITE消息后,接收方IM系统返回SIP会话进度消息(Session Progress,SIP应答码为183)。该消息用于提示建立SIP对话的进度信息。\n[0125] SIP会话进度消息是SIP中定义的一种临时应答(Provisional Response)。在具体实现过程中,作为替代的,除了可返回SIP会话进度消息以外,还可返回SIP中规定的其他适合的消息,例如但不限于SIP回铃消息(Ringing,SIP应答码为180)。\n[0126] 此外,在收到发送方IM系统发出的SIP INVITE消息后,接收方IM系统将从该SIP INVITE消息的SUBJECT头域中提取即时消息,以便向接收方用户显示。\n[0127] 在具体实现过程中,上述SIP会话进度消息可包含例如但不限于如下内容:\n[0128] SIP/2.0 183 Session Progress\n[0129] Via:SIP/2.0/UDP 10.137.20.88:5060;branch=z9hG4bKx433lxw6cl3p5bdb665lq6dal\n[0130] From:;tag=d0029959\n[0131] To:tag=409880035\n[0132] Call-ID:326508DC7147CE41A7F67220F50B433F@10.137.20.129\n[0133] CSeq:1 INVITE\n[0134] Contact:\n[0135] Server:IM-client/OMA1.0\n[0136] Allow:ACK,BYE,CANCEL,INFO,INVITE,MESSAGE,NOTIFY,OPTIONS,PRACK,UPDATE,SUBSCRIBE\n[0137] Content-Length:0\n[0138] 上述SIP会话进度消息中使用了SIP INVITE消息中携带的会话特征参数,例如Call-ID头域的值、From头域的值、From tag的值、To头域的值。特别的,上述SIP会话进度消息的To头域中还包含接收方标签(To tag)参数。如此一来,发送方IM系统和接收方IM系统之间便交换了必要的对话特征参数,从而成功构建发送方SIP地址和接收方SIP地址所共同对应的SIP早期对话。\n[0139] 若发送方用户在SIP早期对话阶段输入后续的即时消息(例如,Are \nyouthere?),则发送方IM系统依然首先查找由发送方SIP地址和接收方SIP地址共同标识的MSRP会话。由于此时仍然不存在MSRP会话,因此发送方IM系统接下来将查找由发送方SIP地址和接收方SIP地址共同标识的SIP早期对话。由于此时SIP早期对话已建立,因此在步骤1006,发送方IM系统将根据该SIP早期对话的对话特征参数生成SIP UPDATE消息,并将后续输入的即时消息封装在该SIP UPDATE消息的预设头域(例如,SUBJECT头域)中发往接收方IM系统。\n[0140] 如上文所述,在具体实现过程中,作为替代的,还可例如但不限于SIP INFO消息等来替代SIP UPDATE消息。\n[0141] 在具体实现过程中,上述SIP UPDATE消息可包含例如但不限于如下内容:\n[0142] UPDATE sip:alice@10.138.17.34:5060 SIP/2.0\n[0143] Via:SIP/2.0/UDP 10.137.20.88:5060;branch=z9hG4bKw9a6l559q645p9abx9qq93bdp\n[0144] Call-ID:326508DC7147CE41A7F67220F50B433F@10.137.20.129\n[0145] From:;tag=d0029959\n[0146] To:tag=409880035\n[0147] CSeq:2 UPDATE\n[0148] Max-Forwards:67\n[0149] Subject:Are you there?\n[0150] Content-Length:0\n[0151] 由上述SIP UPDATE消息可见,该SIP UPDATE消息中包含的CALL-ID头域、From头域、From tag、To头域和To tag的值与前述SIP INVITE消息和SIP会话进度消息中对应头域和参数的值相同。此外,该SIP UPDATE消息的预设头域SUBJECT中还包含后续输入的即时消息(Are you there?)。\n[0152] 步骤1008,在收到发送方IM系统发出的SIP UPDATE消息后,接收方IM系统将返回针对该SIP UPDATE消息的成功处理消息(SIP 200OK)。\n[0153] 具体说来,在收到发送方IM系统发出的SIP UPDATE消息后,接收方IM系统将从该SIP UPDATE消息的SUBJECT头域中提取发送方用户后续输入的即时消息(Are you there?),以便向接收方用户显示。\n[0154] 在具体实现过程中,发送方用户在SIP早期对话阶段输入的后续即时消息都可以通过SIP UPDATE消息进行传送。\n[0155] 在具体实现过程中,上述SIP 200OK消息可包含例如但不限于如下内容:\n[0156] SIP/2.0 200OK\n[0157] Via:SIP/2.0/UDP 10.137.20.88:5060;branch=z9hG4bKw9a6l559q645p9abx9qq93bdp\n[0158] From:;tag=d0029959\n[0159] To:tag=409880035\n[0160] Call-ID:326508DC7147CE41A7F67220F50B433F@10.137.20.129\n[0161] CSeq:2UPDATE\n[0162] Content-Length:0\n[0163] 若接收方用户对发送方用户发送的即时消息进行回复(可视为对发送方发出的SIP INVITE消息进行回复),例如,接收方用户输入Fine,and you?,则在步骤1010,接收方IM系统将根据发送方SIP地址和接收方SIP地址共同标识的SIP早期对话的对话特征参数构建SIP成功处理消息(SIP 200OK)。\n[0164] 在具体实现过程中,上述SIP 200OK消息可包含例如但不限于如下内容:\n[0165] SIP/2.0 200OK\n[0166] Via:SIP/2.0/UDP 10.137.20.88:5060;branch=z9hG4bKx433lxw6cl3p5bdb665lq6dal\n[0167] From:;tag=d0029959\n[0168] To:tag=409880035\n[0169] Call-ID:326508DC7147CE41A7F67220F50B433F@10.137.20.129\n[0170] CSeq:1 INVITE\n[0171] Contact:\n[0172] Server:IM-client/OMA1.0\n[0173] Allow:ACK,BYE,CANCEL,INFO,INVITE,MESSAGE,NOTIFY,OPTIONS,PRACK,UPDATE,SUBSCRIBE\n[0174] Content-Type:application/sdp\n[0175] Content-Length:208\n[0176] v:0\n[0177] o:-28908445262890842807 IN IP4 10.138.17.34\n[0178] s:-\n[0179] c:IN IP4 10.138.17.34\n[0180] t:00\n[0181] m:message 13003 TCP/MSRP*\n[0182] a:accept-types:message/cpim\n[0183] a:path:msrp://10.138.17.34:13003/959680203;tcp\n[0184] 由上述SIP 200OK消息可见,该消息的消息体中包含了构建MSRP会话所需的接收方MSRP地址、端口等重要参数,但该消息中不包含接收方用户回复的即时消息的内容。\n在下文中将要说明,该回复的即时消息将在MSRP会话中传送。经由上述过程,通过SIP INVITE消息和响应该SIP INVITE消息的SIP 200OK消息,发送方IM系统和接收方IM系统成功交换了MSRP地址和端口等构建MSRP会话所必须的会话参数,从而可以成功建立MSRP会话。\n[0185] 步骤1012,在收到接收方IM系统返回的针对SIP INVITE消息的成功处理消息后,发送方IM系统向接收方IM系统返回SIP ACK消息。此时,发送方IM系统将SIP早期对话变更为SIP已确认对话(Confirmed Dialog)。与此同时,发送方IM系统根据发送方用户MSRP地址和端口以及成功处理消息中返回的接收方用户MSRP地址和端口构建MSRP会话。\n[0186] 在步骤1014,在收到发送方IM系统发出的ACK消息后,接收方IM系统使用发送方用户MSRP地址和端口以及和接收方用户MSRP地址和端口构建MSRP会话。此后,接收方用户此前输入的回复消息(即Fine!And you?)将通过该MSRP会话进行传送。\n[0187] 例如,接收方IM系统将通过MSRP SEND(发送)消息发送回复消息,该MSRP SEND消息可包含例如但不限于如下内容:\n[0188] MSRP Asds6P5oLib21T7yv3oX9UBv0SEND\n[0189] To-Path:msrp://10.138.20.88:13005/876766734;tcp\n[0190] From-Path:msrp://10.138.17.34:13003/959680203;tcp\n[0191] Message-ID:FzW0rGgGgc7HH T zBLylY3c.I0\n[0192] Byte-Range:1-14/14\n[0193] Content-Type:message/CPIM\n[0194] From:\n[0195] To:\n[0196] content-type:text/plain;charset=UTF-8\n[0197] content-transfer-encoding:plain\n[0198] Fine!And you?\n[0199] -------Asds6P5oLib21T7yv3oX9UBv0$\n[0200] 其中,接收方用户输入的回复IM消息:Fine!And you?将包含在MSRPSEND消息的消息体中。\n[0201] 在此之后,若发送方用户继续输入即时消息,则由于已经存在MSRP会话,因此该即时消息将通过MSRP会话发送。\n[0202] 本领域普通技术人员可知,上述方法中的全部或部分步骤可以通过程序指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质如ROM、RAM和光盘等。\n[0203] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。\n凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2020-08-14
未缴年费专利权终止
IPC(主分类): H04L 12/58
专利号: ZL 201010266503.5
申请日: 2010.08.30
授权公告日: 2012.11.14
- 2018-01-02
专利实施许可合同备案的生效
IPC(主分类): H04L 12/58
合同备案号: 2017440020097
专利号: ZL 201010266503.5
申请日: 2010.08.30
让与人: 深圳市智通天下科技服务有限公司
受让人: 深圳中星微高科技有限公司
发明名称: 一种即时消息发送、接收方法、装置和系统
申请公布日: 2011.07.20
授权公告日: 2012.11.14
许可种类: 普通许可
备案日期: 2017.12.11
- 2017-09-08
专利权的转移
登记生效日: 2017.08.18
专利权人由华为技术有限公司变更为深圳市智通天下科技服务有限公司
地址由518129 广东省深圳市龙岗区坂田华为总部办公楼变更为518053 广东省深圳市前海深港合作区前湾一路1号A栋201室
- 2012-11-14
- 2011-08-31
实质审查的生效
IPC(主分类): H04L 12/58
专利申请号: 201010266503.5
申请日: 2010.08.30
- 2011-07-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |