CN103546365B - 即时通信业务的添加好友方法及装置 - Google Patents
即时通信业务的添加好友方法及装置 Download PDFInfo
- Publication number
- CN103546365B CN103546365B CN201310356311.7A CN201310356311A CN103546365B CN 103546365 B CN103546365 B CN 103546365B CN 201310356311 A CN201310356311 A CN 201310356311A CN 103546365 B CN103546365 B CN 103546365B
- Authority
- CN
- China
- Prior art keywords
- user
- good friend
- message
- mark
- online
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 6
- 230000011664 signaling Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 241001122315 Polites Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种即时通信业务的添加好友方法及装置。该方法包括:接收第一用户发送的添加第二用户为好友的邀请消息;向可扩展标记语言文档管理服务器发送第一查询消息,第一查询消息用于查询第一用户的标识是否已在第二用户的好友列表中;若第一用户的标识不在第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,第二查询消息用于查询第二用户是否在线;若第二用户在线,则向第二用户发送邀请消息;若第二用户不在线,则存储邀请消息,向呼叫会话控制功能服务器发送至少一个第三查询消息直至查询到第二用户在线后向第二用户发送邀请消息。实现不必发端和收端同时在线,便于用户进行添加好友操作。
Description
技术领域
本发明涉及通信技术,尤其涉及一种即时通信业务的添加好友方法及装置。
背景技术
即时通信(Instant Messaging,IM)是指能够即时发送和接收互联网消息等的业务。经过多年的发展,即时通信的功能日益丰富,即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。
现有技术中,基于IMS的即时通信业务主要采用全球移动通信系统协会(Global System of Mobile Communication Association,GSMA)的富通信套件(Rich Communication Suite,RCS)相关标准,以及互联网工程任务组(the Internet Engineering Task Force,IETF)即时消息会话初始化及其扩展协议(Session Initiation Protocol for IM and Presence LeveragingExtension,SIMPLE)等相关技术标准。而以上相关技术标准所规定的添加好友流程中,收端所收到的添加好友邀请通过会话发起协议通知(SIP(Session Initiation Protocol)NOTIFY)来实现,而SIP NOTIFY只有收端在线时发端才能够发送,这样就导致必须要发端和收端同时在线时,才能完成好友的添加,不便于用户进行添加好友操作。
发明内容
本发明提供一种即时通信业务的添加好友方法,以便于用户进行添加好友操作。
为实现本发明的目的,一方面,本发明提供了一种即时通信业务中添加好友方法,包括:
接收第一用户发送的添加第二用户为好友的邀请消息,所述邀请消息中包括所述第一用户的标识和所述第二用户的标识;
向可扩展标记语言文档管理服务器发送第一查询消息,所述第一查询消息用于查询所述第一用户的标识是否已在所述第二用户的好友列表中;
若所述第一用户的标识不在所述第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,所述第二查询消息用于查询所述第二用户是否在线;若所述第二用户在线,则向所述第二用户发送所述邀请消息;若所述第二用户不在线,则存储所述邀请消息,向所述呼叫会话控制功能服务器发送至少一个第三查询消息,所述第三查询消息用于查询所述第二用户是否在线,直至查询到所述第二用户在线后向所述第二用户发送所述邀请消息。
另一方面,本发明还提供了一种即时通信业务的添加好友装置,包括:
接收模块,用于接收第一用户发送的添加第二用户为好友的邀请消息,所述邀请消息中包括所述第一用户的标识和所述第二用户的标识;
发送模块,用于向可扩展标记语言文档管理服务器发送第一查询消息,所述第一查询消息用于查询所述第一用户的标识是否已在所述第二用户的好友列表中;若所述第一用户的标识不在所述第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,所述第二查询消息用于查询所述第二用户是否在线;若所述第二用户在线,则向所述第二用户发送所述邀请消息;
存储模块,用于若所述第二用户不在线,则存储所述邀请消息;
所述发送模块,还用于向所述呼叫会话控制功能服务器发送至少一个第三查询消息,所述第三查询消息用于查询所述第二用户是否在线,直至查询到所述第二用户在线后向所述第二用户发送所述邀请消息。
本发明提供的即时通信业务的添加好友方法及装置,通过添加好友装置接收第一用户发送的添加第二用户为好友的邀请消息,若第一用户不在第二用户的好友列表中,则第二用户在线时,向第二用户发送邀请消息;若第二用户不在线,则存储该邀请消息,并向CSCF服务器查询第二用户是否在线,直至查询到第二用户在线后,则向第二用户发送邀请消息。即发端发送添加好友的邀请消息后不必等待收端上线,而是通过添加好友装置实现向收端发出邀请,不必发端和收端同时在线,便于用户进行添加好友操作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的即时通信业务的添加好友方法的实施例的流程图;
图2为本发明所基于的即时通信业务是基于IMS系统的网络架构图;
图3为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图;
图4为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图;
图5为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图;
图6为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图;
图7为本发明提供的即时通信业务的添加好友装置的实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的即时通信业务的添加好友方法的实施例的流程图,本实施例具体可适用于即时通信业务中好友的添加,以下步骤的执行主体可以为IM服务器,该IM服务器可以为IP多媒体子系统(IP MultimediaSubsystem,IMS)中的网元。还可以是IMS系统中独立设置的或集成在其他网元上的模块。IM服务器的功能可以通过软件和/或硬件的方式来实现。本实施例的即时通信业务的添加好友方法的具体步骤如下:
S11:接收第一用户发送的添加第二用户为好友的邀请消息,该邀请消息中包括该第一用户的标识和该第二用户的标识。
本发明的即时通信业务是基于IMS系统的,图2为本发明所基于的即时通信业务是基于IMS系统的网络架构图,具体可以由客户端、IM服务器、呼叫会话控制功能(Call Session Control Function,CSCF)服务器和可扩展标记语言(Extensible Markup Language,XML)文档管理服务器(XML Document Management Server,XDMS)和Presence服务器组成,CSCF服务器为代理CSCF(Proxy CSCF,P-CSCF),查询CSCF(Interrogating CSCF,I-CSCF)和服务CSCF(Serving CSCF,S-CSCF)的统称,CSCF为IMS网络的核心设备,用于会话过程中的信令控制及信令转发,其中的S-CSCF用于客户端的会话控制和注册请求的处理,P-CSCF是IMS中一个信令出站/入站的代理服务器,客户端接收与发送的信令都要进过P-CSCF。IM服务器用于控制即时通信消息的转发及存储,以及好友邀请的发送和存储。IM服务器与IMS核心网之间通过SIP接口连接,与XDMS之间通过XCAP接口连接。XDMS用于维护用户的好友关系以及在添加好友的过程中进行好友关系验证。Presence服务器用于管理用户上线的状态,好友上线状态的订阅以及通知等。Presence服务器与XDMS之间通过XCAP接口连接。UE为用户终端,与IMS核心网之间通过SIP接口连接,UE与XDMS之间通过XCAP接口连接。本发明实施例中涉及的第一用户和第二用户,可以分别使用图2所示的一个UE实现IM业务。图2所示为第一用户和第二用户在不同IMS域的实施场景,需要说明的是,第一用户和第二还可以在相同的IMS域。
本实施例中,即时通信业务中的两个主体第一用户和第二用户,现第一用户要添加第二用户为其好友,则第一用户向IM服务器发送添加第二用户为好友的邀请消息,其中包括该第一用户的标识和该第二用户的标识。该第一用户的标识和该第二用户的标识可以是与相应客户端对应的账号或者昵称等用于表示客户端身份的标识。
S12:向可扩展标记语言文档管理服务器发送第一查询消息,第一查询消息用于查询第一用户的标识是否已在第二用户的好友列表中。
S13、若第一用户的标识不在第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,第二查询消息用于查询第二用户是否在线;是,则执行S14,否,则执行S15。
S14、若第二用户在线,则向第二用户发送邀请消息。
S15、若第二用户不在线,则存储邀请消息;向呼叫会话控制功能服务器发送至少一个第三查询消息,第三查询消息用于查询第二用户是否在线,直至查询到第二用户在线后向第二用户发送邀请消息。
IM服务器收到该第一用户发送的邀请消息后,首先向XDMS发送第一查询消息以查询第一用户的标识是否已在第二用户的好友列表中,如果第一用户的标识不在第二用户的好友列表中,则将向CSCF服务器发送第二查询消息,以查询该第二用户是否在线。代理CSCF(Proxy CSCF,P-CSCF),查询CSCF(Interrogating CSCF,I-CSCF),服务CSCF(Serving CSCF,S-CSCF)为IMS网络的核心设备,用于会话过程中的信令控制及信令转发,统称CSCF服务器。其中的,S-CSCF用于客户端的会话控制和注册请求的处理,因此通过S-CSCF可以获得该第二用户是否在线。如果该第二用户在线,则IM服务器通过P-CSCF向该第二用户发送该邀请消息。如果第二用户不在线,则IM服务器存储该邀请消息,并且可以向CSCF服务器发送至少一个第三查询消息,以查询第二用户是否在线,其中,该第三查询消息可以周期性的发送,即,每隔一定的时间发送,也可以以事件触发方式发送。IM服务器可以向CSCF服务器查询第二用户是否在线,直到查询到第二用户在线,则不再IM服务器不再发送第三查询消息,并且通过P-CSCF向该第二用户发送该邀请消息。
本实施例的技术方案,IM服务器接收第一用户发送的添加第二用户的邀请消息,若第一用户的标识不在第二用户的好友列表中,则第二用户在线时,向第二用户发送邀请消息;若第二用户不在线,则存储该邀请消息,并向CSCF服务器查询第二用户是否在线,直至查询到第二用户在线后,则向第二用户发送邀请消息。即发端发送添加好友的邀请消息后不必等待收端上线,而是通过添加好友装置实现向收端发出邀请,不必发端和收端同时在线,便于用户进行添加好友操作。
图3为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图,本实施例适用于第二用户接收到该邀请消息后,同意添加好友的场景。如图3所示,在上述实施例的基础上,S12中向该第二用户发送该邀请消息之后,还包括以下步骤:
S21:接收该第二用户返回的同意添加好友确认消息,该同意添加好友确认消息中包括该第一用户的标识和该第二用户的标识;
S22:向可扩展标记语言文档管理服务器发送第一请求消息,以请求该可扩展标记语言文档管理服务器将该第二用户的标识添加至该第一用户的好友列表中。
第一用户向第二用户发出添加好友的邀请之后,第二用户同意添加好友,则通过P-CSCF返回同意添加好友确认消息,IM服务器接收该同意添加好友确认消息,该同意添加好友确认消息中包括该第一用户的标识和该第二用户的标识。IM服务器接收到该同意添加好友确认消息后,向XDMS发送第一请求消息,请求将该第二用户的标识添加至该第一用户的好友列表中。XDMS用于存储和管理群组资料的XML文档,XDMS和IM服务器通过XML配置访问协议(The XML Configuration Access Protocol,XCAP)接口互通。
IM服务器接收第一用户发送的添加第二用户的邀请消息,若第一用户的标识不在第二用户的好友列表中,则第二用户在线时,向第二用户发送邀请消息;若第二用户不在线,则存储该邀请消息,并向CSCF服务器查询第二用户是否在线,直至查询到第二用户在线后,则向第二用户发送邀请消息。本实施例在图1所示实施例的基础上,第二用户同意第一用户发送的添加好友邀请,返回了同意添加好友确认消息,IM服务器接收到该同意添加好友确认消息后,请求XDMS将该第二用户的标识添加至该第一用户的好友列表中。
图4为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图,本实施例适用于第二用户接收到该邀请消息后,拒绝添加好友的场景。如图4所示,在图1所示实施例的基础上,S12中向该第二用户发送该邀请消息之后,还包括以下步骤:
S31:接收该第二用户发送的拒绝添加好友确认消息,该拒绝添加好友确认消息中包括该第一用户的标识和该第二用户的标识;
S32:发送该拒绝添加好友确认消息至该第一用户。
本实施例为第二用户拒绝第一用户添加好友邀请的步骤。第一用户向第二用户发出添加好友的邀请之后,第二用户拒绝添加好友,则通过P-CSCF返回拒绝添加好友确认消息,IM服务器接收该拒绝添加好友确认消息,该拒绝添加好友确认消息中包括该第一用户的标识和该第二用户的标识。IM服务器接收到该拒绝添加好友确认消息后,则通过P-CSCF发送该拒绝添加好友确认消息至该第一用户。
IM服务器接收第一用户发送的添加第二用户的邀请消息,若第一用户的标识不在第二用户的好友列表中,则第二用户在线时,向第二用户发送邀请消息;若第二用户不在线,则存储该邀请消息,并向CSCF服务器查询第二用户是否在线,直至查询到第二用户在线后,则向第二用户发送邀请消息。本实施例在图1所示实施例的基础上,第二用户拒绝第一用户发送的添加好友邀请,返回了拒绝添加好友确认消息,IM服务器接收到该拒绝添加好友确认消息后,通过P-CSCF发送该拒绝添加好友确认消息至该第一用户。
图5为本发明提供的即时通信业务的添加好友方法的又一实施例的流程图,如图5所示,本实施例的执行主体为IM服务器,本实施例的即时通信业务的添加好友方法包括以下步骤:
S41:接收第一用户发送的添加第二用户为好友的邀请消息,该邀请消息中包括该第一用户的标识和该第二用户的标识。
即时通信业务中的两个主体第一用户和第二用户,现第一用户要添加第二用户为其好友,则第一用户向IM服务器发送添加第二用户为好友的邀请消息,其中包括该第一用户的标识和该第二用户的标识。该第一用户的标识和该第二用户的标识可以是与相应客户端对应的账号或者昵称等用于表示客户端身份的标识。
S42:向可扩展标记语言文档管理服务器发送第一查询消息,该第一查询消息用于查询该第一用户的标识是否已在第二用户的好友列表中;
XDMS用于存储和管理群组资料的XML文档,XDMS和IM服务器通过XCAP接口互通。IM服务器接收到第一用户发送的添加第二用户为好友的邀请消息后,通过向XDMS查询该第一用户的标识是否已经存储于该第二用户的好友列表中,若第一用户的标识已经在第二用户的好友列表中,则不再向第二用户发送邀请消息,并向所述可扩展标记语言文档管理服务器发送第二请求消息,用于请求所述可扩展标记语言文档管理服务器将所述第二用户的标识添加至所述第一用户的好友列表中,以使所述可扩展标记语言文档管理服务器向所述第一用户发送已添加所述第二用户为好友的通知消息。
若第一用户的标识不在第二用户的好友列表中,则进入步骤S43;若是,第一用户的标识在所述第二用户的好友列表中,则执行S47和S48。
S43:向呼叫会话控制功能服务器发送第二查询消息,查询该第二用户是否在线;
第一用户要添加第二用户为好友,该第一用户也不是该第二用户的好友,则IM服务器向CSCF服务器发送第二查询消息,该第二查询消息用于查询该第二用户是否在线。
若否,则执行S44和S45之后再执行S46;
若是,则直接执行步骤S46;
S44:存储该邀请消息;
该第二用户不在线,则IM服务器存储该第一用户发送的添加该第二用户为好友的邀请消息。
S45:向该呼叫会话控制功能服务器发送至少一个第三查询消息,该第三查询消息用于查询该第二用户是否在线,直至查询到该第二用户在线;
该第二用户不在线,IM服务器为了在该第二用户在线时将该邀请消息发送给该第二用户,则向CSCF服务器发送至少一个第三查询消息,该第三查询消息用于查询该第二用户是否在线,直至查询到该第二用户在线。该第三查询消息的发送,可以是周期性的,例如,每隔10分钟发送一次,直到该第二用户在线为止;也可以是事件触发性的,例如,当收到第二用户发送的任何一种信息,则向CSCF服务器发送一个第三查询消息。
S46:向该第二用户发送该邀请消息。
无论是通过第二查询消息查询到该第二用户在线,还是通过第三查询消息查询到该第二用户在线,都将该第一用户发送的添加该第二用户为好友的邀请消息发送至该第二用户。
若该第二用户收到该邀请消息后,如果同意该添加好友邀请,则返回同意添加好友确认消息,IM服务器向XDMS请求将该第二用户的标识添加至该第一用户的好友列表中。
若该第二用户收到该邀请消息后,如果拒绝该添加好友邀请,该返回拒绝添加好友确认消息,IM服务器发送该拒绝添加好友确认消息至该第一用户。
S47:向可扩展标记语言文档管理服务器发送第二请求消息,以请求可扩展标记语言文档管理服务器将第二用户的标识添加至第一用户的好友列表中。
S48:IM服务器向该第一用户发送同意添加好友的确认消息。
需要说明的是,S47和S48的执行顺序不分先后,还可以同时执行。
本实施例的技术方案中,IM服务器收到第一用户的添加第二用户为好友的邀请消息后,先查询该第一用户是否已经是该第二用户的好友,如果是,则直接向该第一用户返回同意添加好友的确认消息,并请求可扩展标记语言文档管理服务器将所述第二用户添加至第一用户的好友列表中;如果不是,则查询该第二用户是否在线,当该第二用户在线时,向该第二用户发送该邀请消息,如果第二用户不在线,则存储该邀请消息并不断查询第二用户是否在线,直至查询到第二用户在线后,向第二用户发送邀请消息。不必发端和收端同时在线,便于用户进行添加好友操作。另外,如果第一用户已经存在于第二用户的好友列表中,表示第二用户已将第一用户加为好友,而第一用户还尚未将第二用户加为好友,则不再向第二用户发送邀请消息,直接将第二用户加入第一用户的好友列表中,而避免使第二用户获知第二用户不是第一用户的好友,该方式保护了第一用户隐私,满足用户日常交往中的礼貌性需求。使的添加好友方式更加灵活。
应当说明的是,本发明中发端和收端共用一个IM服务器、CSCF服务器或XDMS,也可以是发端和收端使用各自的IM服务器、CSCF服务器或XDMS。下面以图6所示的实施例为例,来说明发端和收端使用各自的IM服务器、CSCF服务器和XDMS时,进一步说明本发明的即时通信业务的添加好友方法的流程。用户#A为发端设备,发端一侧分别使用IM服务器#A、CSCF服务器#A和XDMS#A,用户#B为收端设备,收端一侧分别使用IM服务器#B、CSCF服务器#B和XDMS#B。如图6所示,本实施例中,具体包括以下个步骤:
S501:用户#A通过CSCF服务器#A向用户#B发送添加用户#B为好友的邀请消息;
S502:CSCF服务器#A转发该邀请消息至CSCF服务器#B;
S503:CSCF服务器#B转发该邀请消息至IM服务器#B;
S504:IM服务器#B收到该邀请消息后,向XDMS#B发送第一查询消息,查询该用户#A是否已经在用户#B的好友列表中;若用户#A不在用户#B的好友列表中,则进入S505;
若用户#A在用户#B的好友列表中,则XDMS#B向IM服务器#B返回该用户#A在用户#B的好友列表中的信息,IM服务器#B向CSCF服务器#B转发用户#A在用户#B的好友列表中的信息;CSCF服务器#B向CSCF服务器#A转发用户#A在用户#B的好友列表中的信息;CSCF服务器#A向IM服务器#A发送用户#A在用户#B的好友列表中的信息,然后执行S524到S527。
S505:XDMS#B向IM服务器#B返回该用户#A不在用户#B的好友列表中的信息;
S506:IM服务器#B向CSCF服务器#B发送第二查询消息,该第二查询消息用于查询用户#B当前是否在线;
S507:CSCF服务器#B向IM服务器#B返回用户#B当前不在线的信息;
S508:IM服务器#B存储该邀请消息;
S509:IM服务器#B向CSCF服务器#B发送第三查询消息,该第三查询消息用于查询用户#B当前是否在线;
S510:CSCF服务器#B向IM服务器#B返回用户#B当前不在线的信息;
S511:IM服务器#B再次向CSCF服务器#B发送第三查询消息,该第三查询消息用于查询用户#B当前是否在线;
S512:CSCF服务器#B向IM服务器#B返回用户#B当前在线的信息;
S513:IM服务器#B通过CSCF服务器#B向用户#B发送该邀请消息;
S514:CSCF服务器#B转发该邀请消息至用户#B;
S515:用户#B同意该邀请消息,向CSCF服务器#B返回同意添加好友的确认消息;
S516:CSCF服务器#B转发该同意添加好友的确认消息至IM服务器#B;
作为一种可选的实施方式,在用户#B同意该邀请消息后,由于用户#A也不在用户#B的好友列表中,因此,可以进一步执行S517到S520。即,S516之后,S517到S520为可选步骤,也可以直接执行S521。
S517:IM服务器#B向XDMS#B请求,将用户#A添加为用户#B的好友;具体为在XDMS#B管理的用户#B的好友列表中添加用户#A的标识;
S518:XDMS#B向IM服务器#B返回好友添加成功的通知消息;
S519:IM服务器#B通过CSCF服务器#B向用户#B发送该好友添加成功的通知消息;
S520:CSCF服务器#B向用户#B转发该好友添加成功的通知消息;
S521:IM服务器#B向CSCF服务器#B发送该同意添加好友的确认消息;
S522:CSCF服务器#B转发该同意添加好友的确认消息至CSCF服务器#A;
S523:CSCF服务器#A转发该同意添加好友的确认消息至IM服务器#A;
S524:IM服务器#A向XDMS#A请求,将用户#B添加为用户#A的好友;具体为在XDMS#A管理的用户#A的好友列表中添加用户#B的标识;
S525:XDMS#A向IM服务器#A返回好友添加成功的通知消息;
S526:IM服务器#A通过CSCF服务器#A向用户#A发送该好友添加成功的通知消息;
S527:CSCF服务器#A转发该好友添加成功的通知消息至用户#A。
本实施例的技术方案,收端IM服务器接收第一用户发送的添加第二用户的邀请消息,先通过收端XDMS查询该第一用户与该第二用户的好友关系,如果第一用户不是第二用户的好友,则通过收端CSCF服务器查询到该第二用户在线时向该第二用户发送该邀请消息;若第二用户不在线,则存储该邀请消息,并向CSCF服务器查询第二用户是否在线,直至查询到第二用户在线后,则向第二用户发送邀请消息。即发端发送添加好友的邀请消息后不必等待收端上线,而是通过添加好友装置实现向收端发出邀请,不必发端和收端同时在线,便于用户进行添加好友操作。如果第一用户是第二用户的好友,则直接请求XDMS将第二用户添加为第一用户的好友。如果第一用户是第二用户的好友,则不再向第二用户发送邀请消息,直接将第二用户添加为第一用户的好友,而避免使第二用户获知第二用户不是第一用户的好友,该方式保护了用户隐私,满足用户日常交往中的礼貌性需求。使得添加好友方式更加灵活。
需要说明的是,本实施例以用户#A添加用户#B为好友为例进行说明,可以理解的是,用户#B添加用户#A为好友的过程与图6所示的过程相类似,在此不再赘述。
还应当说明的是,前述任一实施例中,邀请消息、同意添加好友确认消息、拒绝添加好友确认消息、第一查询消息、第二查询消息和第三查询消息均采用SIP消息(SIP MESSAGE),当然也可以采用其他不要求收端和发端同时在线即能传输的消息格式。
图7为本发明提供的即时通信业务的添加好友装置的实施例的结构示意图,如图7所示,其中,该即时通信业务的添加好友装置可以是本发明上述实施例中涉及的IM服务器。本实施例的即时通信业务的添加好友装置包括:接收模块1和发送模块2。
接收模块1,用于接收第一用户发送的添加第二用户为好友的邀请消息,该邀请消息中包括该第一用户的标识和该第二用户的标识;
发送模块2,用于向可扩展标记语言文档管理服务器发送第一查询消息,第一查询消息用于查询第一用户是否已在第二用户的好友列表中;若第一用户不在第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,第二查询消息用于查询第二用户是否在线;若第二用户在线,则向第二用户发送邀请消息;
存储模块3,用于若第二用户不在线,则存储邀请消息;
发送模块2,还用于向呼叫会话控制功能服务器发送至少一个第三查询消息,第三查询消息用于查询第二用户是否在线,直至查询到第二用户在线后向第二用户发送邀请消息。
即时通信业务中的两个主体第一用户和第二用户,现第一用户要添加第二用户为其好友,则第一用户发送添加第二用户为好友的邀请消息,其中包括该第一用户的标识和该第二用户的标识。该第一用户的标识和该第二用户的标识可以是与相应客户端对应的账号或者昵称等用于表示客户端身份的标识。
接收模块1收到该第一用户发送的邀请消息后,发送模块2向XDMS发送第一查询消息,以查询第一用户的标识是否已在所述第二用户的好友列表中,若不在,则向CSCF服务器发送第二查询消息,以查询该第二用户是否在线。代理CSCF(Proxy CSCF,P-CSCF),查询CSCF(Interrogating CSCF,I-CSCF),服务CSCF(Serving CSCF,S-CSCF)为IMS网络的核心设备,用于会话过程中的信令控制及信令转发,统称CSCF服务器。其中的,S-CSCF用于客户端的会话控制和注册请求的处理,因此通过S-CSCF可以向呈现服务器(Presence Server)查询获得该第二用户是否在线。如果该第二用户在线,则发送模块2通过P-CSCF向该第二用户发送该邀请消息。
本实施例的技术方案,接收模块1接收第一用户发送的添加第二用户的邀请消息,然后发送模块2查询第一用户的标识是否已在第二用户的好友列表中,不在则查询该第二用户是否在线,若该第二用户在线,则向该第二用户发送该邀请消息。若该第二用户不在线,则存储模块3存储该第一用户发送的添加该第二用户为好友的邀请消息。为了在该第二用户在线时将该邀请消息发送给该第二用户,发送模块2则向CSCF服务器发送至少一个第三查询消息,该第三查询消息用于查询该第二用户是否在线,直至查询到该第二用户在线。发送模块2发送该第三查询消息,可以是周期性的,例如,发送模块2每隔10分钟发送一次,直到该第二用户在线为止;也可以是事件触发性的,例如,当收到第二用户发送的任何一种信息,则发送模块2向CSCF服务器发送一个第三查询消息。
无论是通过第一查询消息查询到该第二用户在线,还是通过第三查询消息查询到该第二用户在线,都将该第一用户发送的添加该第二用户为好友的邀请消息发送至该第二用户。
如果第一用户在第二用户的好友列表中,则发送模块2向该第一用户发送同意添加好友确认消息,并直接请求CSCF服务器将第二用户添加到第一用户的好友列表中。
本实施例提供的即时通信业务的添加好友装置,与图1所示的即时通信业务的添加好友方法对应,具体可参见该方法实施例中的相关描述。
可选的,接收模块1,还用于接收该第二用户返回的同意添加好友确认消息,该同意添加好友确认消息中包括该第一用户的标识和该第二用户的标识;
发送模块2,还用于向可扩展标记语言文档管理服务器发送第一请求消息,以请求该可扩展标记语言文档管理服务器将该第二用户的标识添加至该第一用户的好友列表中。
第一用户向第二用户发出添加好友的邀请之后,第二用户同意添加好友,则通过P-CSCF返回同意添加好友确认消息,接收模块1接收该同意添加好友确认消息,该同意添加好友确认消息中包括该第一用户的标识和该第二用户的标识。接收模块1接收到该同意添加好友确认消息后,发送模块2向XDMS发送第一请求消息,请求将该第二用户的标识添加至该第一用户的好友列表中。XDMS用于存储和管理群组资料的XML文档,XDMS和IM服务器通过XML配置访问协议(The XML Configuration Access Protocol,XCAP)接口互通。
本实施例中,第二用户同意第一用户发送的添加好友邀请,返回了同意添加好友确认消息,接收模块1接收到该同意添加好友确认消息后,发送模块2请求XDMS将该第二用户的标识添加至该第一用户的好友列表中。作为发端的第一用户发送添加好友的邀请消息后不必等待作为收端的第二用户上线,第二用户发送同意添加好友确认消息后也不必在线等待即可以完成好友的添加,实现了不必发端和收端同时在线,就能添加好友。
优选地,接收模块1,还用于接收该第二用户发送的拒绝添加好友确认消息,该拒绝添加好友确认消息中包括该第一用户的标识和该第二用户的标识;
发送模块2,还用于发送该拒绝添加好友确认消息至该第一用户。
第一用户向第二用户发出添加好友的邀请之后,第二用户拒绝添加好友,则通过P-CSCF返回拒绝添加好友确认消息,接收模块1接收该拒绝添加好友确认消息,该拒绝添加好友确认消息中包括该第一用户的标识和该第二用户的标识。接收模块1接收到该拒绝添加好友确认消息后,发送模块2则通过P-CSCF发送该拒绝添加好友确认消息至该第一用户。
本实施例中,第二用户拒绝第一用户发送的添加好友邀请,返回了拒绝添加好友确认消息,接收模块1接收到该拒绝添加好友确认消息后,发送模块2通过P-CSCF发送该拒绝添加好友确认消息至该第一用户。作为发端的第一用户发送添加好友的邀请消息后不必等待作为收端的第二用户上线,第二用户发送拒绝添加好友确认消息后也不必在线等待即可以完成此次好友添加流程,不必发端和收端同时在线,便于用户进行添加好友操作。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种即时通信业务的添加好友方法,其特征在于,包括:
接收第一用户发送的添加第二用户为好友的邀请消息,所述邀请消息中包括所述第一用户的标识和所述第二用户的标识;
向可扩展标记语言文档管理服务器发送第一查询消息,所述第一查询消息用于查询所述第一用户的标识是否已在所述第二用户的好友列表中;
若所述第一用户的标识不在所述第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,所述第二查询消息用于查询所述第二用户是否在线;
若所述第二用户在线,则向所述第二用户发送所述邀请消息;若所述第二用户不在线,则存储所述邀请消息,向所述呼叫会话控制功能服务器发送至少一个第三查询消息,所述第三查询消息用于查询所述第二用户是否在线,直至查询到所述第二用户在线后向所述第二用户发送所述邀请消息;其中,所述第三查询信息是周期性发送的;
所述向可扩展标记语言文档管理服务器发送第一查询消息之后,还包括:
若所述第一用户的标识已在所述第二用户的好友列表中,则不向所述第二用户发送所述邀请消息,并向所述可扩展标记语言文档管理服务器发送第二请求消息,用于请求所述可扩展标记语言文档管理服务器将所述第二用户的标识添加至所述第一用户的好友列表中,以使所述可扩展标记语言文档管理服务器向所述第一用户发送已添加所述第二用户为好友的通知消息。
2.根据权利要求1所述的方法,其特征在于,所述向所述第二用户发送所述邀请消息之后,还包括:
接收所述第二用户返回的同意添加好友确认消息,所述同意添加好友确认消息中包括所述第一用户的标识和所述第二用户的标识;
向所述可扩展标记语言文档管理服务器发送第一请求消息,以请求所述可扩展标记语言文档管理服务器将所述第二用户的标识添加至所述第一用户的好友列表中。
3.根据权利要求1所述的方法,其特征在于,所述向所述第二用户发送所述邀请消息之后,还包括:
接收所述第二用户发送的拒绝添加好友确认消息,所述拒绝添加好友确认消息中包括所述第一用户的标识和所述第二用户的标识;
发送所述拒绝添加好友确认消息至所述第一用户。
4.一种即时通信业务的添加好友装置,其特征在于,包括:
接收模块,用于接收第一用户发送的添加第二用户为好友的邀请消息,所述邀请消息中包括所述第一用户的标识和所述第二用户的标识;
发送模块,用于向可扩展标记语言文档管理服务器发送第一查询消息,所述第一查询消息用于查询所述第一用户的标识是否已在所述第二用户的好友列表中;若所述第一用户的标识不在所述第二用户的好友列表中,则向呼叫会话控制功能服务器发送第二查询消息,所述第二查询消息用于查询所述第二用户是否在线;若所述第二用户在线,则向所述第二用户发送所述邀请消息;
存储模块,用于若所述第二用户不在线,则存储所述邀请消息;
所述发送模块,还用于向所述呼叫会话控制功能服务器发送至少一个第三查询消息,所述第三查询消息用于查询所述第二用户是否在线,直至查询到所述第二用户在线后向所述第二用户发送所述邀请消息;其中,所述第三查询信息是周期性发送的;
所述发送模块,还用于若所述第一用户的标识已在所述第二用户的好友列表中,则不向所述第二用户发送所述邀请消息,并向所述可扩展标记语言文档管理服务器发送第二请求消息,用于请求所述可扩展标记语言文档管理服务器将所述第二用户的标识添加至所述第一用户的好友列表中,以使所述可扩展标记语言文档管理服务器向所述第一用户发送已添加所述第二用户为好友的通知消息。
5.根据权利要求4所述的装置,其特征在于,
所述接收模块,还用于接收所述第二用户返回的同意添加好友确认消息,所述同意添加好友确认消息中包括所述第一用户的标识和所述第二用户的标识;
所述发送模块,还用于向所述可扩展标记语言文档管理服务器发送第一请求消息,以请求所述可扩展标记语言文档管理服务器将所述第二用户的标识添加至所述第一用户的好友列表中。
6.根据权利要求4所述的装置,其特征在于,
所述接收模块,还用于接收所述第二用户发送的拒绝添加好友确认消息,所述拒绝添加好友确认消息中包括所述第一用户的标识和所述第二用户的标识;
所述发送模块,还用于发送所述拒绝添加好友确认消息至所述第一用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310356311.7A CN103546365B (zh) | 2013-08-15 | 2013-08-15 | 即时通信业务的添加好友方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310356311.7A CN103546365B (zh) | 2013-08-15 | 2013-08-15 | 即时通信业务的添加好友方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546365A CN103546365A (zh) | 2014-01-29 |
CN103546365B true CN103546365B (zh) | 2016-08-31 |
Family
ID=49969435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310356311.7A Active CN103546365B (zh) | 2013-08-15 | 2013-08-15 | 即时通信业务的添加好友方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546365B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451796B (zh) * | 2017-08-07 | 2021-09-10 | 阿里巴巴(中国)有限公司 | 辅助处理协同业务的方法、装置、设备及存储介质 |
CN107592256B (zh) * | 2017-09-21 | 2021-03-09 | 北京小米移动软件有限公司 | 添加好友的方法、装置及系统 |
CN112333411A (zh) * | 2020-07-28 | 2021-02-05 | 深圳Tcl新技术有限公司 | 通话方法、服务器及计算机可读存储介质 |
CN117652123A (zh) * | 2022-06-27 | 2024-03-05 | 北京小米移动软件有限公司 | Ims会话方法、装置、通信设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193073A (zh) * | 2007-03-29 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 即时通讯平台中好友管理方法和系统 |
CN101237426A (zh) * | 2008-03-06 | 2008-08-06 | 腾讯科技(深圳)有限公司 | 好友添加装置及方法 |
CN103220205A (zh) * | 2012-01-19 | 2013-07-24 | 盛乐信息技术(上海)有限公司 | 好友添加方法及系统 |
-
2013
- 2013-08-15 CN CN201310356311.7A patent/CN103546365B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193073A (zh) * | 2007-03-29 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 即时通讯平台中好友管理方法和系统 |
CN101237426A (zh) * | 2008-03-06 | 2008-08-06 | 腾讯科技(深圳)有限公司 | 好友添加装置及方法 |
CN103220205A (zh) * | 2012-01-19 | 2013-07-24 | 盛乐信息技术(上海)有限公司 | 好友添加方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103546365A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4909773B2 (ja) | ホーム加入者サーバ構成方法、構成システム、プログラム及び記憶媒体 | |
JP5436571B2 (ja) | 通信履歴を提供する方法及び装置 | |
KR101150594B1 (ko) | 메시지 및 세션의 교환 | |
CN101766011A (zh) | 用于同步的呼叫协议信息的集中式呼叫日志 | |
CN101714170B (zh) | 一种基于xdms的群组管理系统及方法 | |
US9467406B2 (en) | Devices for instant message client swap | |
CN100502404C (zh) | 一种ims业务触发方法以及ims网络 | |
CN105282730B (zh) | Ims网络中终端通信状态获取方法与系统和应用服务器 | |
CN103546365B (zh) | 即时通信业务的添加好友方法及装置 | |
CN101515949A (zh) | 便于用户设备间会话转移的方法和系统 | |
US20120265886A1 (en) | Service templates for an ip multimedia subsystem | |
CN100574474C (zh) | 一种通讯系统中建立通讯业务连接的方法 | |
CN101529883B (zh) | 向匿名呼叫者提供组合服务的系统和方法 | |
CN101127769B (zh) | 基于会话发起协议的用户注册的方法、系统及终端、服务器 | |
CN101834730A (zh) | 一种多媒体会议控制方法和系统 | |
CN101635976A (zh) | 通过第三方设备进行呼叫建立和控制 | |
CN104396213B (zh) | 用于处理消息的方法和实体 | |
CN101267325A (zh) | 发起和加入会议通话的方法、会议服务器和终端 | |
CN102348291A (zh) | 基于对话关联标识的会话建立方法及系统 | |
US9444649B2 (en) | Method for sending and receiving session history in a communications system | |
EP2119172B1 (en) | Method and system for processing call change request in an internet protocol multimedia subsystem | |
CN103797765A (zh) | 用于配置和实现ip多媒体子系统补充服务的方法和设备 | |
KR20130012199A (ko) | 메시징 서비스와 타 서비스 간의 상호 연동을 통한 연락처 제공 방법 및 장치 | |
CN102726030A (zh) | 用于路由xcap请求的方法和设备 | |
CN101754428A (zh) | 基于sip的即时通讯系统中的添加好友的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |