法律状态公告日
法律状态信息
法律状态
2016-11-16
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20130123 终止日期:20150928 申请日:20080928
专利权的终止
2013-01-23
授权
授权
2010-05-12
实质审查的生效 IPC(主分类):H04L29/06 申请日:20080928
实质审查的生效
2010-03-31
公开
公开
技术领域
本发明涉及通信技术领域,尤其涉及一种为用户提供用户的设备参与的会话的方法和装置。
背景技术
SIP(会话发起协议,Session Initiation Protocol)协议是一个应用层控制(信令)协议,可用来创建、修改和终结一个或者多个参与者之间的多媒体会话。通过SIP协议,用户可以邀请其他参与者加入一个已经存在的会话或者创建一个新的会话,还可以动态地修改会话媒体。
用户在建立会话过程中,通过在SIP消息中携带SDP(会话描述协议,Session Description Protocol)描述行来进行媒体协商,协商的内容包括媒体细节,传输地址和其他会话描述元数据,媒体协商的框架遵守offer/answer(发送/应答)模型。
SDP描述行是纯文本的形式,由一系列的文本描述行组成,格式如下:
<type>=<value>
<type>域是一个有准确意义的字符,而<value>域则是一个结构化的文本,它的格式取决于<type>域。<value>可能是一组被空格区分的数字,也可能是一个表示一定意义的字符串。
用户建立会话过程中的SIP消息都会经过应用服务器,应用服务器可以对SIP消息中携带的SDP描述行进行分析,得到将要建立的会话的相关信息,如会话列表及媒体相关信息,应用服务器将这些会话相关信息进行存储。
用户和应用服务器之间的通信采用订阅和通知机制。用户作为订阅者,通过向应用服务器进行订阅来获取该用户所参与的会话及会话相关联的媒体信息,当某一用户参与的会话列表或者会话相关联的媒体信息发生变化时,应用服务器作为通知者,根据用户的订阅及时通知该会话列表或者会话相关联的媒体信息的变化信息给用户。
在非多设备环境中,应用服务器对主被叫用户在建立会话过程中交互的SIP消息中携带的SDP描述行进行分析,得到主被叫用户所参与的会话的相关信息,该会话相关信息包括:会话列表及媒体相关信息,比如,会话的发起者、会话的标识符及版本号、包含在会话中的媒体、接收媒体所需要的地址,传输的媒体类型、媒体传输所使用的端口号、传送层协议以及媒体格式等信息。
应用服务器得到用户所参与的会话的相关信息后,在本地进行存储,当会话结束后,将存储的该会话的相关信息删除。应用服务器中存储的用户所参与的会话的相关信息的存储结构如图1所示。
如图1所示,应用服务器为每个参与会话的用户维护一个有层次的存储结构,图1中的方框代表存储节点,椭圆代表节点中的内容,下面对该结构中各节点的含义加以描述:
“用户”:在该节点的内容中提供了用户的地址,“用户”节点的子节点是“会话”;
“会话”:该节点的内容中提供了会话标识符、对方参与者地址、对方网络类型、对方地址类型等会话列表信息,会话节点的子节点是“关联媒体”。
“关联媒体”:该节点的内容中提供了媒体类型、用户传送和接收该媒体所使用的传输端口号、传输协议以及媒体编码格式会话相关联的媒体信息。
一个用户可以对应多个会话,一个会话可以对应多个关联媒体。如果有两个用户Alice和Bob在同一个域中,即为Alice和Bob服务的应用服务器是同一个,则这个应用服务器需要分别为Alice和Bob维护所参与的会话的相关信息,应用服务器分别为用户Alice和用户Bob所维护的会话的相关信息的存储结构如图2和图3所示。
如图2所示,应用服务器为用户Alice维护的会话的相关信息的存储结构包含以下信息:
“用户”:在该节点中提供了Alice的地址(alice.anywhere.com);
“会话”:该节点提供了如下内容:
会话标识符:2890844526;
对方参与者地址:bob.example.com
对方网络类型:IN
对方地址类型:IP4
“关联媒体”:与该会话相关联的媒体类型有两种,audio(端口号为49170,传输协议为RTP,音频编码格式为PCM,即RTP/AVP中定义的“0”)和video(端口号为53000,传输协议为RTP,视频编码格式为MPV,即RTP/AVP中定义的“32”)。
如图3所示,应用服务器为用户Bob维护的会话的相关信息的存储结构包含以下信息:
“用户”:在该节点中提供了Bob的地址(bob.example.com);
“会话”;该节点提供了如下内容:
会话标识符:2890844730;
对方参与者地址:alice.anywhere.com
对方网络类型:IN
对方地址类型:IP4
“关联媒体”:与该会话相关联的媒体类型有两种,audio(端口号为65422,传输协议为RTP,音频编码格式为PCM,即RTP/AVP中定义的“0”)和video(端口号为64000,传输协议为RTP,视频编码格式为MPV,即RTP/AVP中定义的“32”)。
在实现本发明过程中,发明人发现上述现有技术中至少存在如下问题:在应用服务器中维护的会话的相关信息中,将用户和用户参与的会话之间直接关联。但是在多设备环境中,每个用户有多个设备,每个设备可能参与到不同的会话中,根据上述应用服务器中维护的会话的相关信息,无法获取用户的每个设备所参与的会话信息。
发明内容
本发明的实施例提供了一种为用户提供用户的设备参与的会话的方法和装置,以解决现有技术不能获取用户的每个设备所参与的会话信息的问题。
一种向用户提供用户的设备参与的会话的方法,包括:
接收用户发送的获取会话信息的请求;
获取所述用户的会话信息,该会话信息中包括所述用户的参与会话的各个设备的信息,以及每个设备所参与的会话的信息;
向所述用户发送携带所述会话信息的消息。
一种向用户提供用户的设备参与的会话的装置,包括:
请求接收模块,用于接收用户发送的获取会话信息的请求;
会话信息获取模块,用于获取所述用户的参与会话的各个设备的信息,以及每个设备所参与的会话的信息;
会话信息发送模块,用于向所述用户发送所述会话信息获取模块所获取的所述用户的参与会话的各个设备的信息,以及每个设备所参与的会话的信息。
由上述本发明的实施例提供的技术方案可以看出,由于实现了用户与多设备相关联,用户的设备与该设备所参与的会话相关联。从而可以使用户通过向应用服务器进行订阅,来获取该用户的设备所参与的会话信息。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中应用服务器中存储的用户所参与的会话的相关信息的存储结构示意图;
图2为现有技术中应用服务器为用户Alice所维护的会话的相关信息的存储结构示意图;
图3为现有技术中应用服务器为用户Bob所维护的会话的相关信息的存储结构示意图;
图4为本发明实施例一提供的应用服务器中存储的用户所参与的会话的相关信息的存储结构示意图;
图5为本发明实施例二提供的事件包″session-info″中包含的″application/session-info+xml″文档的结构示意图;
图6为本发明实施例二提供的多设备环境下的用户通过事件包″session-info″向应用服务器获取用户的设备所参与的会话列表及会话相关联媒体类型信息的流程图;
图7为本发明实施例三提供的融合IP消息通信(CPM,Converged IPMessaging)会谈服务器为CPM用户(Bob)维护的会话的相关信息的存储结构示意图;
图8为本发明实施例三提供的CPM用户通过事件包″session-info″向CPM会谈服务器获取用户所参与的会话的相关信息的处理流程图;
图9为本发明实施例提供的向用户提供用户的设备参与的会话的装置的结构示意图。
具体实施方式
在本发明实施例中,接收到用户发送的获取会话信息的请求后,获取所述用户的会话信息,该会话信息中包括所述用户的参与会话的各个设备的信息,以及每个设备所参与的会话的信息。然后,向所述用户发送携带所述会话信息的消息。
进一步地,对用户所发送的、携带SDP描述行的SIP消息进行分析,获得所述用户的参与会话的设备的设备地址,以及每个设备所参与的会话的信息;从核心网获取所述参与会话的设备的设备地址所对应的用户地址信息。
进一步地,为了提高速度,可以采用XML(Extensible MarkupLanguage,可扩展标记语言)文档来存储所述用户和该用户的各个设备之间的对应关系信息,以及用户的每个设备和该设备所参与的会话之间的对应关系信息;根据用户的信息及对应关系信息,获取所述用户参与会话的各个设备的信息,以及每个设备所参与的会话的信息。
进一步地,应用服务器接收用户发送的获取会话信息的SUBSCRIBE(订阅)请求,该SUBSCRIBE请求的Event(事件)头域值指示请求获取多设备环境下的用户的每个设备所参与的会话的信息;
所述应用服务器向所述用户发送携带所述会话信息的NOTIFY(通知)消息,该NOTIFY消息的Event头域值指示携带有多设备环境下的用户的每个设备所参与的会话的信息,该NOTIFY消息的消息体中携带所述会话信息。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例在多设备环境下,将用户、用户设备及会话的相关信息关联起来。
本发明实施例对上述图1所示的非多设备环境下应用服务器中维护的会话相关信息的存储结构进行了扩展,增加“设备”节点作为“用户”节点的子节点,并将“会话”节点作为“设备”节点的子节点,从而实现了用户与多设备相关联。
在多设备环境下,通过重用因特网多媒体子网(IMS,InternetMultimedia Subsystem)中的第三方注册机制,应用服务器从SIP/IP核心网获取用户的多个设备的设备地址信息,并将用户地址与设备地址之间的关联关系进行存储。
在多设备环境下,应用服务器从用户所发送的、携带SDP描述行的SIP消息的Contact头域中获得参与会话的设备地址。然后,应用服务器根据其存储的上述用户地址与设备地址之间的关联关系,得到上述参与会话的设备地址所对应的用户地址,将用户地址作为“用户”节点的值,将上述参与会话的设备地址作为上述“用户”节点的子节点“设备”节点的值。
该实施例提供的应用服务器中存储的用户所参与的会话的相关信息的存储结构如图4所示:
如图4所示,应用服务器为每个参与会话的用户维护一个有层次的存储结构,图中的方框代表存储节点,椭圆代表节点中的内容,下面对该结构中各节点的含义加以描述:
“用户”:在该节点的内容中提供了用户的地址。“用户”节点的子节点是“设备”;
“设备”:在该节点的内容中提供了设备的地址。“设备”节点的子节点是“会话”,代表用户使用该设备参与的会话;
“会话”:该节点的内容中提供了会话标识符、对方参与者地址、对方网络类型、对方地址类型等会话列表信息,会话节点的子节点是“关联媒体”。
“关联媒体”:该节点的内容中提供了媒体类型、传送和接收该媒体所使用的传输端口号、传输协议以及媒体编码格式等会话相关联的媒体信息。
通过上述图4所示的存储结构,就能够在应用服务器中实现用户设备与该设备所参与的会话的相关信息之间的关联,用户可以通过向应用服务器进行订阅,来获取用户或者某个设备所参与的会话列表以及会话相关联的媒体信息,并提高处理速度。
实施例二
该实施例在多设备通信环境下定义一个事件包″session-info″,通过该事件包用户向应用服务器订阅该用户的设备所参与的会话的相关信息,该相关信息主要包括当前会话列表及与会话相关联媒体的信息。
上述用户和应用服务器之间通信的订阅和通知机制使用SUBSCRIBE(订阅)请求和NOTIFY(通知)消息,用户作为订阅者向作为资源的跟踪实体(通知者)的应用服务器发送SUBCRIBE请求以订阅该资源的状态事件,SUBSCRIBE请求中包含一个″Event″头域,指定订阅的事件或者事件类型。通知者在当该资源状态改变时发送NOTIFY消息给订阅者,在NOTIFY体中携带资源状态或者资源状态变化信息。
上述事件包″session-info″设置在SUBSCRIBE请求和NOTIFY消息的Event头域中,表明订阅和通知的事件为多设备环境下用户设备所参与的会话列表及会话相关媒体信息。
在上述事件包″session-info″中包含的会话的相关信息文档采用XML格式,文档格式为″application/session-info+xml″。因此,所有″session-info″事件包的订阅者和通知者都必须支持″application/session-info+xml″数据格式。
上述″application/session-info+xml″文档的结构如图5所示,该文档的MIME类型为″application/session-info+xml″,该文档的根节点是<user>元素(代表用户),每个<user>元素包含一个″address″属性,该属性值为用户地址,<user>元素包含一个到多个<device>元素(代表注册到该用户地址的不同设备)。
<device>元素包含一个″address″属性,该属性值为设备地址,<device>元素包含零个到多个<session>元素(代表会话)。
<session>元素包含下列属性:
″sess-id″属性:会话的全球唯一的标识符;
″participant″属性:会话的对方参与者;
″nettype″属性:指定对方网络类型;
″addrtype″属性:指定对方地址类型;
″other″属性:供扩展使用。
<session>元素包含零个或者多个<media>元素,代表会话相关联的媒体信息。<media>元素包含下列属性:
″mtype″属性:指定媒体类型;
″port″属性:指定端口号;
″proto″属性:指定传输协议;
″ctype″属性:指定媒体编码格式。
该实施例提供的多设备环境下的用户通过″session-info″事件包向应用服务器获取用户的设备所参与的会话列表及会话相关联媒体类型信息的流程如图6所示,包括如下步骤:
步骤61、用户向应用服务器发送SUBSCRIBE请求,将SUBSCRIBE请求的Event头域值设为″session-info″,实现向应用服务器订阅用户的设备所参与的会话列表及会话相关联媒体类型信息。
步骤62、应用服务器接受上述SUBSCRIBE请求,向用户回复200OK应答消息,在用户和应用服务器之间建立一个订阅的对话和订阅实例。
步骤63、应用服务器向用户发送NOTIFY消息,将该NOTIFY消息的Event头域值设为″session-info″,Content-Type头域设为″application/session-info+xml″,并在NOTIFY消息的消息体中携带Content-Type头域所规定格式的通知文档,该通知文档即为上述图5所示的″application/session-info+xml″文档。
步骤64、用户向应用服务器回复200OK应答消息,确认收到上述通知信息。
步骤65、当用户所订阅的会话列表及会话相关联媒体类型信息的状态发生变化后,应用服务器向该用户发送NOTIFY消息,Event头域值设为″session-info″,Content-Type头域设为″application/session-info+xml″,并在NOTIFY消息的消息体中携带包含最新的会话列表及会话相关联媒体类型信息的上述″application/session-info+xml″文档。
步骤66、用户向应用服务器回复200OK应答消息,确认收到上述NOTIFY消息。
该实施例实现了用户通过事件包″session-info″从应用服务器来获取该用户的设备所参与的会话列表以及会话相关联的媒体信息。当用户所订阅的会话列表及会话相关联媒体类型信息的状态发生变化后,应用服务器通过事件包″session-info″向用户发送最新的会话列表及会话相关联媒体类型信息。
实施例三
随着网络技术的演进,在通信网络上提供的消息通信业务呈现一种融合的趋势。CPM使能者(Converged IP Messaging Enabler,融合的IP消息使能者)可以跨越不同的接入网、架构在统一的IP核心网之上,以支持终端用户之间的一对一、一对多以及终端用户与应用之间的各种媒体类型(文本、图片、音频/视频片段、二进制文件、音频/视频流等)的通信。
根据CPM业务需求规范,CPM使能者可以支持CPM用户使用多种CPM注册设备进行通信,为每个CPM用户提供该用户的当前会话列表及与会话相关联的媒体信息。
CPM用户使用SIP协议建立CPM会话,CPM会谈服务器为所有CPM通信执行核心CPM服务器的功能。CPM用户建立会话过程中的SIP消息都会经过CPM会谈服务器,CPM会谈服务器可以对SIP消息中携带的SDP描述行进行分析,能够得到将要建立的会话的相关信息,如当前会话列表及与会话相关联的媒体信息等信息,CPM会谈服务器将上述会话的相关信息以特定的格式进行存储。
CPM用户通过向CPM会谈服务器进行订阅,接收CPM会谈服务器返回的通知消息,来获取该CPM用户的设备所参与的会话及会话相关联的媒体信息。当某一设备参与的会话列表或者会话相关联的媒体信息发生变化时,CPM会谈服务器可以根据用户的订阅及时通知CPM用户。
CPM会谈服务器为CPM用户(Bob)维护的会话的相关信息的存储结构如图7所示,包含以下信息:
“用户”:在该节点的内容中提供了Bob的地址(bob.example.com);
“设备”:在该节点的内容中提供了Bob所使用的设备的地址,用户Bob有多个设备,其中与Alice进行会话的设备地址为sip:bob@192.168.1.11;
“会话”;该节点的内容提供了如下内容:
会话标识符:2890844730;
对方参与者地址:alice.anywhere.com;
对方网络类型:IN;
对方地址类型:IP4;
“关联媒体”:与该会话相关联的媒体类型有两种,audio(端口号为65422,传输协议为RTP,音频编码格式为PCM,即RTP/AVP中定义的“0”)和video(端口号为64000,传输协议为RTP,视频编码格式为MPV,即RTP/AVP中定义的“32”)。
该实施例提供的CPM用户通过向CPM会谈服务器订阅″session-info″事件包以向CPM会谈服务器获取用户的设备所参与的会话的相关信息的处理流程如图8所示,包括如下步骤:
步骤81、CPM用户向CPM会谈服务器发送SUBSCRIBE请求,将SUBSCRIBE请求的Event头域值设为″session-info″;
步骤82、CPM会谈服务器接受上述SUBSCRIBE请求,向CPM用户回复200OK应答,在CPM用户和CPM会谈服务器之间建立一个订阅的对话和订阅实例;
步骤83、CPM会谈服务器向CPM用户发送NOTIFY消息,Event头域值设为″session-info″,Content-Type头域设为″application/session-info+xml″,并在消息体中携带Content-Type头域所规定格式的通知文档;
步骤84、CPM用户向CPM会谈服务器回复200OK应答,确认收到上述NOTIFY消息;
步骤85、当被订阅资源的状态发生变化,CPM会谈服务器发送NOTIFY消息,Event头域值设为″session-info″,Content-Type头域设为″application/session-info+xml″,并在消息体中携带Content-Type头域所规定格式的通知文档;
步骤86、CPM用户向CPM会谈服务器回复200OK应答,确认收到上述NOTIFY消息。
下面是一个CPM会谈服务器向CPM用户回复的NOTIFY消息的消息体的例子:
<?xml version=″1.0″encoding=″UTF-8″?>
<session-info xmlns=″urn:oma:params:xml:ns:cpm:cpm-sessions″>
<user address=″sip:bob@example.com″>
<device address=″sip:bob@192.168.1.11″>
<session sess-id=″2890844730″
participant=″sip:alice@example.com″
nettype=″IN″addrtype=″IP4″>
<media mtype=″audio″port=″65422″proto=″RTP″ctype=″PCM″/>
<media mtype=″video″port=″64000″proto=″RTP″ctype=″MPV″/>
</session>
</device>
</user>
</session-info>
该通知文档反映出CPM用户sip:bob@example.com的设备sip:bob@192.168.1.11参与了会话标识符为2890844730的CPM会话,会话的对方参与者为sip:alice@example.com,会话所关联的媒体类型有音频(音频编码格式为PCM)和视频(视频编码格式为MPV)。
该实施例实现了CPM用户通过事件包″session-info″从CPM会谈服务器来获取该用户的设备所参与的会话列表以及会话相关联的媒体信息。当用户所订阅的会话列表及会话相关联媒体类型信息的状态发生变化后,CPM会谈服务器通过事件包″session-info″向用户发送最新的会话列表及会话相关联媒体类型信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例还提供了一种多设备环境下向用户提供用户的设备参与的会话的装置,其具体实现结构如图9所示,具体可以包括:
请求接收模块91,用于接收用户发送的获取会话信息的请求;
会话信息获取模块92,用于获取所述用户的参与会话的各个设备的信息,以及每个设备所参与的会话的信息;
会话信息发送模块93,用于向所述用户发送所述会话信息获取模块所获取的所述用户的参与会话的各个设备的信息,以及每个设备所参与的会话的信息。
所述会话信息获取模块92可以包括:
会话信息分析模块921,用于对用户所发送的、携带SDP描述行的会话发起协议SIP消息进行分析,获得所述用户的参与会话的设备的设备地址,以及每个设备所参与的会话的信息;从核心网获取用户地址和用户的多个设备的设备地址之间的关联关系信息,根据多述关联关系信息,获得所述参与会话的多个设备所对应的用户地址。
所述会话信息获取模块92还可以包括:
会话信息存储模块922,用于存储用户和该用户的参与会话的各个设备之间的对应关系信息,以及用户的每个设备和该设备所参与的会话之间的对应关系信息。
所述会话信息获取模块92可以包括:
用户信息获取模块923,用于获取所述用户的信息;
分析模块924,用于根据所述用户的信息,从所述会话信息存储模块中获取所述用户参与会话的各个设备的信息,以及每个设备所参与的会话的信息。
所述向用户提供用户的设备参与的会话的装置可以是应用服务器,在CPM环境下即为CPM会谈服务器。
综上所述,本发明实施例将非多设备环境下应用服务器维护的会话相关信息的结构进行了扩展,实现了用户与多设备相关联,用户的设备与该设备所参与的会话相关联。从而可以使用户通过向应用服务器进行订阅,来获取该用户的设备所参与的会话列表以及会话相关联的媒体信息。
当用户的设备所参与的会话列表以及会话相关联的媒体信息发生变化时,应用服务器可以及时通知该用户。
利用本发明实施例,用户和网络可以清楚地获知该用户的各个设备的使用状况,使得用户可以合理地安排、分配其需要进行的业务,而各设备的利用也更加有效;网络也可通过这样的信息结构获知用户各设备的使用情况,为用户以及其他用户或业务(如呈现业务)提供更完备的信息。
上述实施例以多用户设备环境为例进行描述,熟悉本技术领域的技术人员应该可以理解,该方法和装置实施例也是用于单用户设备环境下,在单用户设备环境下也可以将用户设备信息与用户参与的会话信息建立联系,并向用户提供用户设备参与的所述会话信息。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
机译: 用于在实时协作会话参与者列表中提供反映外部通信的用户表示的方法和系统以及外部通信应用程序中指示当前实时协作会话参与的用户表示的方法
机译: 在实时通信会话参与者列表中提供用户表示的方法和系统,在外部通信应用程序中与用户表示一起反映外部通信,以指示当前的实时协作会话参与
机译: 建立数据会话的方法,配置为向其用户提供服务的通信系统,向连接至通信网络的用户设备提供服务的应用服务器以及配置为连接至通信网络的用户设备