一种对会话能力信息进行处理的方法和终端转让专利

申请号 : CN200510127496.X

文献号 : CN1984132B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱雷罗龙

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种终端对接收到的会话能力信息进行处理的方法,包括:A、终端接收会话消息,所述的会话消息中,携带会话能力信息;B、终端根据所述会话能力信息,选择合适的会话能信息,构成应答消息。本发明还公开了一种对会话能力信息进行处理的终端。使用该方法和终端,可以从包含多个会话能力信息和其属性信息的会话消息中,恰当的选择会话能力信息,协商建立会话。

权利要求 :

1.一种对会话能力信息进行处理的方法,其特征在于,包括以下步骤:A、终端接收会话消息,所述的会话消息中包含由呼叫会话控制实体、应用服务器、多媒体资源功能实体、业务能力交互管理器、SIP协议的应用层网关和其他网络实体添加的、携带有多个会话能力信息和各会话能力信息的属性信息的一个或多个会话能力信息块;所述会话能力信息的属性信息包括生成会话能力信息的网络实体信息和会话能力信息的优先级信息;所述生成会话能力信息的网络实体信息包括归属属性信息和实体属性信息;所述归属属性信息用于指示会话能力信息所属的网络;所述实体属性信息用于指示会话能力信息所属的网络实体;所述多个会话能力信息块通过编号、开始标志信息和结束标志信息进行区分;

B、终端根据所述会话能力信息的属性信息中的优先级信息,选择会话消息中一个或多个会话能力信息块,然后根据终端能力、客户端软件和用户配置中部分或全部的匹配结果,从选择出的会话能力信息块中选择所述会话能力信息,构成应答消息;

当终端无法选择出用于建立会话的会话能力信息,则返回拒绝本次会话建立的应答消息,在所述拒绝本次会话建立的应答消息中包含不支持媒体参数的信息。

2.如权利要求1所述的方法,其特征在于,所述的步骤A中,所述的会话消息可以是会话建立请求或会话更新请求。

3.如权利要求1所述的方法,其特征在于,所述的会话能力信息包括下述之一或者组合:媒体类型、传输协议、媒体的格式、媒体的传输地址和端口号。

4.如权利要求3所述的方法,其特征在于,所述的媒体类型包括下述内容之一或组合:视频、音频、非连续媒体和文本。

5.如权利要求1所述的方法,其特征在于,所述的会话能力信息的属性信息,在SDP消息体中携带。

6.如权利要求5所述的方法,其特征在于,所述的会话能力信息的属性信息在会话消息头或消息体中描述。

7.如权利要求1所述的方法,其特征在于,所述的归属属性信息,包括下述内容之一或者组合:发起方、发起方归属网络和接收方归属网络。

8.如权利要求1所述的方法,其特征在于,所述的实体属性信息,包括下述内容之一或者组合:应用服务器、呼叫会话控制实体、多媒体资源功能实体、业务能力交互管理器、会话初始化协议的应用层网关和媒体网关。

9.如权利要求1所述的方法,其特征在于,所述的步骤B中,对会话能力信息的属性信息进行选择。

10.如权利要求9所述的方法,其特征在于,所述的属性信息还包括下述内容之一或组合:运营商信息、对会话能力信息进行修改的网络实体类型信息、对会话能力信息进行修改的网络实体标识、会话能力信息操作类型、会话能力信息操作标志。

11.如权利要求1所述的方法,其特征在于,按照如下方式之一设置会话能力信息优先级:会话发起方提供的会话能力信息的优先级级别最高;

会话能力最高的会话能力信息的优先级级别最高;

会话能力最低的会话能力信息的优先级级别最高。

12.如权利要求1所述的方法,其特征在于,所述的步骤A中,所述的会话能力信息,来自多个不同的网络实体。

13.如权利要求1所述的方法,其特征在于,所述的会话能力信息,通过会话描述协议SDP部分携带。

14.如权利要求13所述的方法,其特征在于,所述的会话能力信息,使用SDP的消息体中描述媒体信息的XML或脚本语言SCRIPT描述。

15.如权利要求1所述的方法,其特征在于,所述会话能力信息为会话描述协议SDP、应用程序、位置信息或者呈现presence信息。

16.如权利要求15所述的方法,其特征在于,所述的会话描述协议SDP包括下述内容之一或组合:会话信息、会话发起方联系信息、时间信息、连接信息、编解码类型、带宽信息、封装密码、传输协议会话属性的描述、编码速率、媒体流的速率、分组包间隔时间、写字板及其大小和方向、多方会话类型、字体设置、媒体描述语言、编码质量或/和格式设置参数媒体属性的描述。

17.如权利要求16所述的方法,其特征在于,所述的应用程序包括下述内容之一或组合:文本、铃声、视频媒体、音频媒体、动画或/和执行程序。

18.如权利要求1所述的方法,其特征在于,所述的步骤B中,如果没有合适的会话能力信息,终端拒绝或者提供新的会话能力信息进行协商。

19.如权利要求1所述的方法,其特征在于,所述的步骤B中,所述的应答消息构成时,还包括参考策略信息。

20.如权利要求19所述的方法,其特征在于,所述的策略信息包括下述内容之一或者组合:运营商的策略信息、终端签约信息、终端能力信息、用户的选择信息。

21.如权利要求1所述的方法,其特征在于,所述的应答消息中,携带有效的会话能力信息。

22.如权利要求1所述的方法,其特征在于,所述的步骤B中,还包括:如果终端对该能力信息内容不完全匹配,则不选择该能力信息或者对该能力信息内容进行删除或者修改。

23.一种对会话能力信息进行处理的终端,其特征在于,包括:

会话能力信息选择模块,用于根据终端接收到的会话消息携带的会话能力信息的属性信息中的优先级信息,选择会话消息中包含的由呼叫会话控制实体、应用服务器、多媒体资源功能实体、业务能力交互管理器、SIP协议的应用层网关和其他网络实体添加的、携带有多个会话能力信息和各会话能力信息的属性信息的一个或多个会话能力信息块,然后根据终端能力、客户端软件和用户配置中部分或全部的匹配结果,从选择出的会话能力信息块中选择所述会话能力信息;所述会话能力信息的属性信息包括生成会话能力信息的网络实体信息和会话能力信息的优先级信息;所述生成会话能力信息的网络实体信息包括归属属性信息和实体属性信息;所述归属属性信息用于指示会话能力信息所属的网络;所述实体属性信息用于指示会话能力信息所属的网络实体;所述多个会话能力信息块通过编号、开始标志信息和结束标志信息进行区分;

应答消息生成模块,用于根据所述会话能力信息选择模块的选择结果,生成应答消息;

当会话能力信息选择模块无法选择出用于建立会话的会话能力信息时,返回拒绝本次会话建立的应答消息,在所述拒绝本次会话建立的应答消息中包含不支持媒体参数的信息。

24.如权利要求23所述的终端,其特征在于,还包括:

消息接收模块,用于接收会话消息;

会话能力信息识别模块,用于对接收的会话消息中会话能力信息的会话能力信息块进行区分,识别会话能力信息的属性信息;

消息发送模块,用于发送生成的应答消息。

说明书 :

一种对会话能力信息进行处理的方法和终端

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种会话能力信息进行处理的方法和终端。 背景技术
[0002] 会话描述协议(SDP)(RFC 2327)定义了IP通信中对会话能力进行描述的方法,SDP协议能够被携带在多种协议中(如(会话初始化协议(SIP)、会话通告协议(SAP))。现有SDP协议携带媒体信息,可以让会话接收方终端了解正在发起的会话的会话能力,使会话接收方终端能够选择会话能力以加入到会话当中。SDP描述的内容包括:会话名称和目的、会话开始时间、组成会话的媒体、接收媒体的信息(IP地址、端口号和其他信息)。其中,媒体的信息包括:媒体的类型(视频、音频等)、传输协议(IP、RTP等)、媒体的格式(AMR、MPEG-2、MPEG-4等)、媒体的传输地址和端口。
[0003] SIP利用SDP协议对会话能力描述的能力,向会话接收方终端通知要建立会话的信息,可以让会话接收方终端了解发起会话的媒体参数,可以让会话接收方终端根据终端能力建立相应的会话。因此,SDP协议在基于SIP的会话建立过程中充当重要的角色,被广泛的应用。
[0004] 现有技术SDP描述中只能携带会话发起方一个实体对会话能力的描述,在SIP消息中也只能够携带一段对会话能力参数的SDP描述,会话发起方对执行会话的媒体的描述,不能够将参与会话协商的网络实体的业务支持能力和网络策略加入到会话协商过程中,不能够支持基于SIP协议和SDP协议的多媒体业务向多样性方面的发展。 [0005] 随着基于SIP的分组交换网络的多媒体应用发展,会出现多个网络中间实体同时参与会话的建立,多个网络实体共同提供一项业务的情况,比如可以由不同的媒体资源处理实体分别处理音频和视频媒体。这时,要求由SDP协议承担描述的会话能力信息可能包括了参与服务的不同运营商网络的多个网络实体或终端的媒体类型和编码参数,从数量上和种类上都将有所增加。但是现有SDP协议所支持的描述方法,对不同来源的对会话能力的描述就不能够在SDP协议对会话能力的描述中区分出来。在会话协商的主会话接收方终端使用的会话发起协议(SIP)也不支持在SIP消息体内携带来自不同网络实体和终端的多个不同SDP描述的需求。这些随着技术发展显现出来的需求,都需要在技术上对SDP协议描述的一个SDP描述中的会话能力信息的属性信息加以定义,并且对SIP协议对多个会话能力信息进行扩展。
[0006] 在现有技术中,在会话消息中携带的会话能力信息被单独保存,如果网络实体在会话消息中添加的会话能力信息,接收方无法获得这些会话能力信息的属性信息,也就不能有效地从这些会话能力信息中选择用于建立会话的会话能力信息。
[0007] 发明内容
[0008] 本发明提供一种会话能力信息进行处理的方法和终端,用以实现的多媒体网络会话协商协议中携带的多个会话能力信息的处理,解决无法支持多个网络实体或终端,对不同来源的媒体信息的描述无法在会话消息中描述后,被终端识别的和处理的问题。 [0009] 本发明方法包括:
[0010] 一种对会话能力信息进行处理的方法,包括以下步骤:
[0011] A、终端接收会话消息,所述的会话消息中包含由呼叫会话控制实体、应用服务器、多媒体资源功能实体、业务能力交互管理器、SIP协议的应用层网关和其他网络实体添加的、携带有多个会话能力信息和各会话能力信息的属性信息的一个或多个会话能力信息块;所述会话能力信息的属性信息包括生成会 话能力信息的网络实体信息和会话能力信息的优先级信息;所述网络实体信息包括归属属性信息和实体属性信息;所述归属属性信息用于指示会话能力信息所属的网络;所述实体属性信息用于指示会话能力信息所属的网络实体;所述多个会话能力信息块通过编号、开始标志信息和结束标志信息进行区分; [0012] B、终端根据所述会话能力信息的属性信息中的优先级信息,选择会话消息中一个或多个会话能力信息块,然后根据终端能力、客户端软件和用户配置中部分或全部的匹配结果,从选择出的会话能力信息块中选择所述会话能力信息,构成应答消息; [0013] 当终端无法选择出用于建立会话的会话能力信息,则返回拒绝本次会话建立的应答消息,在所述拒绝本次会话建立的应答消息中包含不支持媒体参数的信息。 [0014] 所述的步骤A中,所述的会话消息可以是会话建立请求或会话更新请求。 [0015] 所述的会话能力信息包括下述之一或者组合:
[0016] 媒体类型、传输协议、媒体的格式、媒体的传输地址和端口号。 [0017] 所述的媒体类型包括下述内容之一或组合:
[0018] 视频、音频、非连续媒体和文本。
[0019] 所述的会话消息中,还携带有会话能力信息的属性信息。
[0020] 所述的会话能力信息的属性信息,在SDP消息体中携带。
[0021] 所述的会话能力信息的属性信息在会话消息头或消息体中描述。 [0022] 所述的会话能力信息的属性信息,是生成会话能力信息的网络实体信息。 [0023] 所述的生成会话能力信息的网络实体信息中的归属属性信息,包括下述内容之一或者组合:
[0024] 发起方、发起方归属网络和接收方归属网络。
[0025] 所述的生成会话能力信息的网络实体信息中的实体属性信息,包括下述内容之一或者组合:
[0026] 应用服务器、呼叫会话控制实体、多媒体资源功能实体、业务能力交互管 理器、会话初始化协议的应用层网关和媒体网关。
[0027] 所述会话消息包括会话能力信息的属性。
[0028] 所述的步骤B中,对会话能力信息的属性信息进行选择。
[0029] 所述的属性信息包括下述内容之一或组合:
[0030] 运营商信息、对会话能力信息进行修改的网络实体类型信息、对会话能力信息进行修改的网络实体标识、会话能力信息操作类型、会话能力信息操作标志、操作后的会话能力信息的重要性或优先级信息。
[0031] 所述的方法,按照如下方式之一设置会话能力信息优先级:
[0032] 会话发起方提供的会话能力信息的优先级级别最高;
[0033] 会话能力最高的会话能力信息的优先级级别最高;
[0034] 会话能力最低的会话能力信息的优先级级别最高。
[0035] 所述的会话能力信息块通过编号来区分。
[0036] 所述的方法,使用下述信息之一来区别所述的会话能力信息块: [0037] 开始标志信息、结束标志信息和长度信息。
[0038] 所述的步骤A中,所述的会话能力信息,来自多个不同的网络实体。 [0039] 所述的会话能力信息,通过会话描述协议SDP部分携带。
[0040] 所述的会话能力信息,使用SDP的消息体中描述媒体信息的XML或脚本语言SCRIPT描述。
[0041] 所述会话能力信息为会话描述协议SDP、应用程序、位置信息或者呈现presence信息。
[0042] 所述的会话描述协议SDP包括下述内容之一或组合:
[0043] 会话信息、会话发起方联系信息、时间信息、连接信息、编解码类型、带宽信息、封装密码、传输协议会话属性的描述、编码速率、媒体流的速率、分组包间隔时间、写字板及其大小和方向、多方会话类型、字体设置、媒体描述语言、编码质量或/和格式设置参数媒体属性的描述。
[0044] 所述的应用程序包括下述内容之一或组合:
[0045] 文本、铃声、视频媒体、音频媒体、动画或/和执行程序。
[0046] 所述的步骤B中,如果没有合适的会话能力信息,终端拒绝或者提供新的会话能力信息进行协商。
[0047] 所述的步骤B中,所述的应答消息构成时,还包括参考策略信息。 [0048] 所述的策略信息包括下述内容之一或者组合:
[0049] 运营商的策略信息、终端签约信息、终端能力信息、用户的选择信息。 [0050] 所述的应答消息中,携带有效的会话能力信息。
[0051] 所述的步骤B中,还包括根据终端的能力对收到的会话能力信息进行匹配的步骤,如果终端对该能力信息内容不完全匹配,则不选择该能力信息或者对该能力信息内容进行删除或者修改。
[0052] 本发明的终端包括:
[0053] 一种对会话能力信息进行处理的终端,包括:
[0054] 会话能力信息选择模块,用于根据终端接收到的会话消息携带的会话能力信息的属性信息中的优先级信息,选择会话消息中包含的由呼叫会话控制实体、应用服务器、多媒体资源功能实体、业务能力交互管理器、SIP协议的应用层网关和其他网络实体添加的、携带有多个会话能力信息和各会话能力信息的属性信息的一个或多个会话能力信息块,然后根据终端能力、客户端软件和用户配置中部分或全部的匹配结果,从选择出的会话能力信息块中选择所述会话能力信息;所述会话能力信息的属性信息包括生成会话能力信息的网络实体信息和会话能力信息的优先级信息;所述网络实体信息包括归属属性信息和实体属性信息;所述归属属性信息用于指示会话能力信息所属的网络;所述实体属性信息用于指示会话能力信息所属的网络实体;所述多个会话能力信息块通过编号、开始标志信息和结束标志信息进行区分;
[0055] 应答消息生成模块,用于根据所述会话能力信息选择模块的选择结果,生成应答消息;当会话能力信息选择模块无法选择出用于建立会话的会话能力信息时,返回拒绝本次会话建立的应答消息,在所述拒绝本次会话建立的应答消息中包含不支持媒体参数的信息。
[0056] 所述的终端,还包括:
[0057] 消息接收模块,用于接收会话消息;
[0058] 会话能力信息识别模块,用于对接收的会话消息中会话能力信息的会话能力信息块进行区分,识别会话能力信息的属性信息;
[0059] 消息发送模块,用于发送生成的应答消息。
[0060] 本发明对在SIP网络中的多个会话能力信息加入到会话消息后,终端收到的会话能力信息的处理方法进行了描述。提供了在会话消息中携带多个会话能力信息,在网络中使用属性信息加以区分的方案。
[0061] 本发明利用对某个来源的媒体信息的描述新增的属性以及其中的优先级描述,使得在携带会话能力的描述的会话协商协议(包括会话初始化协议(SIP)和会话通告协议(SAP))和其他携带会话能力的描述的协议的消息中,可以保存来自于多个不同来源的会话能力的描述,这些不同来源的会话能力的描述使用属性信息进行区分,属性信息包括了用于选择的优先级信息。网络终端可以根据会话能力信息的属性信息和会话能力信息选择用户建立会话的会话能力信息。这些属性信息被终端有效的使用和选择,这一处理方法,能够让基于SDP协议描述媒体信息和其他基于媒体信息的描述更加丰富,为基于媒体信息的描述会话的业务向更加丰富的应用方向发展提供了支持。
[0062] 附图说明
[0063] 图1为本发明方案一多个会话能力描述在会话协商过程中应用的流程示意图; [0064] 图2为本发明方案一排定多个会话能力的描述优先顺序的示意图; [0065] 图3为本发明终端根据SDP的属性判断多个SDP之间的优先顺序的流程示意图; [0066] 图4为本发明终端选择会话能力信息的选择顺序示意图;
[0067] 图5为本发明终端选择会话能力信息的一个实际过程示意图;
[0068] 图6为本发明SIP网络的AS判断优先级参数并删除媒体参数中网络实体属性信息的过程,
[0069] 图7为本发明实施例3会话接收方选择会话能力的流程示意图;
[0070] 图8为本发明实施例3会话接收方终端选择媒体参数的过程
[0071] 图9为本发明的一个网络示意图。

具体实施方式

[0072] 下面结合说明书附图来说明本发明的具体实施方式。
[0073] 本发明实现了一种会话能力信息进行处理的方法和终端。该方法中,由终端接收会话消息,所述的会话消息中,携带多个会话能力信息;终端通过对所述会话能力信息进行选择,构成应答消息。
[0074] 所述的会话能力信息包括媒体类型、传输协议、媒体的格式、媒体的传输地址和端口号。
[0075] 所述的媒体类型包括视频、音频、非连续媒体和文本。
[0076] 所述会话能力信息可以为会话描述协议SDP、应用程序、位置信息或者呈现presence信息,如所述的会话描述协议SDP包括会话信息、会话发起方联系信息、时间信息、连接信息、编解码类型、带宽信息、封装密码、传输协议会话属性的描述、编码速率、媒体流的速率、分组包间隔时间、写字板及其大小和方向、多方会话类型、字体设置、媒体描述语言、编码质量或/和格式设置参数媒体属性的描述。应用程序包括文本、铃声、视频媒体、音频媒体、动画或/和执行程序。所谓多个会话能力信息,可以是指会话能力信息的来源是多个,可以是会话能力信息被添加、删除或者修改后形成的多个会话能力信息。这些会话消息中可以携带这些会话能力信息的属性信息。
[0077] 在本发明中,在会话消息中添加、删除或者修改会话能力信息的描述,可以用于实现会话协商过程。如果会话协商后的结果为会话接收方收到了网络添加的会话能力的描述,那么说明会话接收方不支持会话发起方发送的会话能力中描述的媒体参数。为了成功的建立会话,网络实体或者需要进行会话能力的 转换,如需要在不同编码参数之间进行编码转换,以使得接收方和发送方可以成功建立会话;网络实体或者为支持不同会话能力的用户终端提供不同的业务,如为支持不同媒体类型的不同用户终端提供不同的媒体类型的业务。媒体类型可以是视频、音频、非连续媒体、文本等。
[0078] 本发明在所述的会话消息中,还携带有会话能力信息的属性信息,可以在SDP消息体中携带。所述的会话能力信息的属性信息在会话消息头或消息体中描述。所述的会话能力信息的属性信息,是生成会话能力信息的网络实体信息,包括:发起方、发起方归属网络和接收方归属网络等。所述的生成会话能力信息的网络实体信息还可以是网络实体逻辑功能的信息,包括:应用服务器、呼叫会话控制功能、多媒体处理功能、业务能力交互管理器、会话初始化协议的应用层网关和媒体网关等。
[0079] 在本发明方案中,会话消息中携带的多个会话能力信息通过SDP协议规定的方法描述,既可以通过多个SDP描述分别携带不同的媒体信息,也可以通过一个SDP描述中携带多个媒体信息,下面将分别阐述这些携带方案。媒体信息还可以使用其他描述方法进行描述,多个描述方法可以通过一个媒体信息的描述或者多个媒体信息的描述。本发明的方案部分介绍通过多个SDP描述携带媒体信息的方案、通过一个SDP描述携带多个媒体信息的实现方案,以及两种方案的结合。
[0080] 以下的内容说明,网络实体为了在支持不同媒体类型的用户终端之间建立会话,在会话消息中添加了多个会话能力信息和他们的属性信息,终端根据会话能力信息属性信息和会话能力信息,根据客户端软件设置和用户意愿选择会话能力信息。 [0081] 会话消息可以是会话建立请求、会话更新请求等。会话能力信息的属性信息可以是:
[0082] 运营商信息、对会话能力信息进行修改的网络实体类型信息、对会话能力信息进行修改的网络实体标识、会话能力信息操作类型、会话能力信息操作标 志、操作后的会话能力信息的重要性或优先级信息。
[0083] 这些属性信息可以在会话消息中单独存在,也可以是和其他属性信息组合。 [0084] 会话能力信息,本发明主要以SDP协议规定的方法说明,会话能力信息还可以使用消息体中描述媒体信息的XML或脚本语言SCRIPT描述。
[0085] 会话能力信息在会话消息中携带的方案可以是以下几种:
[0086] 方案一、通过多个SDP描述携带媒体参数的实现方案。
[0087] 在方案一中,在SIP网络中多媒体会话协商的过程中允许会话消息不像现有技术方案只能携带一个SDP描述,而是包含多个会话能力信息的描述SDP,多个SDP分别描述了参与会话协商的用户终端和SIP网络中网络实体支持本次会话所提供的会话相关的媒体类型和编码参数。每个SDP描述媒体类型和编码参数的方法完全遵循SDP协议(RFC 2327)和SDP协议扩展(RFC 3388)中的规定。
[0088] 在会话消息中增加了允许携带多个SDP描述的特性后,使得用户终端、网络实体和提供公共资源的功能实体可以在会话协商过程中加入带有不同属性信息的SDP描述,这些增加的SDP描述或者提供更多的业务支持能力信息;或者提供多媒体处理的公共资源的媒体信息;或者提供其他能够带来业务灵活性的执行方法。
[0089] 如图1所示,是方案一的流程示意图,从图中可见,主要包括以下步骤: [0090] S101、会话发起方发送会话协商消息,所述会话协商消息的消息体中携带有多个会话能力信息;
[0091] S102、会话协商消息经过网络实体传送;
[0092] S103、网络实体可以在会话协商消息中添加、删除或者修改所述会话能力信息; [0093] S104、终端接收所述的会话协商消息,提取的会话能力信息,并对所述会 话能力信息进行选择,得出会话协商结果,构成应答消息。
[0094] 方案二、通过一个SDP描述携带多个来源的媒体信息的方案。
[0095] 方案二在SIP消息携带的一个SDP描述中增加了对媒体参数属性的描述,使得媒体参数的描述中可以得到该媒体属于哪类网络实体或终端和该媒体在提供业务当中的优先级别,以及提供了可以扩展的其他参数。这样,SDP描述的会话接收方终端能够通过检查会话能力信息的属性,得到会话能力信息属性信息,可以更加有效的选择发起的会话的媒体参数。
[0096] 方案二可以在一段完整的SDP描述内允许将来自不同网络和网络实体的多个媒体参数加入到一段完整的SDP记录当中,为了能够让终端能够识别这些网络实体,需要在不同的媒体参数之间用新增加的媒体参数的描述来区分。新增加的媒体参数的描述可以是媒体参数属于会话协商过程中的哪个网络的,可以是媒体参数属于哪一类网络实体的,可以是网络实体或会话接收方终端加入的优先级参数,和其他属性的描述。终端收到的会话消息的消息体中的媒体参数的描述,包括了媒体参数属于会话协商过程中的哪个网络的,媒体参数属于哪一类网络实体的,网络实体或终端加入的优先级参数,和其他属性的描述,终端使用这些媒体参数的描述可以选择选择本次会话协商的媒体参数。
[0097] 媒体描述中,增加了媒体类型和媒体优先级定义,媒体优先级属性的定义为网络所提供媒体的优先级别排序。
[0098] 在优先级设置等技术内容上,方案二可以参考方案一执行。
[0099] 终端收到带有会话能力信息的会话消息后,根据每个会话能力信息上增加的属性信息,判断在多个SDP描述之间选择SDP描述的优先顺序,然后根据优先顺序按照现有技术选择SDP中的媒体类型和编码参数。
[0100] 终端可以根据会话能力信息的属性信息中的优先级信息选择,优先级最高的会话能力信息优先选择。
[0101] 终端可以根据会话能力信息的属性信息中的标识不同网络实体信息,可以 根据来自不同网络实体的会话能力信息进行选择。
[0102] 终端可以先对会话能力信息的属性信息进行选择,然后对已被选择的会话能力信息中进一步选择会话能力信息。
[0103] 终端可以根据客户端软件的要求进行匹配。
[0104] 终端可以根据用户的选择进行匹配。
[0105] 终端按照以上内容进行的匹配,如果决定不选择其中的部分会话能力信息,可以进行删除,或者修改他们的状态。状态可以是激活,或者不激活状态。
[0106] 多个会话能力信息在会话协商过程中涉及的过程如图2所示,图2是多个使用SDP协议描述的会话能力信息在会话协商过程中被使用的过程。
[0107] 例如,会话能力信息使用SDP协议规定的方法描述,会话能力信息及其属性信息在SIP网络中终端使用方法:
[0108] 在SIP网络的会话消息中允许多个用于描述会话中使用会话能力信息,对SIP网络中会话协商的过程产生影响。
[0109] 本发明的技术方案是为用户描述会话协商中的会话能力信息的添加属性信息。增加的SDP属性信息的种类有一个或一个以上,增加的属性可以描述了生成当前SDP的网络实体或终端所属哪类网络实体,增加的属性也可以描述了生成当前SDP的网络实体或终端所属的网络。属性信息可以包括优先级,优先级的确定可以由提供和控制本次会话的应用服务器提供,也可以由其他网络实体提供;由于增加SDP属性对每个SDP的属性信息的可以比较准确,所以还可以选择由终端收到多个SDP后,根据SDP的属性判断这多个SDP之间的优先顺序。如图3所示,是终端根据SDP的属性判断这多个SDP之间的优先顺序的流程示意图。
[0110] 本发明的技术方法对增加了对每个会话能力信息的属性信息。因此会话发起方生成的会话消息时,会话消息中除了包含了描述发起方对本次会话支持的媒体类型和编码的描述外,会话消息还支持网络中的网络实体在会话消息中包含多个不同的SDP描述。在多个不同的SDP描述之间,可以通过会话消息中在 逻辑上由对多个SDP描述的属性以及优先级信息述区分不同的SDP描述。
[0111] 会话协商过程中,在SIP网络尤其是IMS网络中参与本次会话协商的网络实体包括呼叫会话控制实体(CSCF)、应用服务器(AS)、多媒体资源功能实体(MRF)、业务能力交互管理器(Service Capability Interaction Manager-SCIM)、SIP协议的应用层网关SIP-ALG和其他网络实体。参与本次会话协商的网络实体可以根据本次策略在会话消息中添加SIP网络中和本次会话协商相关的网络实体的媒体类型和编码参数,这些会话能力信息的描述使用SDP协议规定的描述方法加入到会话消息中。被添加的SDP描述和会话消息中原有的SDP描述组合在一起使会话消息包含了多个会话能力信息,在多个不同的会话能力信息之间,根据多个属性以及其中的优先级信息区分不同的SDP描述。
[0112] 终端收到的会话消息包含了发起方描述会话的媒体类型和编码参数的SDP描述,包含了参与会话协商的网络实体为了支持会话执行和提供多媒体资源等种种目的在会话消息中添加的描述SIP网络支持的媒体类型和编码参数的SDP描述。终端能够根据不同SDP描述的属性和优先级信息,选择SDP描述,并且根据SDP描述中对会话能力信息的描述,终端选择后可以得到会话协商的结果。
[0113] 按照SIP网络规定的会话协商过程,终端收到多个会话能力信息的描述后,首先根据终端能力进行匹配,然后根据客户端软件进行匹配,还可以根据用户的设置进行选择。 [0114] 终端收到多个会话能力信息的会话消息后,进行选择的步骤可以如图4所示。 [0115] 如图4所示,为本发明终端选择会话能力信息的选择顺序示意图,终端收到多个会话能力信息的会话消息后,可以依据先后顺序分别根据终端能力进行匹配、客户端软件进行匹配和用户的设置进行选择,三项选择过程可以根据其中任意两个的组合,也可以是只根据其中某一个。终端按照先后的顺序,可以先后删除或者不激活根据终端能力进行匹配,客户端软件进行匹配和用户设置 选择中,不符合接收方要求,不能用于会话建立的会话能力信息。因此,如果会话消息中没有匹配的用于建立会话的会话能力信息被选择,可以在应答消息中不添加任何会话能力信息。当然,根据终端的选择,可以将终端希望的会话能力信息加入到应答消息中。
[0116] 本发明方案可以在所述的会话消息中,设置一个或者多个会话能力信息块,用于携带会话能力信息,所述的会话能力信息块通过编号来区分,区别所述的会话能力信息块可以采用:开始标志信息、结束标志信息和长度信息。
[0117] 在会话能力信息匹配之前,还包括了根据会话能力信息的属性信息以及其中的优先级信息,选择其中的某一个或几个会话能力信息块,然后再从一个或几个会话能力信息块中选择会话能力信息。选择的会话协商的结果将被携带在终端返回给发起方的会话协商应答消息中,因此终端会话协商的选择结果可以被通知给会话发起方。会话发起方根据以上结果,按照现有规范的规定能够完成媒体生成和发送。终端如果根据会话能力信息,无法选择出用于建立会话的会话能力信息,如媒体参数,那么可以选择在应答消息中不携带会话能力信息。
[0118] 如图5所示,是本发明终端选择会话能力信息的一个实际过程示意图,图中终端会话发起方UE1和会话接收方UE2之间,通过多个网络实体传递会话消息,最终得出会话协商结果。
[0119] 如果在多个SDP描述中,仍然不能得到本次会话建立需要的媒体参数,那么终端还可以选择拒绝本次会话建立请求,而不需要象现有技术一样返回媒体参数不支持的错误信息。返回的拒绝本次会话建立的应答消息还包含了不支持媒体参数的信息。这样,会话发起方和网络实体得到网络可以提供的所有媒体参数都不能满足建立本次会话建立的要求,本次会话建立失败。
[0120] 终端对多个SDP描述的选择:
[0121] 终端收到多个SDP描述后,可以按照以下方法确定选择多个SDP描述的优先顺序。终端可以使用该方法确定多个SDP描述之间的优先顺序。会话协商过程中如果有参与的会话应用服务器进行会话处理的控制,应用服务器可以选择 设定SDP描述属性信息中的优先级。会话消息经过应用服务器设置SDP描述优先级信息后,终端收到的会话消息的消息体的多个SDP描述被赋予了优先级,终端应当根据优先级的设置排列选择SDP描述的优先顺序。
[0122] 由于新增加的SDP属性可以比较确切的描述一个SDP所示的网络实体,终端在没有优先级时可以通过其他SDP属性信息排定多个SDP描述之间的优先顺序。终端排定多个SDP描述优先顺序的方法可以如下:
[0123] 首先,会话发起方的SDP描述优先级最高;
[0124] 其次,终端可以根据SDP参数所属的网络实体区分还是归属的网络区分SDP描述的优先级别;如果以SDP参数所属的网络实体优先选择,则所属优先级别设定最高的网络实体的SDP优先级属于最高一类,其他SDP参数也分别被排定优先级的类别,然后再根据SDP参数所属网络判定每个SDP参数的优先级别;如果终端根据SDP参数所属的网络优先选择,终端从归属网络的属性判断哪个网络中所属的SDP描述的优先级次于会话发起方SDP描述的优先级,比如PoC业务中可以选择属于PoC Server(Controlling)所在的网络的SDP描述比终端所在的网络的优先级更高;
[0125] 再次,终端继续确定在网络中的不同网络实体的优先级,确定的方法可以是直接参与会话的网络实体的SDP描述优先级较高,不直接参与会话的网络实体的SDP描述的优先级较低。
[0126] 其中,网络实体是否直接参与会话的依据是,如果不通过该网络实体,会话的处理无法继续,该网络实体是直接参与会话的网络实体,否则不是直接参与会话的网络实体。 [0127] 最简单的一种多个会话能力信息的属性信息选择方法如下。
[0128] 一个会话能力消息中包括了会话发起方加入的会话能力信息,还包括了一个进行业务处理的网络实体(例如,PoC服务器、Conference服务器等)添加的会话能力信息。会话能力信息使用属性信息提示会话能力信息来自或者被发起方或者网络实体添加和修改。终端收到后,可以识别多个会话能力信息的来 源是网络实体和发起方,使用属性信息从会话能力信息中选择。并且构成应答消息,应答消息中包括了终端对会话能力信息的选择。 [0129] 终端在优先级排序结束后,选择SDP描述和媒体参数,终端根据优先顺序检查SDP描述,由优先级从高到低检查SDP描述中的媒体类型和编码参数,如果有一个SDP描述中的媒体类型和编码参数可以被接收方接受,就立即得到终端选择的媒体类型和编码;如果在所有的SDP描述中都服务找不到可以接受的媒体类型和编码,就放弃选择并且返回错误应答消息。
[0130] 如果终端从SDP描述中,不能得到选择用于会话的会话能力信息,可以不在会话应答消息中加入任何会话能力信息,或者提供终端的会话能力信息,并生成会话应答消息。 [0131] 终端构成应答消息时,可考虑策略信息。策略信息包括:运营商的策略信息、终端签约信息、终端能力信息、用户的选择信息。可以是这些策略信息之一或者他们的组合。 [0132] 系统隐私问题的考虑:
[0133] 由于本发明技术规定的SDP参数可以包括会话能力信息所属网络实体的属性的描述,这些描述在发送给会话接收方终端和其他SIP网络时,可能出现网络实体信息被泄漏的情况。本发明技术中,优先级别如果由网络提供,那么将会话消息发送给终端时,SIP网络可以将会话消息的消息体中的网络实体属性信息删除,删除网络实体属性信息的网络实体可以是AS,可以是P-CSCF,可以是I-CSCF。
[0134] 在不同的SIP网络之间转发的会话消息的隐私,可以在媒体参数属性的描述中保留所属网络的描述,如果已经确定在网络内的优先级可以保留优先级参数,而所属网络实体的属性信息被删除了。做以上操作的可以是完成THID功能的I-CSCF。这时,终端可以按照前面描述的方法选择媒体参数的。
[0135] 有一些会话协商的过程不经过应用服务器或者其他可以判断会话消息的 消息体中的SDP参数的优先级的网络实体,则会话消息在转发给终端和其他SIP网络之前不能准确判断的加入媒体参数的网络实体之间的优先选择级别,这时可能需要终端对收到的媒体参数的属性信息以及其中的优先级顺序做出判断,这时网络实体属性信息需要被转发,这种情况下的隐私问题需要其他技术进行保障。
[0136] 在实际使用当中使用优先级的应用场景:
[0137] 本部分对在实际使用当中,由SIP网络中的网络实体判断在会话协商过程中加入SIP消息的消息体中的媒体参数的优先级,提供给终端。在SIP网络中判断媒体参数优先级的网络实体可以是呼叫会话控制实体(CSCF)、应用服务器(AS)、多媒体资源功能实体(MRF)、业务能力交互管理器(Service CapabilityInteraction Manager-SCIM)、SIP协议的应用层网关SIP-ALG和其他网络实体,在本应用场景中使用AS作为控制会话协商和判断媒体参数优先级的网络实体。在这部分应用场景中,考虑到SIP网络的网络实体的隐私问题,所以SIP网络的网络实体的媒体参数的属性中,归属网络属性的描述、所属网络实体的描述在AS上用于判断优先级,在会话消息发出时,这些描述媒体参数属性的描述被AS删除,在会话消息中只携带优先级属性,提供给会话接收方终端使用。
[0138] 图6是SIP网络的AS判断优先级参数并删除媒体参数中网络实体属性信息的过程,在本应用场景中,会话发起方和终端属于同一个SIP网络,AS是控制会话的应用服务器。
[0139] S201、会话发起方用户终端UE1向网络发出会话协商请求消息。
[0140] S202、P-CSCF#1将会话协商请求消息转发到S-CSCF#1。
[0141] S203、S-CSCF#1将SIP网络支持的媒体参数加入到会话消息的消息体中,对媒体参数的描述包括了媒体参数所属的网络实体描述和可选的优先级。S-CSCF#1将会话消息发送到控制会话的应用服务器AS。
[0142] S204、由于AS是控制会话的应用服务器,AS可以加入SIP网络支持的媒体参数,AS根据会话消息的消息体中的媒体参数属性,判断这些提供给终端选择 的媒体参数的优先级。然后,AS可以选择将除优先级以外的媒体参数属性的描述删除,以防网络实体的信息泄漏。
[0143] S205-S207、AS将修改后的会话消息发送给SIP网络,SIP网络负责将会话消息发送给终端UE2,P-CSCF#2可以选择在会话消息发送给UE2之前,检查会话消息的消息体内容,如果媒体参数有关于网络实体属性的描述,可以将这些媒体参数的属性删除。 [0144] S208、UE2收到会话消息后,得到了UE1和SIP网络支持的媒体参数和媒体参数优先级的描述,UE2根据优先级的描述按照优先顺序选择媒体参数。
[0145] S209-S2015、UE2按照正常的会话协商过程生成会话消息应答,并返回给SIP网络,之后SIP网络和UE1按照征程会话协商过程进行之后的处理。
[0146] 本发明涉及到的若干应用场景:
[0147] 如图7所示,包括如下网络实体,会话发起方用户终端UE1,会话接收方终端UE2,应用服务器AS#1和应用服务器AS#2。其中UE1只支持音频,UE2支持音频和视频,应用服务器AS#1作为网络实体,收到UE1发来的会话建立请求消息后,在会话建立请求消息中添加了描述视频参数的描述,并且发送给UE2。UE2收到包含音频和视频媒体参数的描述的会话建立请求消息后,选择了音频和视频媒体参数作为UE2建立本次会话的结果,并且将结果返回给AS#1,AS#1得到UE2选择音频和视频媒体参数作为UE2建立本次会话的结果后,给UE1返回会话建立请求的应答,应答中可以携带UE2选择的结果,也可以不带。会话建立以后,AS#1与UE1之间建立了支持音频媒体类型的连接,AS#1和UE2之间建立了支持音频和视频两种媒体类型的连接。如图7所示,包括以下步骤:
[0148] S301、UE1发送会话建立请求,由于UE1只支持音频,所以在INVITE消息中只携带了UE1支持的音频媒体类型的描述。
[0149] S302、AS#1收到INVITE请求后,在INVITE消息中添加了AS支持的 音频媒体类型的媒体信息的描述。AS#1可以在INVITE消息中的媒体信息的描述中增加优先级和属性信息,提供给UE2作为参考。
[0150] S303-S2304、AS#1、AS#2将INVITE消息发送到UE2上。其中AS#2也可以根据策略添加媒体信息的描述。
[0151] S305、UE2支持音频和视频两种媒体类型。UE2收到INVITE消息后,根据INVITE消息中提供的媒体信息的描述选择了音频和视频媒体类型作为本次会话建立的结果。由于AS可以添加媒体信息的描述的优先级和属性信息,所以UE2可以知道UE1支持音频,必须选择;AS#1支持视频,可以和AS#2之间建立视频通信,如果有其他支持视频的用户终端加入会话,就可以进行音频和视频的通信。UE2将选择的结果使用200 OK消息返回网络。 [0152] S306-S307、UE2发送200 OK消息给AS#1,200 OK消息中携带了UE2选择的音频和视频的媒体信息的描述。
[0153] S308、AS#1收到200 OK消息后,得到UE2选择音频和视频作为本次会话的媒体类型。同时知道UE1只支持音频。根据本发明的方法,AS#1决定在AS#1和UE1之间建立以音频作为媒体类型的连接,在AS#1和UE2之间建立以音频和视频为媒体类型的连接。 [0154] 本方案中还可以由AS#1返回给UE1 200 OK消息。消息中或者携带或者不携带UE2建立会话选择的媒体类型,如果携带UE1可以了解本次会话其他用户终端建立会话的媒体信息,如果不携带也不会影响UE1在会话中正常的使用音频作为媒体类型的使用。 [0155] 这样,UE2接收到所述的会话消息,并根据提取的媒体信息的描述,得出会话协商结果。会话协商的结果可以是用于协商的会话的会话能力信息的转换,或者是按照协商后支持的不同媒体信息提供不同的业务。
[0156] 下面结合上述方案,来说明本发明的几个具体实施例。
[0157] 实施例1:
[0158] 实施例1在SDP协议对一个SDP信息块增加了对SDP编号和SDP属性的定义,定义了一类消息体类型可以在一个SIP消息的消息体内携带多个SDP描述。使得SIP消息所携带的多个SDP描述能够被会话接收方终端识别,并且会话接收方终端可以根据这些属性确定如何选择的SDP描述中的参数。
[0159] 实施例1在SDP协议定义的描述的与会话相关的描述部分,增加了对一个SDP描述的编号,例如可以定义为Series,也可以定义为SDP ID等,实施例1使用series作为一个SDP的编号定义方法。这一编号能够让在一个SIP消息的消息体内的多个SDP描述相互之间可以被区分开。实施例1在SDP定义的描述部分的版本信息后增加当前SDP的SDP编号,标识的方法如下。
[0160] 在版本信息的v字段内,增加本SDP的标识。如:
[0161] v=0 series:
[0162] 具体的使用方法是,如果当前的SDP是当前SIP消息中的第三个SDP,那么这部分SDP描述的SDP版本信息应当具体标识出。序列号定义从0-n,也就是说实施例1不支持一个SIP消息的消息体内包含多于n个不同的SDP描述,实施例1不希望一个消息过大,因此希望一个消息体中的SDP不能超过一个范围,比如不能超过n=10个,当然也可以根据网络的处理能力,增加编号的范围。
[0163] v=0 series:0
[0164] 新增SDP描述的结束标志:
[0165] 由于实施例1的SIP消息体中可以包括多个SDP描述,因此需要在每一个SDP描述的最后增加SDP描述的结束标志,使得计算机系统能够通过SDP消息的开始标志和结束标志。结束标志被定义为一个完整的SDP描述的结束标志,系统一旦发现结束标志,就可以判定一个SDP描述已经结束了。在实施例1中,用以下方法定义了结束标志: [0166] f=finished
[0167] 为了划分不同的SDP描述,还可以规定一个SDP描述的开始标志,开始标志可以确定现有SDP描述开始的第一个字符串V=,也可以定义新的SDP描述 的开始标志。 [0168] 新增两项标识后的完整SDP描述格式:
[0169] 在新增两项SDP描述的标识后,一个在SIP消息体内和其他同时存在的SDP描述的形式可以是如下形式:
[0170] v=0 series:3
[0171] o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
[0172] s=SDP Seminar
[0173] i=A Seminar on the session description protocol
[0174] u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
[0175] e=mjh@isi.edu(Mark Handley)
[0176] c=IN IP4 224.2.17.12/127
[0177] t=2873397496 2873404696
[0178] a=recvonly
[0179] m=audio 49170 RTP/AVP 0
[0180] m=video 51372 RTP/AVP 31
[0181] m=application 32416 udp wb
[0182] a=orient:portrait
[0183] f=finished
[0184] SIP消息内容的定义方法:
[0185] 新增的消息体内容属性定义:
[0186] 实施例1在SIP消息头中新增加对消息体内容属性的定义,消息体内容属性信息描述了一个消息内容中的内容属性,这些描述提供给网络实体和会话发起方和会话接收方。消息体内容属性的描述可以有多个,多个内容属性的描述关于消息体内容属性的描述对应了SIP消息的消息体中多个消息内容的属性,SIP网络中的网络实体能够通过在消息头中的消息内容属性的描述了解消息体中都携带了哪些类型的内容,这些内容的是属性是什么,甚至是他们的优先级别。在实施例1中对消息体内容属性的定义采用如下的方式,定义了一个新的消息头Content,对Content字段的定义如下:
[0187] Content:series1:|entity|priority
[0188] Content:series2:|entity|priority
[0189] Content:series3:|entity|priority
[0190] 其中,消息头Content表示本字段内要对消息体所携带的SDP描述内容进行 描述。series[x]表示了SDP描述的编号,多个SDP描述在消息体内的编号方法在SDP新增属性的部分说明。在每一个series[x]后,都需要包含这个SDP描述的归属属性和优先级。归属属性的值代表了这个SDP描述的媒体参数属于哪个网络实体。
[0191] 在Belong属性描述的归属属性可以是属于终端的,可以是属于会话发起方网络的,可以是会话控制方所在的网络的,可以是会话接收方终端所在网络的等。在本技术实现方法中使用了如下定义方法:
[0192] 定义Belong属性的值可以是endpoint、origination network、focus network、termination network。
[0193] Entity属性规定了媒体信息的描述是属于哪个网络实体上的,可以是应用服务器AS,可以是会话控制器Session Controller(如PoC CF,Conference Server等),可以是资源控制器(如MRF,媒体网关等)。在本实施例1中使用了如下定义方法: [0194] 定义Entity属性的值可以是Application Server、Session Controller、ResourceController。
[0195] 增加每个消息体内容长度的描述:
[0196] 在对每个消息体内容属性的描述结束后,应当对消息体内这部分内容的长度进行标识,标识的方法和SDP消息体在消息中的这部分Content-length一致,用十进制数统计这部分消息体的字节数。具体的定义是,如一个SDP描述中的长度为518个字节,那么长度的定义为:
[0197] Content-length:518
[0198] 扩展SIP消息头对消息体描述的使用方法:
[0199] 实施例1对SIP消息头对消息体内容部分的描述进行了一些扩展。扩展的方法是,在SIP消息的消息体中每增加一部分完整的SDP描述或其他消息体内容,就要在SIP消息的消息头中增加消息体内容属性的描述Content字段,并且在Content字段中和下面的几个描述字段中对这部分消息体内容的类型、格式、内 容长度等进行描述。这样,SIP消息的消息体中的所有SDP描述或消息体内容都在SIP消息头中有相应的描述,这些描述定义了这个SDP描述或消息体内容的编号、所属的网络或终端、所属哪种网络实体、可选项优先级、内容的类型(SDP、图片、音频等)、编码格式和消息体内容长度等。
[0200] 一个消息中存在多个SDP描述和消息体内容的完整SIP消息头描述: [0201] Content:series:0
[0202] Content-type:Application/SDP
[0203] c:text/html;charset=ISO-8859-4
[0204] Content-length:333
[0205] Content:series:1
[0206] Content-type:Image/jpeg
[0207] Content-length:1024
[0208] Content:series:2
[0210] Content-length:412
[0211] Content:series:3
[0213] Content-length:388
[0214] 其中,第一个内容是会话发起方用户终端所期望的SDP描述,第二内容是会话发起方用户终端在SIP消息中加入了个人的照片,第三个内容是会话发起方所在的SIP网络提供的用SDP描述的编码信息,第四部分内容是会话控制方所在其所在网络提供的编码信息。这样SIP信令的会话接收方终端得到这些内容以后,可以得到会话发起方和网络实体在消息中添加的消息体内容信息。从这些内容信息中,会话接收方终端能够从中选择接收的消息体内容,并且可以继续处理有关信令的其他步骤。
[0215] 会话接收方对SDP描述优先级的确定:
[0216] 在SIP消息头中加入的消息体内容,可以设置优先级。由于会话接收方终端通过已经定义的SDP描述归属哪个网络和属于哪个网络实体,通过分析SDP描述类型的描述,基本已经可以判断出SIP消息体中的多个SDP描述的优先顺序。因此在本技术方案中,只是要求会话接收方终端根据收到的多个SDP描述的属性,确定选择SDP描述的先后顺序。选择SDP描述的判断逻辑可以由会话 接收方终端自己判定,判定的过程在下文描述。 [0217] 会话接收方终端对多个SDP描述的使用:
[0218] 实施例1为SDP描述定义了在SIP消息中的编号,定义了SDP描述的归属属性,定义了优先级。这些关于一个SDP描述的新增描述在本技术方案中被加入消息头中,这种处理方法能够让网络中的处理节点不需要查看消息体中的全部内容就可以从这些信息中按照一定的方法查找到相应的SDP描述。
[0219] 这时的SIP消息的消息体的内容设置如下:
[0220] v=0 series:1
[0221] o=caller 2890844526 2890842807 IN IP4 126.16.64.4
[0222] s=SDP Seminar
[0223] i=A Seminar on the session description protocol
[0224] u=http://www.huawei.com
[0225] e=caller@huawei.com(Caller)
[0226] c=IN IP4 10.1.1.10/127
[0227] t=2873397496 2873404696
[0228] a=sendrecv
[0229] m=audio 49170 RTP/AVP 0
[0230] m=video 51372 RTP/AVP 31
[0231] m=application XXXXX XXX XX
[0232] a=orient:portrait
[0233] f=finished
[0234] series:2
[0235] 插入JEPG图片
[0236] v=0 series:3
[0237] o=caller 2890844526 2890842807
[0238] s=SDP Seminar
[0239] i=A Seminar on the session description protocol
[0240] u=http://www.huawei.com
[0241] e=caller@huawei.com(caller)
[0242] c=IN IP4 11.1.1.10/127
[0243] t=2873397496 2873404696
[0244] a=sendrecv
[0245] m=audio XXXX RTP/AVP 0
[0246] m=video XXXX RTP/AVP 31
[0247] m=application XXXXX XXX XX
[0248] a=orient:portrait
[0249] f=finished
[0250] v=0 series:4
[0251] o=caller 2890844526 2890842807
[0252] s=SDP Seminar
[0253] i=A Seminar on the session description protocol
[0254] u=http://www.huawei.com
[0255] e=caller@huawei.com(caller)
[0256] c=IN IP4 192.168.1.10/127
[0257] t=2873397496 2873404696
[0258] a=sendrecv
[0259] m=audio XXXX RTP/AVP 0
[0260] m=video XXXX RTP/AVP 31
[0261] m=application XXXXX XXX XX
[0262] a=orient:portrait
[0263] f=finished
[0264] 实施例1会话接收方终端根据SDP属性选择SDP描述和媒体参数的逻辑图与图4相同。
[0265] 通过该选择过程,会话接收方终端在SIP消息的消息体的多个SDP描述中按照优先顺序,找到相应的SDP描述和其中描述的媒体参数,会话接收方终端可以通过这种方法选择当前会话的媒体参数。如果在多个SDP描述中无法找到合适的SDP描述,就放弃选择并返回错误应当消息,在错误应答消息中说明了导致错误的原因。
[0266] SIP网络中的网络实体和会话接收方终端都可能出现不能识别本发明技术方案中对消息体内容以及媒体参数属性信息的情况,以下分别对网络实体和会话接收方终端两种情况,考虑系统兼容性的问题。
[0267] SIP网络的网络实体的系统兼容性考虑
[0268] 在会话消息的消息体中,SDP参数中会话发起方的SDP参数始终排定的优先级最高,在消息体中出现的位置也最靠前。支持现有会话协商过程的SIP网络的网络实体如果不能支持本发明技术描述的过程时,只能识别会话发起方的SDP参数,其他SDP参数被透明传输给下一个网络实体。如果网络实体透明传输不能识别的会话消息,不会影响到会话协商的过程,因此在SIP网络的网络实体上可以解决系统兼容性的问题。
[0269] 会话接收方终端的系统兼容性考虑:
[0270] 会话接收方终端有可能不能识别SIP消息的消息头和消息体中的标识。要实现发明技术方案对来自于不同网络实体和SIP网络的SDP参数增加属性信息,不对现有的SIP消息的消息体内容的类型以及SDP协议对媒体参数的描述进行 修改,可以预见是不能很好的实现的。另一方面,本发明技术方案对会话消息的消息体内容属性的描述和SDP参数中媒体参数属性的描述为SIP网络会话协商过程增加了有效的新功能,可以认为是对现有协议规范值得进行必要调整的新功能。本发明技术方案对SIP消息头的修改参照了http协议(RFC2616)和MIME协议(RFC2046)类似的修改方法,应当是能够被接收的一种实现方法;对SDP参数的修改实现方案,或者在现有的字段中增加了新类型,或者在SDP描述的属性规定的格式下增加了新的属性,是在协议修改的范围内可能被接收的方法。不能识别会话接收方终端一般可以通过软件升级的方法增加对新增消息标识的功能。 [0271] 实施例1在实现本发明提供的新特性的基础上,考虑会话接收方终端的系统兼容性问题。
[0272] 会话接收方终端可以对消息体内容识别的部分进行处理,不能识别的部分放弃,这时和现有会话协商过程的处理过程是一致的。
[0273] 发 起 的 会 话 消 息,可 以 采 用 在SIP 消 息 的 消 息 头 中 使 用Content-type:Application/MIME,按照RFC2046协议规定的格式增加媒体信息的描述的属性和优先级信息。在SIP消息的消息体中可以使用XML定义的描述方法描述SIP网络支持的媒体参数的描述已经这些媒体参数的描述的属性和优先级信息。
[0274] 实施例2:
[0275] 实施例2对消息体类型定义是在SIP协议中增加了对消息体类型的定义,扩展了SIP消息体内容的定义,其余部分可以与实施例1相同处理。
[0276] SIP消息内容的定义方法:
[0277] 扩展的SIP消息体内容定义:
[0278] 实施例2在SIP消息头中的Content-type字段中,可以使用现有的消息体内容类型,Content-type:Application/MIME。
[0279] 新增的消息体内容属性定义:
[0280] 实施例2在SIP消息头中新增加对消息体内容属性的定义,定义了一个新的消息头Content,对Content字段的定义如下:
[0281] Content:series1:|entity|priority
[0282] Content:series2:|entity|priority
[0283] Content:series3:|entity|priority
[0284] 其中,消息头Content是对消息体所携带的SDP属性进行描述的字段。Series[x]表示了SDP的编号,多个SDP在消息体内的编号方法在SDP新增属性的部分说明。在每一个Series[x]后,都需要包含这个SDP描述的归属网络或终端;属于那个网络实体和选择SDP描述的优先顺序。
[0285] 新增的消息体内容属性在SIP消息中的使用方法:
[0286] 一个SIP消息的消息体中可以包含多个SDP描述,那么在SIP消息的消息头中的Content-type标识的类型应当为,Content-type:Application/MIME。
[0287] 在Content-type字段的下面,应当对每个SDP描述的内容进行描述,需要做到SIP消息体的每一个SDP描述在消息头中都有用Content字段描述的属性。
[0288] 一个包含了4个SDP描述的SIP消息的消息头关于消息体的描述如下: [0289] Content-type:Application/MIME
[0290] Content:series1:
[0291] Content:series2:
[0292] Content:series3:
[0293] Content:series3:
[0294] 接收方对新增的属性的使用:
[0295] 在新增的属性当中,包括了SIP消息的属性和对一个SDP描述的属性。在接收方收到在SIP消息中携带了Content-type=Application/MIME,那么代表会话接收方终端收到的SIP消息的消息体可以携带多个完整的消息体内容,在本发明中多个完整的消息体内容中描述了媒体信息。会话接收方终端需要在随后的消息头中查看Content字段的内容,并且根据Content字段中对各个SDP的属性和优 先级描述,选择应当在哪个SDP描述中选择接收方期望的媒体参数。
[0296] 这时的SIP消息的消息体中的内容包括以下内容:
[0297] v=0 series:1
[0298] o=caller 2890844526 2890842807 IN IP4 126.16.64.4
[0299] s=SDP Seminar
[0300] i=A Seminar on the session description protocol
[0301] u=http://www.huawei.com
[0302] e=caller@huawei.com(Caller)
[0303] c=IN IP4 10.1.1.10/127
[0304] t=2873397496 2873404696
[0305] a=sendrecv
[0306] m=audio 49170 RTP/AVP 0
[0307] m=video 51372 RTP/AVP 31
[0308] m=application XXXXX XXX XX
[0309] a=orient:portrait
[0310] f=finished
[0311] v=0 series:2
[0312] o=caller 2890844526 2890842807
[0313] s=SDP Seminar
[0314] i=A Seminar on the session description protocol
[0315] u=http://www.huawei.com
[0316] e=caller@huawei.com(caller)
[0317] c=IN IP4 11.1.1.10/127
[0318] t=2873397496 2873404696
[0319] a=sendrecv
[0320] m=audio XXXX RTP/AVP 0
[0321] m=video XXXX RTP/AVP 31
[0322] m=application 32416 udp wb
[0323] a=orient:portrait
[0324] f=finished
[0325] v=0 series:3
[0326] o=caller 2890844526 2890842807
[0327] s=SDP Seminar
[0328] i=A Seminar on the session description protocol
[0329] u=http://www.huawei.com
[0330] e=caller@huawei.com(caller)
[0331] c=IN IP4 192.168.1.10/127
[0332] t=2873397496 2873404696
[0333] a=sendrecv
[0334] m=audio XXXX RTP/AVP 0
[0335] m=video XXXX RTP/AVP 31
[0336] m=application XXXXX XXX XX
[0337] a=orient:portrait
[0338] f=finished
[0339] v=0 series:4
[0340] o=caller 2890844526 2890842807
[0341] s=SDP Seminar
[0342] i=A Seminar on the session description protocol
[0343] u=http://www.huawei.com
[0344] e=caller@huawei.com(caller)
[0345] c=IN IP4 193.168.1.10/127
[0346] t=2873397496 2873404696
[0347] a=sendrecv
[0348] m=audio XXXX RTP/AVP 0
[0349] m=video XXXX RTP/AVP 31
[0350] m=application XXXXX XXX XX
[0351] a=orient:portrait
[0352] f=finished
[0353] 实施例2会话接收方终端根据SDP描述的属性选择SDP和媒体参数的逻辑图与图4相同。
[0354] 实施例3:
[0355] 实施例3在SDP协议对媒体参数的描述中,在一个SDP描述中可以出现多个媒体参数,实施例3在SIP消息携带的一个SDP描述中增加了对媒体参数属性和优先级信息的描述,使得媒体参数的描述中可以得到该媒体属于哪类网络实体或终端和该媒体在提供业务当中的优先级别,以及提供了可以扩展的其他参数。这样,SDP描述的会话接收方终端能够通过查看媒体参数的属性,得到媒体的业务属性信息,可以有效的选择发起的会话的媒体参数。
[0356] SDP描述的信息包含三类,第一类属于会话信息,包括会话标识和其他会话级参数,如会话发起方的IP地址、主题、会话或创建人的联系信息等。第二类属于定时描述,包括开始和停止时间、重复次数以及一个和多个媒体描述。第三类属于媒体类型和格式描述,包括传输协议和传输地址(IP地址和端口号)、媒体的类型、编码类型以及其他媒体参数。实施例3在SDP信息的媒体类型描述中,增加了新的媒体参数归属属性和优先级的定义,并且提供了SDP接收方如何根据新增属性和优先级选择媒体参数选择媒体参数的方法。 [0357] 实施例3要求在一段完整的SDP描述内允许将来自不同网络和网络实体的多个媒体参数加入到一段完整的SDP描述当中,为了能够让会话接收方终端能够识别这些网络实体,需要在不同的媒体参数之间用新增加的媒体参数的描述 来区分。新增加的媒体参数的描述可以是媒体参数属于会话协商过程中的哪个网络的,可以是媒体参数属于哪一类网络实体的,可以是网络实体或会话接收方终端加入的优先级参数,和其他属性的描述。会话接收方终端收到的会话消息的消息体中的媒体参数的描述,包括了媒体参数属于会话协商过程中的哪个网络的,媒体参数属于哪一类网络实体的,网络实体或会话接收方终端加入的优先级参数,和其他属性的描述,会话接收方终端使用这些媒体参数的描述可以选择选择本次会话协商的媒体参数。
[0358] 以下就完成本技术方案可以使用的具体实施步骤描述如下。
[0359] SDP描述的格式和新增的属性定义:
[0360] SDP描述的格式:
[0361] 会话级别定义的参数有以下几种,
[0362] v= (protocol version)
[0363] o= (owner/creator and session identifier).
[0364] s= (session name)
[0365] i=*(session information)
[0366] u=*(URI of description)
[0367] e=*(email address)
[0368] p=*(phone number)
[0369] c=*(connection information-not required if included in all media) [0370] b=*(bandwidth information)
[0371] One or more time descriptions(see below)
[0372] z=*(time zone adjustments)
[0373] k=*(encryption key)
[0374] a=*(zero or more session attribute lines)
[0375] Zero or more media descriptions(see below)
[0376] 定时级别定义的参数有以下几种,
[0377] t=(time the session is active)
[0378] r=*(zero or more repeat times)
[0379] 媒体级定义的参数有以下几种,
[0380] m=(media name and transport address)
[0381] i=*(media title)
[0382] c=*(connection information-optional if included at session-level) [0383] b=*(bandwidth information)
[0384] k=*(encryption key)
[0385] a=*(zero or more media attribute lines
[0386] 关于SDP参数的具体含义可以参考RFC 2327。
[0387] 新增属性的定义:
[0388] 实施例3在媒体描述中,使用a参数允许的语法,新增加了媒体类型和媒体 优先级定义。
[0389] 媒体所属位置属性定义为该媒体参数所在的网络实体或终端。定义的格式为: [0390] a*=belong:
[0391] belong属性的值可以为会话的终点、会话发起方所在的网络、会话接收方终端所在的网络、控制方所在的网络等,具体的定义可以是endpoint、originationnetwork、termination network、focus network。其中endpoint表示为发出方终端所提供的媒体参数;origination network表示发出方所在网络提供的媒体参数;termination network表示会话接收方终端所在网络提供的媒体参数;focusnetwork标识会话控制方所在网络提供的媒体参数。
[0392] 媒体优先级属性的定义为网络所提供媒体的优先级别排序,可以举例说明如下。可以规定从0-n数字越小优先级越高。规定的格式可以是:
[0393] a*=priority:
[0394] Priority属性可以是从0-n的值。参数0代表该媒体参数属于提供业务所优先支持的一类媒体参数,且属于最常用的媒体参数,参数0的媒体参数可以是一个或多个,是IMS网络推荐的媒体参数。参数1代表,除了推荐的媒体参数以外网络推荐的其他媒体参数。
[0395] 值得注意的是,现有SDP描述的媒体参数可以被视为一个组内的多个媒体参数。由于在描述媒体参数分组定义的RFC 3388中,默认的组在SDP描述中是唯一的,所以需要在此基础上扩展为一个SDP描述中可以包含多个媒体参数组。如果可以进行这样的扩展,建议以上媒体参数归属属性和优先级可以以媒体参数组为单元进行定义。例如可以在a=group:< >的下一行就加入媒体参数组归属属性和优先级。如:
[0396] a=group:LS 12
[0397] a=belong:< >
[0398] a=priority:< >
[0399] m=audio 30000 RTP/AVP 0
[0400] a=mid:1
[0401] m=video 30002 RTP/AVP 31
[0402] a=mid:2
[0403] m=audio 30004 RTP/AVP 0
[0404] i=This media stream contains the Spanish translation
[0405] a=mid:3
[0406] 媒体归属属性和优先级的使用:
[0407] 会话发起方对媒体归属属性和优先级的使用:
[0408] 会话发起方是会话的发起者,在向其所在的网络发出会话建立请求消息的SDP描述中,携带了会话发起方的期望的媒体参数,在媒体参数中除了正常的媒体属性外还包括了媒体参数归属属性(a=belong:endpoint),由于SDP携带的媒体参数只有一个(或一组),所以不需要携带优先级属性。
[0409] 除了SDP描述外,会话发起方发出的会话建立请求消息中还标识了请求业务的类型和其他相关会话信息。
[0410] 网络侧对媒体参数归属属性和优先级的使用:
[0411] 网络侧添加媒体参数归属属性和优先级最多可以分为三部分执行,分别在会话发起方所在的网络、控制方所在的网络和会话接收方终端所在的网络。这三部分网络可以分别添加所在网络支持的媒体参数,也可以由某一个网络提供该网络所支持的媒体参数。 [0412] 会话发起方所在的网络收到会话建立请求后,按照IMS规范的正常流程对会话建立请求中的内容进行处理,此外可以将会话发起方所在网络所支持的业务能力加入到会话建立请求中。这时会话建立请求的SDP描述被加入了多个(或多组)媒体参数,会话发起方所在网络需要为多个(多组)媒体参数和会话发起方提供媒体参数设置媒体编码参数归属属性和优先级。
[0413] 这时,SDP描述中包含了会话发起方用户终端媒体参数,增加了a=belong:endpoint和a=priority:0;包含了一个或多个会话发起方所在网络推荐的媒体参数a=belong:origination network和a=priority:0;包含了一个或多个会话发起方所在网络支持的媒体参数a=belong:origination network和a=priority:1。 [0414] 会话发起方所在网络按照IMS规范的正常流程处理会话建立请求。 [0415] 业务控制方所在的网络收到会话建立请求后,按照IMS规范的正常流程对会话建立请求中的内容进行处理,此外可以将业务控制方所在网络所支持的业 务能力加入到会话建立请求中。这时会话建立请求的SDP描述被加入了多个(或多组)媒体参数,控制方所在网络需要为加入的多个(多组)媒体参数设置媒体编码参数归属属性和优先级。 [0416] 这时,SDP描述中包含了一个或多个控制方所在网络推荐的媒体参数a=belong:focus network和a=priority:0;包含了一个或多个会话发起方所在网络支持的媒体参数a=belong:focus network和a=priority:1。需要说明的是,在一部分应用场景下比如PoC业务,会话发起方所在的网络和控制方所在的网络可以是同一个网络,即有时PoC服务器(Controlling)作为AS所在的网络既是会话发起方所在的网络又是控制方所在的网络。
[0417] 控制方所在网络按照IMS规范的正常流程处理会话建立请求。
[0418] 会话接收方终端所在的网络收到会话建立请求后,按照IMS规范的正常流程对会话建立请求中的内容进行处理,此外可以将会话接收方终端所在网络所支持的业务能力加入到会话建立请求中。这时会话建立请求的SDP描述被加入了多个(或多组)媒体参数,会话接收方终端所在网络需要为多个(多组)媒体参数设置媒体编码参数归属属性和优先级。由于优先级的判断在应用服务器上做出,而其他网络实体无法确定当前媒体参数的优先级,所以可以认为应用服务器判断的优先级的标准是统一的且不会发生冲突。 [0419] 这时,SDP描述中包含了一个或多个会话接收方终端所在网络推荐的媒体参数a=belong:termination network和a=priority:0;包含了一个或多个会话接收方终端所在网络支持的媒体参数a=belong:termination network和a=priority:1。 [0420] 会话接收方终端所在网络按照IMS规范的正常流程处理会话建立请求。 [0421] 在呼叫建立请求中加入网络侧支持的媒体参数的过程可以是可选择的。会话发起方所在的网络、控制方所在的网络和会话接收方终端所在的网络均可以选择是否加入本网络所支持的媒体参数。判断是否加入本网络所支持媒体参数的条件,可以是业务要求等。 [0422] 应用服务器对会话建立请求的SDP描述的处理:
[0423] 在某一个网络中,应用服务器AS作为IMS网络中的业务处理网络实体,可以在IMS网络中负责查询IMS网络所支持的媒体参数,并且在会话建立请求中加入查询的媒体参数,这时需要在加入的媒体参数中为这些媒体参数添加媒体参数归属属性和优先级参数。 [0424] 在AS查询到IMS网络所支持的媒体参数之前,这些媒体参数保存在IMS平台上的网络实体上,媒体参数在发送到AS之前不需要携带参数归属属性和优先级参数。在AS获得IMS网络上支持的媒体参数后,根据AS所要提供的业务分别为获得的媒体参数添加媒体参数的优先级。AS确定媒体参数优先级的方法可以根据会话消息的消息体中的媒体参数属性的描述确定。以下例子给出了一种AS收到媒体参数属性后,如何确定这个媒体参数的优先级的方法。
[0425] AS所获得的媒体参数在AS上需要确定媒体参数的优先级。在本发明中,可以在直接参与业务的网络实体(如AS)上保存的媒体参数,被确定为优先级为高优先级;在参与业务的网络实体从其他网络实体和能力数据库上获得的媒体参数,被确定优先级为低优先级。
[0426] SIP对媒体参数关于网络实体的属性的信息的保护
[0427] 对于由AS已经为媒体参数排定优先级的会话消息,SIP网络的网络实体可以将其中的媒体参数属性的描述删除,以防SIP网络的网络实体的媒体参数信息泄漏给其他网络或网络终端。能够删除媒体参数属性信息的网络实体可以是应用服务器和接收方的P-CSCF。
[0428] 会话接收方终端对媒体参数属性和优先级的使用:
[0429] 会话接收方终端收到媒体参数属性和优先级:
[0430] 如果会话接收方终端收到的会话消息的消息体中的媒体参数包括了媒体参数属性的描述和优先级,那么会话接收方终端需要使用以下的方法决定如何选择本次会话协商的媒体参数。会话接收方终端收到会话建立请求后,会话建立请求可以包含了会话发起方期望的媒体参数(被设置为a=belong:endpoint和a=priority:0)。可以包含了会话发起方所在网络加入的多个(或多组)媒体参 数,其中一个或多个会话发起方所在网络推荐的媒体参数a=belong:originationnetwork和a=priority:n;一个或多个会话发起方所在网络支持的媒体参数a=belong:origination network和a=priority:n。可以包含了一个或多个控制方所在网络推荐的媒体参数a=belong:focus network和a=priority:0;包含了一个或多个会话发起方所在网络支持的媒体参数a=belong:focus network和a=priority:n。可以包含一个或者多个会话接收方终端所在网络推荐的媒体参数a=belong:termination network和a=priority:n;包含了一个或多个会话接收方终端所在网络支持的媒体参数a=belong:termination network和a=priority:n。这时SDP中对媒体参数的描述可以例如如下所示:
[0431] v=0
[0432] o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
[0433] s=SDP Seminar
[0434] i=A Seminar on the session description protocol
[0435] u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
[0436] e=mjh@isi.edu(Mark Handley)
[0437] c=IN IP4 224.2.17.12/127
[0438] t=2873397496 2873404696
[0439] m=audio 49170 RTP/AVP 0
[0440] a=belong:endpoint
[0441] a=priority:0
[0442] m=video 51372 RTP/AVP 31
[0443] a=belong:endpoint
[0444] a=priority:0
[0445] m=application 32416 udp wb
[0446] a=belong:endpoint
[0447] a=priority:0
[0448] a=orient:portrait
[0449] m=audio 49170 RTP/AVP 0
[0450] a=belong:origination network
[0451] a=priority:2
[0452] m=video 51372 RTP/AVP 31
[0453] a=belong:origination network
[0454] a=priority:2
[0455] m=application 32416 udp wb
[0456] a=belong:origination network
[0457] a=priority:2
[0458] a=orient:portrait
[0459] m=audio 49170 RTP/AVP 0
[0460] a=belong:focus network
[0461] a=priority:1
[0462] m=video 51372 RTP/AVP 31
[0463] a=belong:focus network
[0464] a=priority:1
[0465] m=application 32416 udp wb
[0466] a=belong:focus network
[0467] a=priority:1
[0468] a=orient:portrait
[0469] m=audio 49170 RTP/AVP 0
[0470] a=belong:termination network
[0471] a=priority:3
[0472] m=video 51372 RTP/AVP 31
[0473] a=belong:termination network
[0474] a=priority:3
[0475] m=application 32416 udp wb
[0476] a=belong:termination network
[0477] a=priority:3
[0478] a=orient:portrait
[0479] 会话接收方终端可以根据会话接收方终端适合的媒体类型,会话建立的类型和业务要求,在这些媒体参数中选择合适的媒体参数。如图8所示,是会话接收方终端选择媒体参数的过程。
[0480] 根据图8的描述,会话接收方终端在收到会话发起方用户终端UE1的媒体参数可以接收以后,就直接选择UE1的媒体参数。除此会话发起方的媒体参数以外,会话接收方终端首先在媒体参数所在的网络之间选择在哪个网络中选择编码参数。会话接收方终端应当根据业务的需要选择优先选择会话发起方所在网络支持的媒体参数、控制方所在网络支持的媒体参数或者是会话接收方终端所在网络支持的媒体参数的选择。例如,OMA PoC规范可以规定PoC终端应当优先选择控制方所在网络支持的媒体参数;也可以规定PoC终端应当优先会话接收方终端所在网络支持的媒体参数。当然,根据业务的不同,会话建立请求所经过的网络可以选择不向会话接收方终端提供其所支持的媒体参数,这时会话接收方也就不需要在多个网络所支持的媒体参数上进行选择。
[0481] 如果会话接收方终端所选择的网络的媒体参数由多个均可以支持会话接收方终端建立此次会话,会话接收方终端在这些媒体参数中选择所有符合会话接收方终端能力的媒体参数。建议终端和其他网络终端,对其上保存的媒体参数能力确定优先级别,使得会话接收方终端在可选的媒体参数中快速选择其需 要的媒体参数。
[0482] 会话接收方终端收到媒体参数的优先级:
[0483] 由于对SIP网络中的网络实体的信息隐私方面的考虑,SIP网络可能发给会话接收方终端的会话消息中只是标识了媒体参数的优先级提供给会话接收方终端选择。 [0484] 这时会话接收方终端选择的媒体参数需要按照优先级的顺序选择,由优先级高到低排列。
[0485] 实施例3在为了实现本发明提供的新特性的基础上,考虑会话消息的接收方的系统兼容性问题。
[0486] 会话接收方终端可以对消息体内容识别的部分进行处理,携带有媒体参数属性信息以及其中的优先级的媒体参数由于不能识别被放弃,这时会话接收方终端处理的方式和现有会话协商过程的处理过程是一致的。由于没有在SIP消息的消息头中增加新的字段,因此可以认为实施例3对SIP协议的兼容性要好于实施例1和实施例2。
[0487] 实施例4:
[0488] 实施例4在SDP协议对一个SDP描述增加了对SDP描述属性的定义。实施例4在SIP协议的消息体内携带多个SDP描述。网侧设备和用户终端能够根据SIP消息体中携带的多个SDP识别不同SDP描述的属性和优先级,并且会话接收方终端可以根据这些信息确定如何选择的SDP描述。
[0489] 新增的SDP协议属性:
[0490] 新增的SDP协议的标识:
[0491] 实施例4在SDP协议定义的描述的与会话相关的描述部分,增加了对一个SDP描述的编号series。这一编号能够让在一个SIP消息的消息体内的多个SDP描述相互之间可以被区分开。本发明在SDP定义的描述部分的版本信息后增加当前SDP的SDP编号,标识的方法如下。
[0492] 在版本信息的v字段内,增加本SDP描述的编号,如:
[0493] v=0 series:
[0494] 新增SDP描述的属性和优先级信息:
[0495] 实施例4对每一个SDP描述都定义了SDP描述的属性,SDP描述的属性信息了当前这段SDP描述所属的网络、所属的网络实体和终端类型以及优先级,使得一个消息体内保存多个SDP描述时,用户终端能够得到这些SDP描述之间相互关系的信息。新增的SDP描述的属性出现时,应当紧跟在v属性的后面,SDP描述的属性的定义如下。 [0496] a = *belong|entity|priority
[0497] 其中a放在v属性的后面以及其中的内容都表示,这部分属性属于当前SDP描述的属性和优先级信息。
[0498] 定义Belong字段的值可以是endpoint、origination network、focus network、termination network,表示当前SDP描述的属于会话中的哪部分网络的。 [0499] 定 义Entity 属 性 的 值 可 以 是 terminal、Application Server、Session Controller、Resource Controller,说明了当前SDP属于哪一类网络实体。 [0500] 定义了可选的priority属性的值可以是0-n之间的数字,数字越小代表优先级越高,代表了当前SDP描述在会话接收方终端选择时,应当被选择的优先级。 [0501] 新增的SDP描述的结束标志
[0502] 由于本发明的SIP消息体中可以包括多个SDP描述,因此需要在每一个SDP 描述的最后增加SDP描述的结束标志,使得计算机系统能够通过SDP消息的开始标志v标志和结束标志f。结束标志f被定义为一个完整的SDP描述的结束标志,系统一旦发现结束标志f,就可以判定一个SDP描述已经结束了。结束标志f的定义如下。
[0503] f=finished
[0504] 新增两项标识后的完整SDP描述格式
[0505] 在新增两项SDP描述的标识后,一个在SIP消息体内和其他同时存在的SDP 描述的形式可以是。
[0506] v=0 series:3
[0507] a=endpoint terminal 0
[0508] o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
[0509] s=SDP Seminar
[0510] i=A Seminar on the session description protocol
[0511] u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
[0512] e=mjh@isi.edu(Mark Handley)
[0513] c=IN IP4 224.2.17.12/127
[0514] t=2873397496 2873404696
[0515] a=recvonly
[0516] m=audio 49170 RTP/AVP 0
[0517] m=video 51372 RTP/AVP 31
[0518] m=application 32416 udp wb
[0519] a=orient:portrait
[0520] f=finished
[0521] 网络实体对本发明技术方案的使用:
[0522] 使用本技术方案的网络实体收到会话消息后,对消息的内容进行处理,当网络判断需要在会话消息中增加新的SDP描述时,将C1部分定义的SDP描述加入到会话消息的消息体的最后部分,新增加的部分加入了归属网络信息、所属的网络实体信息和可选的优先级信息。当会话消息到达会话接收方终端时,会话消息的消息中的SDP描述可以为如下的形式:
[0523] v=0 series:1
[0524] a=endpoint terminal 0
[0525] o=caller 2890844526 2890842807 IN IP4 126.16.64.4
[0526] s=SDP Seminar
[0527] i=A Seminar on the session description protocol
[0528] u=http://www.huawei.com
[0529] e=caller@huawei.com(Caller)
[0530] c=IN IP4 10.1.1.10/127
[0531] t=2873397496 2873404696
[0532] a=sendrecv
[0533] m=audio 49170 RTP/AVP 0
[0534] m=video 51372 RTP/AVP 31
[0535] m=application XXXXX XXX XX
[0536] a=orient:portrait
[0537] f=finished
[0538] v=0 series:2
[0539] a=originate network Resource Controller 3
[0540] o=caller 2890844526 2890842807
[0541] s=SDP Seminar
[0542] i=A Seminar on the session description protocol
[0543] u=http://www.huawei.com
[0544] e=caller@huawei.com(caller)
[0545] c=IN IP4 11.1.1.10/127
[0546] t=28733974962873404696
[0547] a=sendrecv
[0548] m=audio XXXX RTP/AVP 0
[0549] m=video XXXX RTP/AVP 31
[0550] m=application 32416 udp wb
[0551] a=orient:portrait
[0552] f=finished
[0553] v=0 series:3
[0554] a=focus network Session Controller 1
[0555] o=caller 2890844526 2890842807
[0556] s=SDP Seminar
[0557] i=A Seminar on the session description protocol
[0558] u=http://www.huawei.com
[0559] e=caller@huawei.com(caller)
[0560] c=IN IP4 192.168.1.10/127
[0561] t=2873397496 2873404696
[0562] a=sendrecv
[0563] m=audio XXXX RTP/AVP 0
[0564] m=video XXXX RTP/AVP 31
[0565] m=application XXXXX XXX XX
[0566] a=orient:portrait
[0567] f=finished
[0568] v=0 series:4
[0569] a=terminate network Resource Controller 2
[0570] o=caller 2890844526 2890842807
[0571] s=SDP Seminar
[0572] i=A Seminar on the session description protocol
[0573] u=http://www.huawei.com
[0574] e=caller@huawei.com(caller)
[0575] c=IN IP4 193.168.1.10/127
[0576] t=2873397496 2873404696
[0577] a=sendrecv
[0578] m=audio XXXX RTP/AVP 0
[0579] m=video XXXX RTP/AVP 31
[0580] m=application XXXXX XXX XX
[0581] a=orient:portrait
[0582] f=finished
[0583] 接收方对多个SDP的使用:
[0584] 实施例4为SDP描述中定义了SDP的编号,定义了SDP属性,定义了优先级。这些关于一个SDP描述的新增描述在本技术方案中被加入到每一个SDP描述中,这种处理方法需要网络中的处理节点需要查看消息体中的全部内容后,从这些信息中按照一定的方法选择相应的SDP描述。
[0585] 实施例4在SDP描述的优先级的定义,由于SDP描述的属性可以有足够的属性信息供接收方了解当前SDP描述的属性,没有强制要求会话消息达到接收方时,优先级属性一定包括了网络实体在其上添加的优先级参数。这时,接收方通过SDP描述的属性的分析和对比在多个SDP描述之间选择优先顺序。接收方根据排定的优先顺序,开始选择SDP描述和其中的媒体参数。
[0586] 接收方确定优先级的方法如下。属性为endpoint的SDP描述的优先级最高,参数为0;需协商的会话要求控制网络用于会话的集中控制功能,如PoC会话,则属性为focus network的SDP描述的优先级排在属性为endpoint的SDP描述之后;由于其他情况能够判断某一归属网络的优先级排在属性为endpoint的SDP描述之后,也可以将这个SDP描述的优先级排在属性为endpoint的SDP描述之后。接收方还可以根据属于不同网络实体的网络实体是否直接参与会话的处理,在不同的网络实体属性之间选择优先级。接收方根据SDP描述的属性选择SDP描述和媒体参数的逻辑与实施例1可以相同处理。通过这样的选择过程,会话接收方终端在SIP消息的消息体的多个SDP描述中按照优先顺序,找到相应的SDP描述和其中描述的媒体参数,会话接收方终端可以通过这种方法选择当前会话的媒体参数。如果在多个SDP描述中无法找到合适的SDP描述,就放弃选择并返回错误应当消息,在错误应答消息中说明了导致错误的原因。
[0587] 本发明还提供一种可以对收到的多个会话能力信息进行合理处理的终端,如图9所示,包括:
[0588] 消息接收模块101,用于接收来自网络的会话消息;
[0589] 会话能力信息识别模块102,用于对接收的会话消息中会话能力信息的信息块进行区分,识别会话能力信息的属性信息,并将会话能力信息分类保存;
[0590] 会话能力信息选择模块103,用于用户对识别后的会话能力信息进行选择,根据终端能力,客户端软件要求和用户要求,分别从多个会话能力信息中选择,还可以继续在一个会话能力信息中选择合适的参数;还用于对不符合选择要求和没有选择的会话能力信息进行处理,处理可以是删除或者是修改;
[0591] 应答消息生成模块104,用于根据所述会话能力信息选择模块的选择结果,将在终端上选择和处理后的会话能力信息生成应答消息;
[0592] 消息发送模块105,用于将生成的应答消息发送到网络中。
[0593] 本发明技术方案利用对SDP协议新增的属性和优先级描述,使得在携带SDP的会话发起协议(SIP)和其他携带SDP消息体的协议的消息中,可以保存多个不同属性和优先级的SDP参数。这一处理方法,能够让基于SDP协议描述会话属性的业务的描述更加丰富,为基于SDP协议描述会话的业务向更加丰富的应用方向发展提供了协议层面的支持。 [0594] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。