CN1984129B - 一种用sip协议实现呈现和即时消息业务的系统及其方法 - Google Patents
一种用sip协议实现呈现和即时消息业务的系统及其方法 Download PDFInfo
- Publication number
- CN1984129B CN1984129B CN2005101264722A CN200510126472A CN1984129B CN 1984129 B CN1984129 B CN 1984129B CN 2005101264722 A CN2005101264722 A CN 2005101264722A CN 200510126472 A CN200510126472 A CN 200510126472A CN 1984129 B CN1984129 B CN 1984129B
- Authority
- CN
- China
- Prior art keywords
- session initiation
- initiation protocol
- message
- server
- stack module
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种用SIP协议实现呈现和即时消息业务的系统及其方法,其中,该方法包括:客户端SIP协议栈模块通过SIP协议中定义的INFO方法发送一消息给服务器SIP协议栈模块,服务器SIP协议栈模块通过SIP协议中定义的200 OK方法回应消息;服务器SIP协议栈模块通过SIP协议中定义的INFO方法发送一消息给客户端SIP协议栈模块,客户端SIP协议栈模块通过SIP协议中定义的200 OK方法回应消息。本发明有效解决了现有技术中存在的使用HTTP协议所带来的实时性差和带宽资源浪费严重的问题;与现有技术相比,采用本发明所述方法能达到真正实时地进行PS和IM业务的目的,同时节约了网络带宽资源。
Description
技术领域
本发明涉及会话发起协议SIP应用领域,特别是涉及一种用SIP协议实现呈现和即时消息等即时通信业务的系统及其方法。
背景技术
随着即时通信业务的不断发展,用户群的不断扩大,各种使用呈现(Presence,以下简称PS)和即时消息(Instant Message,以下简称IM)业务的即时通信软件也是层出不穷,其中以MSN和QQ为代表。截至2005年8月,MSN的注册用户已超过700万,而QQ的注册用户数则已突破3亿。由此可见,即时通信业务在人们的工作和日常生活中正扮演着越来越重要的角色。
所谓PS业务,指的是用户通过客户端软件登陆PS服务器后,可以从服务器上取得用户的好友列表及其好友的当前状态;所谓IM业务,指的是用户通过客户端软件登陆IM服务器后,可以通过服务器向其他在线好友发送即时消息。另外,PS和IM服务器之间通常是有紧密联系的(如IM服务器分发即时消息时,需要从PS服务器上得知哪些用户可以分发),因此,以下均简称PS/IM服务器。
通过对MSN和QQ等主流即时通信软件的分析可以发现,这些客户端软件登陆PS服务器后获取好友列表和好友状态时,采用的是超文本传输协议(Hypertext Transfer Protocol,简记为HTTP),然后客户端软件会启动一个定时器,定时给PS服务器发送请求,看看是否有好友的状态发生了变化;而这些客户端软件通过IM服务器发送即时消息和接收消息时,也是采用的HTTP协议,即接收者要定时给IM服务器发送请求,看看是否有其他好友给自己发的即时消息。因此可以发现,这些客户端软件采用HTTP协议定时到服务器上查看是否有好友状态发生变化和是否有其他好友给自己发送即时消息的方式存在一个明显的缺陷:不具有实时性,好友状态的变化和发给自己的即时消息不能立即送达客户端!需要等定时器到时后,才由客户端主动给服务器发查询命令,等服务器返回查询结果后,才能知道是否有好友状态发生了变化,以及是否有好友给自己发送了即时消息。如果定时器间隔太长,则实时性更差,如果定时器间隔太短,则在客户端和服务器之间会产生过多的无用的消息包而占用大量的带宽。
发明内容
本发明所要解决的技术问题在于提供一种用会话发起协议SIP(SessionInitiation Protocol,简记为SIP)实现呈现和即时消息业务的系统及其方法,用于克服现有技术中存在的使用HTTP协议所带来的实时性差和带宽资源浪费严重的问题。
为了实现上述目的,本发明提供了一种用SIP协议实现呈现和即时消息业务的系统,包括客户端、PS/IM服务器,其特征在于,还包括:设置于所述客户端上的客户端SIP协议栈模块、设置于所述PS/IM服务器上的服务器SIP协议栈模块;其中
所述客户端SIP协议栈模块用于通过所述SIP协议中定义的INFO方法发送消息给所述服务器SIP协议栈模块,及通过所述SIP协议中定义的200OK方法回应所述服务器SIP协议栈模块发来的消息;
所述服务器SIP协议栈模块用于通过所述SIP协议中定义的INFO方法发送消息给所述客户端SIP协议栈模块,及通过所述SIP协议中定义的200OK方法回应所述客户端SIP协议栈模块发来的消息;
所述服务器向所述客户端发送的消息内容包括好友列表、好友状态变化信息或以客户端发送给另一客户端的即时消息内容,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给客户端;
所述客户端发送给所述服务器的消息包括登陆请求、好友列表请求、添加删除或修改好友请求、给某好友发送即时消息请求,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给PS/IM服务器。
为了实现上述目的,本发明提供了一种基于上述系统的用SIP协议实现呈现和即时消息业务的方法,其特征在于,
所述客户端SIP协议栈模块通过所述SIP协议中定义的INFO方法发送一消息给所述服务器SIP协议栈模块,所述服务器SIP协议栈模块通过所述SIP 协议中定义的200OK方法回应所述消息;
所述服务器SIP协议栈模块通过所述SIP协议中定义的INFO方法发送一消息给所述客户端SIP协议栈模块,所述客户端SIP协议栈模块通过所述SIP协议中定义的200OK方法回应所述消息;
所述服务器向所述客户端发送的消息内容包括好友列表、好友状态变化信息或以客户端发送给另一客户端的即时消息内容,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给客户端;
所述客户端发送给所述服务器的消息包括登陆请求、好友列表请求、添加删除或修改好友请求、给某好友发送即时消息请求,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给PS/IM服务器。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,在所述客户端SIP协议栈模块与所述服务器SIP协议栈模块之间相互收发消息之前,还包括所述客户端SIP协议栈模块在所述服务器SIP协议栈模块上进行注册的步骤。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,若所述客户端SIP协议栈模块在所述服务器SIP协议栈模块上注册成功后,还包括所述客户端通过所述客户端SIP协议栈模块向所述PS/IM服务器发送一登陆请求信息的步骤。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,还包括所述PS/IM服务器接收该登陆请求信息后向所述客户端SIP协议栈模块回应200OK的步骤。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,还包括所述PS/IM服务器通过向所述客户端发送一认证结果同意所述客户端登陆的步骤。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,若所述客户端SIP协议栈模块未在一定时间内收到所述服务器SIP协议栈模块返回的200OK时,将重新发送该信息,直到所述服务器SIP协议栈模块回应200OK或发送一定次数后取消发送。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,若所述服务器SIP协议栈模块未在一定时间内收到所述客户端SIP协议栈模块返回的200OK时,将重新发送该信息,直到所述客户端SIP协议栈模块回应200OK或发送一定次数后取消发送。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,当所述客户端欲向一接收客户端发送一即时消息时,还包括所述客户端SIP协议栈模块将该即时消息发给所述PS/IM服务器,所述PS/IM服务器又通过所述服务器SIP协议栈模块将该即时消息发至所述接收客户端的步骤。
所述的用SIP协议实现呈现和即时消息业务的方法,其中,当所述客户端欲下线时,还包括所述客户端SIP协议栈模块将下线消息和离线状态发给所述PS/IM服务器,所述PS/IM服务器确认该下线消息并通过所述服务器SIP协议栈模块返回确认消息至所述客户端的步骤。
本发明的有益效果在于:
本发明提供了一种真正实时地进行PS和IM业务并节约网络带宽资源的方法和系统,解决了现有技术中存在的使用HTFP协议所带来的实时性差和带宽资源浪费严重的问题;与现有技术相比,采用本发明所述方法能达到真正实 时地进行PS和IM业务的目的,同时节约了网络带宽资源。
因此,本发明将在客户端与PS/IM服务器之间使用SIP协议,解决了目前使用HTTP协议所带来的实时性差和带宽资源浪费严重的问题。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明客户端与PS/IM服务器组网图;
图2为本发明SIP协议的INFO方法和200 OK方法交互流程图;
图3为本发明SIP协议实现PS和IM业务详细流程图。
具体实施方式
下面结合附图,对技术方案的实施作进一步的详细描述。
请参阅图1所示,为本发明客户端与PS/IM服务器组网图。在该图中,客户端20上必须运行有SIP协议栈,PS/IM服务器10上也必须运行有SIP协议栈;因此,该组网结构包括以下模块:PS/IM服务器10上的SIP协议栈模块101,客户端20上的SIP协议栈模块201。
结合图1所示,本发明提出的用SIP协议实现PS和IM业务的方法包括以下步骤:
(1),当SIP协议栈模块201所在客户端20在进行PS和IM业务的过程中需要给SIP协议栈模块101所在PS/IM服务器10发送信息时,SIP协议栈模块201将利用SIP协议中定义的INFO方法,将消息发送给SIP协议栈模块101,SIP协议栈模块101在收到SIP协议栈模块201发来的消息后,将立即给SIP协议栈模块201回应SIP协议中定义的200 OK方法,表示收到;
(2),当SIP协议栈模块101所在PS/IM服务器10在进行PS和IM业务的过程中需要给SIP协议栈模块201所在客户端20发送信息时,SIP协议栈模块101将利用SIP协议中定义的INFO方法,将消息发送给SIP协议栈模块201,SIP协议栈模块201在收到SIP协议栈模块101发来的消息后,将立即给SIP协议栈模块101回应SIP协议中定义的200 OK方法,表示收到;
(3),进一步,如果信息发送方没有在一定时间内收到信息接收方返回的 200 OK时,将重新发送信息,直到对方回应200 OK或发送一定次数后取消发送。
请参阅图2所示,为本发明SIP协议的INFO方法和200 OK方法交互流程图。该流程图包括如下步骤:
步骤210、当PS/IM服务器10有消息(如好友列表,好友状态变化消息,或一客户端发给另一客户端的即时消息)需要发给客户端20时,只需将消息放到MESSAGE中,利用SIP协议中定义的INFO方法就可以发给客户端20了;
步骤220、当客户端20收到PS/IM服务器10发来的消息时,将立即回应SIP协议中定义的200 OK消息,表示已收到;
步骤230、当客户端20有消息(如登陆请求,好友列表请求,添加、删除或修改好友请求,以及给某好友发送即时消息请求等等)发给PS/IM服务器10时,只需将消息放到MESSAGE中,利用SIP协议中定义的INFO方法就可以发给PS/IM服务器10了;
步骤240、当PS/IM服务器10收到客户端20发来的消息时,将立即回应SIP协议中定义的200 OK消息,表示已收到。
请参阅图3所示,为本发明用SIP协议实现PS和IM业务详细流程图。在图3中,用SIP协议实现PS和IM业务详细流程图包括如下步骤:
第1步骤,要想实现客户端20的SIP协议栈模块201与PS/IM服务器10的SIP协议栈模块101之间互相收发MESSAGE,客户端20的SIP协议栈模块201要首先到PS/IM服务器10的SIP协议栈模块101上注册Register;
第2步骤,若注册成功,则PS/IM服务器10的SIP协议栈模块101会给客户端20的SIP协议栈模块201回200OK;
第3步骤,当Register成功后,客户端20将使用SIP协议栈模块201给PS/IM服务器10发送登陆请求MESSAGE;
第4步骤,若PS/IM服务器10的SIP协议栈模块101收到此MESSAGE,将给客户端20的SIP协议栈模块201回200 OK;
与上述MESSAGE<-->200 OK方式相同,当PS/IM服务器10同意客户端20登陆,则通过第5、6步骤将认证结果发给客户端20;此时,客户端20就可以继续使用第3、4步骤,将各种信息(如请求各个配置信息,请求好友列表,请求好友状态等等)发给PS/IM服务器10。
同样地,此时PS/IM服务器10也可以继续使用第5、6步骤,将各种信息(如客户端20用户的个人配置信息,客户端20用户的好友列表,客户端20用户的好友状态等等)发给客户端20了。
当某客户端20(或本客户端)的状态发生变化时,将使用第3、4步骤或第7、8步骤将新的状态发给PS/IM服务器10;然后PS/IM服务器10将继续使用第5、6步骤或第9、10步骤,将此用户的新状态广播给将此用户添加为好友的用户。其中,第7、8步骤与第9、10步骤的内容与上述MESSAGE<-->200 OK方式的内容相同。
类似地,当某客户端需要给另一客户端发送即时消息时,也需要使用第3、4步骤或第7、8步骤发送给PS/IM服务器10,然后由PS/IM服务器10通过第5、6步骤或第9、10步骤发送给接收客户端20。
当客户端20需要下线时,可以继续使用第3、4步骤,将下线消息和离线状态发给PS/IM服务器10;当PS/IM服务器10确认了客户端20下线消息后,将确认消息通过第5、6步骤发给客户端20;此时客户端20就可以使用第11、12步骤,在SIP协议层进行注销了。其中,第11、12步骤为REGISTER<-->200OK方式,该步骤为SIP协议应用基本步骤。
与现有技术相比,采用本发明所述方法达到了真正实时地进行PS和IM业务的目的,并节约了网络带宽资源。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种用SIP协议实现呈现和即时消息业务的系统,包括客户端、PS/IM服务器,其特征在于,还包括:设置于所述客户端上的客户端SIP协议栈模块、设置于所述PS/IM服务器上的服务器SIP协议栈模块;其中
所述客户端SIP协议栈模块用于通过所述SIP协议中定义的INFO方法发送消息给所述服务器SIP协议栈模块,及通过所述SIP协议中定义的200OK方法回应所述服务器SIP协议栈模块发来的消息;
所述服务器SIP协议栈模块用于通过所述SIP协议中定义的INFO方法发送消息给所述客户端SIP协议栈模块,及通过所述SIP协议中定义的200OK方法回应所述客户端SIP协议栈模块发来的消息;
所述服务器向所述客户端发送的消息内容包括好友列表或好友状态变化信息,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给客户端;
所述客户端发送给所述服务器的消息包括登陆请求、好友列表请求、添加删除或修改好友请求、给某好友发送即时消息请求,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给PS/IM服务器。
2.一种基于权利要求1所述系统的用SIP协议实现呈现和即时消息业务的方法,其特征在于,
所述客户端SIP协议栈模块通过所述SIP协议中定义的INFO方法发送一消息给所述服务器SIP协议栈模块,所述服务器SIP协议栈模块通过所述SIP协议中定义的200OK方法回应所述消息;
所述服务器SIP协议栈模块通过所述SIP协议中定义的INFO方法发送一消息给所述客户端SIP协议栈模块,所述客户端SIP协议栈模块通过所述SIP协议中定义的200OK方法回应所述消息;
所述服务器向所述客户端发送的消息内容包括好友列表或好友状态变化信息,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给客户端;
所述客户端发送给所述服务器的消息包括登陆请求、好友列表请求、添加删除或修改好友请求、给某好友发送即时消息请求,将所述消息放到MESSAGE中,利用SIP协议中定义的INFO方法发给PS/IM服务器;
当所述客户端欲向一接收客户端发送一即时消息时,还包括所述客户端SIP协议栈模块将该即时消息发给所述PS/IM服务器,所述PS/IM服务器又通过所述服务器SIP协议栈模块将该即时消息发至所述接收客户端的步骤。
3.根据权利要求2所述的用SIP协议实现呈现和即时消息业务的方法,其特征在于,在所述客户端SIP协议栈模块与所述服务器SIP协议栈模块之间相互收发消息之前,还包括所述客户端SIP协议栈模块在所述服务器SIP协议栈模块上进行注册的步骤。
4.根据权利要求3所述的用SIP协议实现呈现和即时消息业务的方法,其特征在于,若所述客户端SIP协议栈模块在所述服务器SIP协议栈模块上注册成功后,还包括所述客户端通过所述客户端SIP协议栈模块向所述PS/IM服务器发送一登陆请求信息的步骤。
5.根据权利要求4所述的用SIP协议实现呈现和即时消息业务的方法,其特征在于,还包括所述PS/IM服务器接收该登陆请求信息后向所述客户端SIP协议栈模块回应200OK的步骤。
6.根据权利要求4或5所述的用SIP协议实现呈现和即时消息业务的方法,其特征在于,还包括所述PS/IM服务器通过向所述客户端发送一认证结果同意所述客户端登陆的步骤。
7.根据权利要求4或5所述的用SIP协议实现呈现和即时消息业务的方法,其特征在于,若所述客户端SIP协议栈模块未在一定时间内收到所述服务器SIP协议栈模块返回的200OK时,将重新发送该信息,直到所述服务器SIP协议栈模块回应200OK或发送一定次数后取消发送。
8.根据权利要求2所述的用SIP协议实现呈现和即时消息业务的方法,其特征在于,当所述客户端欲下线时,还包括所述客户端SIP协议栈模块将下线消息和离线状态发给所述PS/IM服务器,所述PS/IM服务器确认该下线消息并通过所述服务器SIP协议栈模块返回确认消息至所述客户端的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101264722A CN1984129B (zh) | 2005-12-13 | 2005-12-13 | 一种用sip协议实现呈现和即时消息业务的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101264722A CN1984129B (zh) | 2005-12-13 | 2005-12-13 | 一种用sip协议实现呈现和即时消息业务的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1984129A CN1984129A (zh) | 2007-06-20 |
CN1984129B true CN1984129B (zh) | 2011-01-05 |
Family
ID=38166360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005101264722A Active CN1984129B (zh) | 2005-12-13 | 2005-12-13 | 一种用sip协议实现呈现和即时消息业务的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1984129B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110946B (zh) * | 2007-08-17 | 2011-01-05 | 中兴通讯股份有限公司 | 对会话初始化协议终端的音频和视频通信进行切换的方法 |
CN101150580B (zh) * | 2007-10-19 | 2011-07-20 | 中兴通讯股份有限公司 | 一种会话初始化协议中收号方法 |
CN101714170B (zh) * | 2009-12-02 | 2012-01-04 | 烽火通信科技股份有限公司 | 一种基于xdms的群组管理系统及方法 |
CN102195993A (zh) * | 2010-03-01 | 2011-09-21 | 中国移动通信集团公司 | “Skype”网络控制方法、终端、控制服务器及系统 |
CN102130846B (zh) * | 2010-08-30 | 2012-11-14 | 华为技术有限公司 | 一种即时消息发送、接收方法、装置和系统 |
CN104734936A (zh) * | 2013-12-19 | 2015-06-24 | 中兴通讯股份有限公司 | 即时消息处理方法、装置及系统 |
-
2005
- 2005-12-13 CN CN2005101264722A patent/CN1984129B/zh active Active
Non-Patent Citations (5)
Title |
---|
B.Campbell,J.Rosenberg,H.Schulzrinne,C.Huitema,D.Gurle.Session Initiation Protocol (SIP) Extension for InstantMessaging.RFC3428.2002,9-10. * |
M.Day,J.Rosenberg,H.Sugano.A Model for Presence and Instant Messaging.RFC2778.2000,全文. * |
M.Handley H.Schulzrinne,E.Schooler,J.Rosenberg.SIP:Session Initiation Protocol.RFC2543.1999,30-33. * |
Mourad Debbabi,Mahfuzur Rahman,Wanrong Lin,JayGopal,Srikrishna Sridhar.Standard SIP-Based Instant Messaging and Presence APIsfor Networked Devices.5th IEEE International Workshop on Networked Appliances proceedings.2002,561-63. * |
S.Donovan.The SIP INFO Method.RFC2976.2000,2-4. * |
Also Published As
Publication number | Publication date |
---|---|
CN1984129A (zh) | 2007-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1716964B (zh) | 维持会话连接 | |
CN1984129B (zh) | 一种用sip协议实现呈现和即时消息业务的系统及其方法 | |
DE60308984T2 (de) | Verteiltes Kommunikationssystem | |
CN101262453B (zh) | 下一代网络中的智能聊天业务实现方法、系统 | |
CN102111424B (zh) | 通过sns网络节点关系链进行信息推送的方法及系统 | |
CN101171792B (zh) | 处理通信网络中群组通信的方法 | |
CN101820523B (zh) | 一种会话处理方法和系统 | |
CN102958107B (zh) | 一种能力查询的方法、通信终端及应用服务器 | |
CN102547600A (zh) | 基于车载终端的聊天群组的创建方法及系统 | |
CN101223730A (zh) | 用于会议呼叫的即时调度的方法 | |
CN101815067B (zh) | 一种多媒体会议的实现方法和系统 | |
CN102388631A (zh) | 用于在满足特定条件时建立会话的系统和方法 | |
CN100481770C (zh) | 服务系统、信息控制设备、以及信息控制方法 | |
CN101909019A (zh) | 请求消息的处理方法和系统 | |
CN110087227B (zh) | 一种基于ims架构的分布式呈现业务的系统及方法 | |
JP2009060608A (ja) | PoC業務中のコール処理方法及びプレゼンス情報予約購読方法 | |
CN101447060A (zh) | 面向移动终端用户的竞拍业务的实现方法 | |
Greene et al. | Instant messaging & presence management in mobile adhoc networks | |
CN104320399A (zh) | 一种服务端自动配置信息的方法 | |
CN101106739B (zh) | 即时消息im业务中im消息前转的方法 | |
CN103347001A (zh) | 一种新型serverless的移动终端会议演示方法 | |
CN100558053C (zh) | 对协同通信系统的性能进行测量的方法 | |
CN101729444B (zh) | 实时讯息交换方法及系统 | |
CA2628052C (en) | Method and apparatus for determining pt server having controlling function | |
CN101026813B (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 |