一种会话协商方法及服务器与流程

文档序号:15455280发布日期:2018-09-15 00:56阅读:162来源:国知局

本发明涉及通信技术,尤其涉及一种会话协商方法及服务器。



背景技术:

会话描述协议(sdp,sessiondescriptionprotoco1)为会话通知、会话邀请和其它形式的多媒体会话初始化等过程提供了多媒体会话描述。现有技术中,为了会话双方能够建立会话,在sdp协议的基础上,rfc3264定义了offer/answer机制,利用该offer/answer机制可以使两个终端之间的多媒体会话达成一致。

随着互联网业务的不断发展,业务类型越来越丰富,相应的媒体参数、传输协议等信息越来越复杂,当客户端进行会话时,会话双方进行会话协商所需要涉及的参数就越来越大,这样,使得sdp报文内容体积变大,传输所需代价增加,导致所述sdp协议不适用于部分通信场景。此外,sdp消息过长,协商过程对客户端的处理能力的要求也必然会提高,这与胖服务器-瘦客户端的整体趋势相违背。而且,随着互联网业务的不断发展,也带来了客户端的异构性问题。如果使用原有sdp协商方案,令客户端直接进行点到点的会话协商,由于不同客户端的接入参数、处理能力等不尽相同,会话双方很难或无法克服其性能差异,从而导致建立会话时间延长,甚至无法建立会话的问题。



技术实现要素:

本发明实施例提供了一种会话协商方法及服务器,能至少有助于解决现有技术中存在的上述问题。

本发明实施例的技术方案是这样实现的:

本发明实施例第一方面提供了一种会话协商方法,所述方法包括:

服务器获取到会话协商请求;所述会话协商请求表征第一终端请求与第二终端进行会话协商;

基于所述会话协商请求,获取所述第一终端和所述第二终端所能够支持的会话协商能力,并判断所述第一终端和所述第二终端所能够支持的会话协商能力是否匹配;其中,不同会话协商能力对会话协商信息的解析方式不同;

基于匹配结果确定是否对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,以便于兼容处理后的会话协商信息发送至对端后使对端能够按照自身的解析方式对会话协商信息进行解析完成会话协商过程。

上述方案中,所述方法还包括:

当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力相匹配时,所述服务器将从所述第一终端/或所述第二终端中获取到的会话协商信息转发至对端,以便于对端解析接收到的会话协商信息完成会话协商过程;

当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力不相匹配时,所述服务器对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,并将兼容处理后的会话协商信息转发至对端。

上述方案中,所述方法还包括:

获取所述第一终端的第一媒体能力参数,基于预设媒体能力列表,选取与所述第一媒体能力参数相匹配的至少一个第一媒体能力模式,其中,所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力;

获取所述第一终端至少基于所述会话协商请求对应的会话业务特征从至少一个第一媒体能力模式中选取出的第一目标媒体能力模式,并将所述第一目标媒体能力模式作为所述第一终端的会话协商信息。

上述方案中,所述方法还包括:

获取所述第二终端至少基于所述第一终端对应的会话协商信息所选取出的目标媒体能力信息,并将所述目标媒体能力信息作为所述第二终端对应的会话协商信息。

上述方案中,所述目标媒体能力信息采用与媒体能力模式相同或者不相同的描述方式表示。

上述方案中,所述方法还包括:

获取所述第一终端的第一媒体能力参数,以及所述第二终端的第二媒体能力参数;

基于所述第一媒体能力参数和所述第二媒体能力参数,从预设媒体能力列表中选取出兼容所述第一媒体能力参数和所述第二媒体能力参数的第二目标媒体能力模式,并将所述第二目标媒体能力模式作为所述第一终端和所述第二终端的会话协商信息;其中,

所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力。

本发明实施例第二方面提供了一种服务器,所述服务器包括:

获取单元,用于获取到会话协商请求;所述会话协商请求表征第一终端请求与第二终端进行会话协商;还用于基于所述会话协商请求,获取所述第一终端和所述第二终端所能够支持的会话协商能力;

处理单元,用于判断所述第一终端和所述第二终端所能够支持的会话协商能力是否匹配,基于匹配结果确定是否对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,以便于兼容处理后的会话协商信息发送至对端后使对端能够按照自身的解析方式对会话协商信息进行解析完成会话协商过程;其中,不同会话协商能力对会话协商信息的解析方式不同。

上述方案中,所述处理单元,还用于当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力相匹配时,将从所述第一终端/或所述第二终端中获取到的会话协商信息转发至对端,以便于对端解析接收到的会话协商信息完成会话协商过程;当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力不相匹配时,对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,并将兼容处理后的会话协商信息转发至对端。

上述方案中,所述获取单元,还用于获取所述第一终端的第一媒体能力参数;

所述处理单元,还用于基于预设媒体能力列表,选取与所述第一媒体能力参数相匹配的至少一个第一媒体能力模式,其中,所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力;

对应地,所述获取单元,还用于获取所述第一终端至少基于所述会话协商请求对应的会话业务特征从至少一个第一媒体能力模式中选取出的第一目标媒体能力模式,并将所述第一目标媒体能力模式作为所述第一终端的会话协商信息。

上述方案中,所述获取单元,还用于获取所述第二终端至少基于所述第一终端对应的会话协商信息所选取出的目标媒体能力信息,并将所述目标媒体能力信息作为所述第二终端对应的会话协商信息。

上述方案中,所述获取单元,还用于获取所述第一终端的第一媒体能力参数,以及所述第二终端的第二媒体能力参数;

所述处理单元,还用于基于所述第一媒体能力参数和所述第二媒体能力参数,从预设媒体能力列表中选取出兼容所述第一媒体能力参数和所述第二媒体能力参数的第二目标媒体能力模式,将所述第二目标媒体能力模式作为所述第一终端和所述第二终端的会话协商信息;其中,

所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力。

本发明实施例所述的会话协商方法及服务器,能够通过服务器来辅助第一终端和第二终端的会话协商过程,而无需使客户端进行点对点的会话协商,避免了会话双方由于接入参数、处理能力不同而导致建立会话时间延长,甚至无法建立会话的问题。

附图说明

图1为本发明实施例会话协商方法的实现流程示意图;

图2为本发明实施例服务器的组成结构示意图。

具体实施方式

为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

实施例一

本实施例提供了一种会话协商方法,具体地,所述方法应用于服务器;如图1所示,所述方法包括:

步骤101:服务器获取到会话协商请求;所述会话协商请求表征第一终端请求与第二终端进行会话协商;

步骤102:基于所述会话协商请求,获取所述第一终端和所述第二终端所能够支持的会话协商能力,并判断所述第一终端和所述第二终端所能够支持的会话协商能力是否匹配;其中,不同会话协商能力对会话协商信息的解析方式不同;

本实施例中,所述会话协商能力可以具体为会话扩展能力,即所述服务器能够通过终端的会话协商能力来判断出终端是否具有服务管控会话协商扩展能力。在一具体实施例中,当所述第一终端和所述第二终端均具有,或者均不具有服务管控会话协商扩展能力,此时,所述第一终端和第二终端的会话协商能力相匹配,否则,不匹配。

步骤103:基于匹配结果确定是否对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,以便于兼容处理后的会话协商信息发送至对端后使对端能够按照自身的解析方式对会话协商信息进行解析完成会话协商过程。

具体地,当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力相匹配时,所述服务器将从所述第一终端/或所述第二终端中获取到的会话协商信息转发至对端,如所述服务器将从第一终端获取到的会话协商信息发送至第二终端,并将从第二终端获取到的会话协商信息发送到第一终端,以便于对端能够解析接收到的会话协商信息,进而基于解析结果完成会话协商过程;或者,

当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力不相匹配时,所述服务器对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,并将兼容处理后的会话协商信息转发至对端,如所述服务器将从第一终端获取到的会话协商信息进行兼容处理,以兼容处理后的所述会话协商信息能够被所述第二终端解析,进而将兼容处理后的会话协商信息发送至第二终端,同理,将从第二终端获取到的会话协商信息进行兼容处理,以兼容处理后的所述会话协商信息能够被所述第一终端解析,进而将兼容处理后的会话协商信息发送至第一终端,如此,通过所述服务器来辅助所述第一终端与所述第二终端完成会话协商过程。

在一具体实施例中,当所述第一终端具有服务管控会话协商扩展能力时,也就是说,第一终端需要通过服务器来辅助自身与第二终端进行会话协商过程时,所述第一终端还会向所述服务器发送第一媒体能力参数,对应地,所述服务器在获取到所述第一终端的第一媒体能力参数后,基于预设媒体能力列表,选取与所述第一媒体能力参数相匹配的至少一个第一媒体能力模式,这里,所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力;所述媒体能力模式为一标识信息,对应地,所述第一终端支持服务管控会话协商扩展能力可具体表示所述第一终端能够解析媒体能力模式,并解析得到媒体能力模式所表征的媒体能力参数,同理,所述第二终端支持服务管控会话协商扩展能力也表示所述第二终端能够解析媒体能力模式,并能够解析得到媒体能力参数所表征的媒体能力参数,这样,当第一终端和第二终端均支持服务管控会话协商扩展能力,此时,服务器即可通过发送媒体能力模式来辅助双方完成会话协商过程,无需发送具体参数,为减小报文的体积,降低信令代价奠定了基础。

进一步地,所述服务器选取出至少一个第一媒体能力模式,将所述至少一个第一媒体能力模式发送至所述第一终端,所述第一终端基于所述会话协商请求对应的会话业务特征,从至少一个第一媒体能力模式中选取出的第一目标媒体能力模式,并将选取出的第一目标媒体能力模式发送至服务器,所述服务器将所述第一目标媒体能力模式作为所述第一终端的会话协商信息。

在另一具体实施例中,所述服务器将从所述第一终端获取到的会话协商信息发送至所述第二终端后,所述第二终端至少基于所述第一终端对应的会话协商信息选取出的目标媒体能力信息,并将所述目标媒体能力信息发送至所述服务器,所述服务器将所述目标媒体能力信息作为所述第二终端对应的会话协商信息。本实施例中,所述目标媒体能力信息采用与媒体能力模式相同或者不相同的描述方式表示,也就是说,当所述第二终端也支持服务管控会话协商扩展能力时,所述目标媒体能力信息可以具体为特定媒体能力模式,否则,所述目标媒体能力信息为基于rfc4566定义的标准媒体参数格式所描述的媒体能力参数。

在实际应用中,当所述第一终端和第二终端均支持服务管控会话协商扩展能力时,所述第一终端和所述第二终端的协商过程可以由服务器来确定,具体地,服务器获取所述第一终端的第一媒体能力参数,以及所述第二终端的第二媒体能力参数,并基于所述第一媒体能力参数和所述第二媒体能力参数,从预设媒体能力列表中选取出兼容所述第一媒体能力参数和所述第二媒体能力参数的第二目标媒体能力模式,并将所述第二目标媒体能力模式作为所述第一终端和所述第二终端的会话协商信息。这里,由于所述服务器在选取第二目标媒体能力模式之前,已经获取所述第一终端和第二终端的媒体能力参数,且所述第二目标媒体能力模式也是基于所述第一终端和第二终端的媒体能力参数而确定出的,所以,所述服务器选取出的第二目标媒体能力模式所表征的媒体能力参数必然是第一终端和第二终端所能够支持的,进而当服务器将所述第二目标媒体能力模式发送至所述第一终端和第二终端后即可使所述第一终端和第二终端完成会话协商过程,进而完成会话。当然,基于上述思路,在所述第一终端和第二终端均不支持服务管控会话协商扩展能力,或者两者中其一支持服务管控会话协商扩展能力时,所述服务器也能够通过获取第一终端和第二终端的媒体能力参数来选取出双方均匹配的目标媒体能力参数,进而辅助双方完成会话协商过称。

这样,本发明实施例所述的方法,能够通过服务器来辅助第一终端和第二终端的会话协商过程,而无需使客户端进行点对点的会话协商,避免了会话双方由于接入参数、处理能力不同而导致建立会话时间延长,甚至无法建立会话的问题。

实施例二

本实施例提供了一种服务器,如图2所示,所述服务器包括:

获取单元21,用于获取到会话协商请求;所述会话协商请求表征第一终端请求与第二终端进行会话协商;还用于基于所述会话协商请求,获取所述第一终端和所述第二终端所能够支持的会话协商能力;

处理单元22,用于判断所述第一终端和所述第二终端所能够支持的会话协商能力是否匹配,基于匹配结果确定是否对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,以便于兼容处理后的会话协商信息发送至对端后使对端能够按照自身的解析方式对会话协商信息进行解析完成会话协商过程;其中,不同会话协商能力对会话协商信息的解析方式不同。

在一实施例中,所述处理单元22,还用于当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力相匹配时,将从所述第一终端/或所述第二终端中获取到的会话协商信息转发至对端,以便于对端解析接收到的会话协商信息完成会话协商过程;当匹配结果表征所述第一终端和所述第二终端所能够支持的会话协商能力不相匹配时,对从所述第一终端/或所述第二终端中获取到的会话协商信息进行兼容处理,并将兼容处理后的会话协商信息转发至对端。

在另一实施例中,所述获取单元21,还用于获取所述第一终端的第一媒体能力参数;

所述处理单元22,还用于基于预设媒体能力列表,选取与所述第一媒体能力参数相匹配的至少一个第一媒体能力模式,其中,所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力;

对应地,所述获取单元,还用于获取所述第一终端至少基于所述会话协商请求对应的会话业务特征从至少一个第一媒体能力模式中选取出的第一目标媒体能力模式,并将所述第一目标媒体能力模式作为所述第一终端的会话协商信息。

在另一实施例中,所述获取单元21,还用于获取所述第二终端至少基于所述第一终端对应的会话协商信息所选取出的目标媒体能力信息,并将所述目标媒体能力信息作为所述第二终端对应的会话协商信息。

在实际应用中,所述目标媒体能力信息采用与媒体能力模式相同或者不相同的描述方式表示。

在另一实施例中,所述获取单元21,还用于获取所述第一终端的第一媒体能力参数,以及所述第二终端的第二媒体能力参数;

所述处理单元22,还用于基于所述第一媒体能力参数和所述第二媒体能力参数,从预设媒体能力列表中选取出兼容所述第一媒体能力参数和所述第二媒体能力参数的第二目标媒体能力模式,将所述第二目标媒体能力模式作为所述第一终端和所述第二终端的会话协商信息;其中,所述预设媒体能力列表中包含有至少两种媒体能力模式;每一所述媒体能力模式均能够与会话协商过程中终端所涉及到媒体能力参数相关联,以标识出终端所支持的媒体能力。

这里需要指出的是:以上服务器实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明服务器实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。

实施例三

本实施例提供了一种会话协商方法,具体地,本实施例所述的方法对会话协商中的媒体能力进行了规范,并提出了模式的概念,即媒体能力模式,该媒体能力模式用于统一并规范化客户端之间,以及客户端与服务器之间的媒体描述和协商过程。这里,以音视频会话为例,本实施例的媒体能力参数可以具体包括编解码能力和传输协议能力;其中,

所述编解码能力,标记为co,其格式为:a=co:<编解码编号><编解码名称><编解码的相关参数列表>;这里,所述<编解码编号>表示媒体流使用的编解码的编号,其序号由客户端决定。所述<编解码名称>表示媒体流使用的编解码方案名称。所述<编解码的相关参数列表>列举出当前编解码的相关参数信息。在一具体实施例中,对于同一种编解码来说,其附加不同的相关参数也会被赋予不同的编解码编号。编解码的相关参数列表可以为空,此时编解码的相关参数采用默认值。

在实际应用中,针对音频业务,编解码的相关参数可以具体包括采样率参数,标记为sr;而针对视频业务,编解码的相关参数可以具体包括分辨率参数,标记为r,帧率参数,标记为f;具体地,,编解码相关参数的具体格式可以对应为:

a=sr:<采样率编号><采样率>,其中,<采样率编号>是指媒体流使用某种编解码的采样率的编号,其序号由客户端决定,<采样率>指代媒体流使用某种编解码的采样率的具体数值,单位是hz。

a=r:<分辨率编号><分辨率>,其中,<分辨率编号>是指媒体流使用某种编解码的分辨率的编号,其序号由客户端决定,<分辨率>指代媒体流使用某种编解码的分辨率大小。

a=f:<帧率编号><帧率>,其中,<帧率编号>是指媒体流使用某种编解码的帧率编号,其序号由客户端决定,<帧率>指代媒体流使用某种编解码的帧率大小,单位是帧/秒。

进一步地,所述传输协议能力,标记为pro,其格式为:a=pro:<传输协议编号><传输协议名称>;其中,所述<传输协议编号>是指媒体流使用的传输协议的编号,其序号由客户端决定。所述<传输协议名称>指媒体流使用的传输协议名称。

本实施例中,为了规范并简化媒体描述和协商过程,结合上述编解码能力和传输协议能力的定义,本实施例提出了模式的概念,即媒体能力模式,标记为pa,具体定义如下:

a=pa:<模式编号><媒体能力列表>,其中,所述<模式编号>用于表示某种媒体能力模式的固定编号。模式编号由服务器根据其存储的媒体能力列表给出,其在数值上可能是不连续的。模式编号与媒体能力模式优先级无关,这里,在实际应用中,针对需求不同的多种业务类型,服务器可以统一制定媒体能力模式并分配模式编号,且模式编号与优先级无关。进一步地,所述<媒体能力列表>包含会话协商中使用的媒体能力参数,如传输协议,以及可能涉及到的媒体参数。

在一具体实施例中,对于音视频会话,媒体能力模式的定义可以具体如下:

a=pa:<模式编号><编解码方案><传输协议方案>,其中,<编解码方案>表示该模式选择的编解码信息,<传输协议方案>表示该模式选择的传输协议信息;同理,套用音视频的媒体能力参数,媒体能力模式的定义即为:

a=pa:<模式编号>co=<编解码编号>pro=<传输协议编号>,其中,<编解码编号>和<传输协议编号>指代客户端定义的相应编解码能力和传输协议能力。

当然,在实际应用中,媒体能力列表中涉及的媒体能力参数可以根据业务的需求不断扩展。

本实施例会话协商方法在传统的点对点sdp协商基础上,将服务器加入协商过程,即参与的实体有主叫方、被叫方、服务器。本实施例会话协商方法包括用户注册、媒体能力交互和会话建立三个过程。首先客户端(包含主叫方和被叫方)分别与服务器交互,在服务器上进行用户注册,客户端不仅仅完成传统意义上的注册,注册消息需要携带服务管控会话协商能力标签,用于表明此终端支持本方案所提出的服务管控的会话协商扩展能力。注册成功后,客户端与服务器进行媒体能力交互过程,即客户端将自身所支持的媒体能力参数发送给服务器,服务器根据客户端支持的媒体能力参数,以及第三方管控机构的业务需求,将规范化的媒体能力以媒体能力模式的形式回送至客户端。在会话协商过程中,主叫方根据本次会话的媒体类型需求,选定合适的媒体能力模式,构造相应的offer,通过信令消息传递至服务器;服务器根据注册信息,判断被叫方是否支持服务管控的sdp协商方法,若不支持则由服务器将消息进行兼容处理并发送给被叫方,否则直接转发;被叫方根据双方支持的媒体能力和业务类型,选出支持的媒体能力参数,构造相应的answer回送给服务器;服务器将不兼容的answer进行兼容处理,并发送给主叫方。以下结合具体应用场景对本发明实施例所述的会话协商方法做进一步详细说明;具体地,

第一,注册过程;具体步骤包括:

步骤1:客户端生成注册请求消息并将其发送至服务器。

这里,当所述客户端支持服务管控能力扩展,即具有服务管控会话协商扩展能力时,所述注册请求信息中除了携带有客户端对应的用户信息、位置信息之外,还携带有服务管控会话协商能力标签,该标签可以具体标记为“sc-v0”,例如,支持并使用服务管控能力扩展的客户端需要注册时在“a=csup”中携带“sc-v0”标签。

步骤2:接收到注册请求消息之后,服务器对注册请求消息进行解析,除了执行常规注册处理过程,即提取出客户端的用户信息和位置信息进行用户鉴权,并回送注册响应消息之外,还需要提取可能存在的服务管控会话协商扩展能力标签,并记录用户客户端的会话协商扩展能力。

第二,媒体能力交互过程;这里,注册成功后,客户端与服务器进行媒体能力交互。结合本实施例关于媒体能力模式的定义,媒体能力交互的流程步骤具体包括:

步骤1:客户端根据自身所支持的媒体能力,例如所支持的的传输能力(如传输协议能力)、媒体类型以及编解码能力等信息,生成媒体能力描述信息,并通过媒体能力报告消息将媒体能力描述信息发送至服务器。其中,所述媒体能力描述信息中包含有媒体能力参数,所述媒体能力参数表征有客户端所支持的的传输协议能力、媒体类型以及编解码能力等信息。这里,客户端可以采用多种形式向服务器发送媒体能力报告消息、,如以xml语言进行表达媒体能力报告消息。

步骤2:服务器根据收到的媒体能力报告消息,将客户端所对应的媒体能力参数,例如所支持的媒体类型、传输协议能力以及编解码能力等信息保存在数据库中,并根据服务器存储的媒体能力列表将客户端的媒体能力参数以编号进行标记。

这里,在实际应用中,服务器会根据不同的业务需求以及第三方机构的管控要求,将媒体能力参数进行组合,得到针对特定业务的备选媒体能力模式,这样,当服务器获取到针对该客户端的媒体能力参数后,确定出该媒体能力参数的编号,以及与该编号相对应的至少一个备选媒体能力模式,并将该编号以及确定出的至少一个备选媒体能力模式发送至客户端。

第三,会话建立过程;本实施例以已知主叫方具有服务管控会话协商扩展能力为例;具体步骤包括:

步骤1:主叫方根据会话的能力需求和业务需求,对服务器提供的备选媒体能力模式进行选择,并将选择结果以offer的形式发送给服务器;例如,主叫方与被叫方进行视频会话。

步骤2:服务器收到主叫方发来的offer之后,根据客户端的注册信息,判断被叫方是否具有服务管控会话协商扩展能力。若被叫方具有服务管控会话协商扩展能力,则服务器直接将offer发送给被叫方;否则,服务器将offer映射成rfc4566所定义的标准媒体流描述形式,并将转换后的标准媒体流描述形式以offer形式发给被叫方。

步骤3:被叫方收到offer后,根据业务需求及自身能力,在offer提供的几种备选模式中进行选择,并将选择的模式放入answer中回送给服务器。这里,如果被叫方具有服务管控会话协商扩展能力,则answer以媒体能力模式的标准形式进行表达;如果被叫方不具有服务管控会话协商扩展能力,则answer以rfc4566定义的标准媒体参数格式进行表达。

步骤4:服务器收到被叫方的answer后,根据answer消息的形式,判断被叫方是否具有服务管控会话协商扩展能力,若被叫方具有服务管控会话协商扩展能力,则服务器直接将answer发送给主叫方;否则,服务器将收到的answer进行转换,将标准的媒体参数格式转换为模式的标准形式表达,并发送给主叫方;

步骤5:主叫方收到answer后,确认被叫方选择的结果,并进行协商,若协商成功,则会话建立,随后主叫方和被叫方开始进行通话。

本实施例通过将媒体能力参数的组合以媒体能力模式标识出,且该媒体能力模式使用编号标记,使得出现过一次的媒体能力参数只需使用编号就可以表达,无需将媒体能力参数重新描述,这样,能够使sdp报文的体积大大减小,信令代价大大降低。在不同的实施例中,媒体能力模式也可以使用不同于编号的其他编码规则加以标记。在不同的实施例中,服务器和/或客户端可以保存或者获得媒体能力模式编号或编码标记的列表记录,也可以是用于推出媒体能力模式编号或编码的编号或编码规则,可以在需要时查询媒体能力参数是否能够使用已知的或可获得的编号或编码表示;对于新出现的尚不能用已知的或可获得的编号或编码表示的媒体能力参数,可以建立新的编号或编码,可以新编制对应的编号或编码,可以相应更新媒体能力模式编号或编码标记的列表记录或规则,使得相同的媒体能力参数再次出现时,可以使用已经使用过的编号或编码标记。

而且,本实施例通过将第三方服务器引入sdp协商过程,而不再使用传统的点对点协商方法(客户端到客户端的协商方法),如此,可以屏蔽客户端之间由于异构性带来的差异。此外,本实施例所述的会话协商方法具有向前兼容性,且与rfc5939的规则能够兼容,且该兼容性使得实现本实施例所述的方法时可以使用现有的sip客户端,通过支持新定义的属性行和标签,即可支持服务管控的sdp协商方法,无需对现有sip客户端进行改造,提高了本实施例的可行性。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1