专利名称:信令消息的交互方法及应用服务器的制作方法
技术领域:
本发明涉及通信领域,具体而言,涉及一种信令消息的交互方法及应用服务器。
背景技术:
IP多媒体子系统(IP Multimedia Subsystem,简称为IMS)是由第三代合作伙伴 计划(Third Generation Partner Ship Pro ject,简称为 3GPP)定义的 3G 核心网向全 IP 网络演进的网络架构,其在分组域之上叠加由业务控制设备、用户数据库、网络互通设备等 组成的通信系统,用于提供IP多媒体业务。在IMS体系中,控制层和业务层是分离的,具体而言控制层不提供具体业务,只 负责向业务层提供必要的触发、路由和计费等控制功能。控制层的控制功能是由呼叫会话 控制功能(Call Session Control Function,简称为CSCF)完成的。CSCF分为代理呼叫会 话控制功能(Proxy Call Session Control Function,简称为P-CSCF)、查询呼叫会话控制 功能(Interrogating Call Session Control Function,简称为 I-CSCF)和服务呼叫会话 控制功能(Serving Call Session Control Function,简称为S-CSCF)三种类型。业务层由 一系列应用服务器(Application Server,简称为AS)组成,能提供具体业务服务,AS可以 是独立的实体,也可以存在于S-CSCF中。S-CSCF根据用户的签约信息控制业务触发,调用 AS上的业务以实现具体业务功能。AS和S-CSCF可以统称为服务设备(Server Equipment, 简称为SE)。会话中的端到端设备称为用户设备(User Equipment,简称为UE),负责与使用 者的交互。在IMS中各功能实体之间使用初始会话协议(Session Initiation Protocol, 简称为SIP)进行通讯。SIP是应用层的信令控制协议,用于创建、修改和释放一个或多个参与者的会 话。为了描述消息内容的负载情况和特点,SIP使用Internet的会话描述协议(Session Description Protocol,简称为SDP)来描述终端设备的特点。SDP协议能够在媒体会话中 传递媒体流信息,允许会话描述的接收者参与会话。在媒体会话中,可分为早期会话(Early Session)和正式会话(Regular Session,简称为Session),使用的媒体分别为早媒体 (Early Media),例如回铃音、彩铃音和等待音等,和通话媒体(Regular Media)。以下具体说明Early Media的实现方式,RFC3960针对Early Media定义了两种 实现方式,分别为Gateway模式以及Application Server模式,具体而言Gateway模式通过在最终响应之前建立Early Session来完成Early Media的交 互,通常媒体交互可以通过临时可靠响应PRACK以及UPDATE来实现,但是,Gateway模式在 Forking的时候可能存在Media Clipping,因此,为了达到传统的PSTN网络的效果,主叫端 需要有复杂的本地放音策略。除了主叫端不能区分出Early以及Regular媒体的情形,应 优选采用Application server模式。Application Server模式通过在用户代理服务器端(User Agent Server,简称为 UAS)和用户代理客户端(User Agent Client,简称为UAC)之间建立与Session会话分离 的Early Session的会话来完成媒体交互,Early Session与Session分别进行媒体协商,在Session媒体到达时切换到Session媒体,或者,在信令上收到200 OK时切换到Session 媒体,能够保证不丢失Session媒体。Application Server模式是在同一个Dialog条件 下进行Early Session和Session媒体协商,从终端侧的角度来说,是在Early Session和 Session媒体端口上分别进行协商和资源预留,从AS侧的角度来说,在同一个Dialog下则 可以通过使用不同事务信令消息分别携带两段媒体进行传送和协商。但是如果在SIP协议 栈不支持并行多事务,即SIP协议栈在同一时间内只能处理一个事务的情况下,携带两段 媒体的信令消息的交互容易产生冲突而导致媒体协商异常。综上所述,针对相关技术中在SIP协议栈不支持并行多事务的情况下携带两段媒 体的信令消息的交互容易产生冲突而导致媒体协商异常的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中存在的在SIP协议栈不支持并行多事务的情况下携带两段媒体 的信令消息的交互容易产生冲突而导致媒体协商异常的问题而提出本发明,为此,本发明 的主要目的在于提供一种信令消息的交互方法及应用服务器,以解决上述问题至少之一。为了实现上述目的,根据本发明的一个方面,提供了一种信令消息的交互方法。根据本发明的信令消息的交互方法包括应用服务器接收来自主叫的第一消息和 来自被叫的第二消息,其中,第一消息携带有发送至被叫的第一媒体,第二消息携带有发送 至主叫的第二媒体,第一媒体不同于第二媒体;应用服务器判断第一媒体的类型;根据第 一媒体的类型对第一媒体进行处理。优选地,应用服务器判断第一媒体的类型包括判断第一媒体为应答类媒体或为 提供类媒体。优选地,根据第一媒体的类型对第一媒体进行处理包括在判断出第一媒体为应 答类媒体的情况下,应用服务器缓存第一媒体;或者在判断出第一媒体为提供类媒体的情 况下,应用服务器回退第一媒体。优选地,应用服务器回退第一媒体包括应用服务器向第一媒体发送携带有指示 等待时间的信息的回退消息,其中,等待时间为主叫被允许再次向应用服务器发起信令请 求消息的最短等待时间。优选地,根据第一媒体的类型对第一媒体进行处理之后,上述方法还包括应用服 务器向主叫发送携带有第二媒体的消息。优选地,在第一媒体为应答类媒体的情况下,在应用服务器向主叫发送携带有第 二媒体的消息之后,上述方法还包括应用服务器向被叫发送携带有第一媒体的消息。优选地,第一媒体为正式会话媒体,第二媒体为早期会话媒体;或者,第一媒体为 早期会话媒体,第二媒体为正式会话媒体。为了实现上述目的,根据本发明的另一个方面,提供了一种应用服务器。根据本发明的应用服务器包括接收模块,用于接收来自主叫的第一消息和来自 被叫的第二消息,其中,第一消息携带有发送至被叫的第一媒体,第二消息携带有发送至 主叫的第二媒体,第一媒体不同于第二媒体;判断模块,用于判断第一媒体的类型;处理模 块,用于根据第一媒体的类型对第一媒体进行处理。
优选地,处理模块包括第一处理子模块,用于在第一媒体为应答类媒体的情况下 缓存第一媒体;第二处理子模块,用于在第一媒体为提供类媒体的情况下回退第一媒体。优选地,应用服务器还包括发送模块,用于处理模块对第一媒体进行处理之后, 向主叫发送携带有第二媒体的消息。通过本发明,采用对来自主叫的早期会话/正式会话媒体进行缓存或回退,解决 了在SIP协议栈不支持并行多事务的情况下携带两段媒体的信令消息的交互容易产生冲 突而导致媒体协商异常的问题,能够在早期会话/正式会话媒体同时进行传送和协商的情 况下防止媒体协商异常的发生。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的信令消息的交互方法的流程图;图2是根据本发明实例的信令消息的交互方法的应用场景示意图;图3是根据本发明实例的信令消息的交互方法的信令流程图;图4为根据本发明实施例的应用服务器的结构框图;图5为根据本发明实施例的应用服务器处理模块的结构框图。
具体实施例方式功能概述考虑到现有技术中存在的问题,本发明实施例提供了一种信令消息的交互方案, 用于在AS侧对于终端进行媒体协商的信令进行控制从而解决协商中的冲突异常,该方案 的处理原则如下应用服务器接收来自主叫的第一消息和来自被叫的第二消息,其中,第一 消息携带有发送至被叫的第一媒体,第二消息携带有发送至主叫的第二媒体,第一媒体和 第二媒体不相同;应用服务器判断第一媒体的类型;根据第一媒体的类型对第一媒体进行 处理。该方案根据是否存在还需发送给主叫的Session/Early Session被叫媒体和主叫上 送的Early Session/Session主叫媒体进行综合决策判断,并进行控制,能够使前转AS在 使用Application Server模式进 亍Early Session禾口 Session媒体分另Ij进 亍十办商时对于 信令进行控制从而避免信令冲突。下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。方法实施例根据本发明的实施例,提供了一种信令消息的交互方法。图1是根据本发明实 施例的信令消息的交互方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤 S106 步骤S102,应用服务器接收来自主叫的第一消息和来自被叫的第二消息,其中, 第一消息携带有发送至被叫的第一媒体,第二消息携带有发送至主叫的第二媒体,第一媒 体和第二媒体不相同,具体而言,第一媒体为正式会话媒体,第二媒体为早期会话媒体,或 者第一媒体为早期会话媒体,第二媒体为正式会话媒体,例如,在实际应用中,AS判断存在还需发送给主叫的Session/Early Session被叫媒体,同时判断存在主叫上送的Early Session/Session主叫媒体。在实际应用中,上述第一消息及第二消息可以为SIP消息,即, 上述第一消息及第二消息可以具体为第一 SIP消息及第二 SIP消息,也可以为其他能够携 带上述媒体的消息,本发明实施例对此不作限定。步骤S104,应用服务器判断第一媒体的类型,其中,第一媒体的类型可以为应答类 媒体或提供类媒体,即AS判断主叫上送的Early Session/Session主叫媒体是Answer媒 体或是Offer媒体。步骤S106,根据第一媒体的类型对第一媒体进行处理,具体而言,在应用服务器判 断第一媒体为应答类媒体的情况下,应用服务器缓存第一媒体;或者在应用服务器判断第 一媒体的类型为提供类媒体的情况下,应用服务器回退第一媒体,应用服务器回退第一媒 体具体为应用服务器向第一媒体发送携带有指示等待时间的信息的回退消息,其中,等待 时间为主叫被允许再次向应用服务器发起信令请求消息的最短等待时间。根据第一媒体 的类型对第一媒体进行处理之后,应用服务器向主叫发送携带有第二媒体的消息。在实际 应用中,若AS判断主叫上送的Early Session/Session主叫媒体是Answer媒体,则缓存 此Answer主叫媒体,接着通过合适的SIP事务信令消息携带Session/Early Session被 叫媒体发送给主叫,达到同时分别协商两段媒体的要求,或者,若AS判断主叫上送的Early Session/Session媒体是Offer媒体,则发送500消息给主叫,接着通过合适的SIP事务信 令消息携带Session/Early Session被叫媒体发送给主叫,达到同时分别协商两段媒体的 要求。上述500消息包含Retry-After头部,时间值为0到10S的可选值,在Retry-After 字段指定的时间间隔内,主叫终端不应当传送任何其他的信令请求到该应用服务器AS;当 Retry-After头部指示的时间到达时,主叫终端重新发送携带媒体的相应信令请求到AS, 此时信令的发送取决于终端侧的决策。进一步地,在第一媒体的类型为应答类媒体的情况下,在应用服务器向主叫发送 携带有第二媒体的初始会话协议信令消息之后,应用服务器向被叫发送携带有第一媒体的 消息。下面将结合实例对本发明实施例的实现过程进行详细描述。图2是根据本发明实例的信令消息的交互方法的应用场景示意图,图3是根据本 发明实例的信令消息的交互方法的信令流程图,具体为非并行多事务SIP协议栈情况下使 用Application Server模式完成呼叫的过程。下面将以图2所示的场景为基础并结合图3 对无应答前转业务的具体实例进行描述,并以此为例说明本发明实施例提供的方法。需要 说明的是,图3中省略用户设备B、用户设备C的前转AS和相关消息。1.用户设备A呼叫B,向其CSCF发起会话请求(session);2.用户设备A的CSCF向用于B的CSCF发起会话请求(session);3.用户设备B的CSCF向前转AS发起会话请求(session);4.前转AS向用户设备B的CSCF发起会话请求(session);5.用户设备B的CSCF向前转AS发起会话180响应(early session);6.前转AS向用户设备B的CSCF发起会话180响应(early session);7.用户设备B的CSCF向用户设备A的CSCF发起会话180响应(early session);8.用户设备A的CSCF向用户设备A发起会话180响应(early session);
7
9.用户设备A向用户设备A的CSCF发起会话prack请求(early session);10.用户设备A的CSCF向用户设备B的CSCF发起会话prack请求(early session);
用户设备B的CSCF向前转AS发起会话prack请求(early session); 前转AS向用户设备B的CSCF发起会话prack请求(early session); 前转AS无应答超时后,向用户设备B的CSCF发起会话请求(session),前转
用户设备B的CSCF向用户设备C的CSCF发起会话请求(session); 用户设备C的CSCF最终向用户设备C发起会话请求(session); 用户设备C向用户设备C的CSCF发起会话183响应(early session,
用户设备C的CSCF向用户设备B的CSCF发起会话183响应(early session、11.12.13.
到C;14.15.16.
session);17.
session);18.用户设备B的CSCF向用户设备B的前转AS发起会话183响应(early session、session);19. Early-Session和Session分别进行媒体协商后,用户设备B的前转AS向用户 设备B的CSCF发起会话update请求(early session);20.用户设备B的CSCF向用户设备A的CSCF发起会话update请求(early session),前转AS (B)通过会话请求消息转发Early-Session的Offer媒体到A ;21.用户设备A的CSCF向用户设备A发起会话update请求(early session);22.用户设备A向用户设备A的CSCF发起会话2000K响应(early session);23.用户设备A的CSCF向用户设备A发起会话2000K响应(early session);24.用户设备B的CSCF向用户设备B的前转AS发起会话2000K响应(early session),即,发起Early-Session的Answer响应消息到前转AS (B),AS缓存此主叫Answer 媒体;25.用户设备A向用户设备A的CSCF发起会话update请求(early session);26.用户设备A的CSCF向用户设备B的CSCF发起会话update请求(early session);27.用户设备B的CSCF向前转AS发起会话update请求(early session),具体 而言,发起Early-Session的Offer请求消息到前转AS (B);28.用户设备B的前转AS向用户设备B的CSCF发起500 (Retry-After)消息回退 上述Offer请求消息;
用户设备B的CSCF向用户设备A的CSCF发起500 (Retry-After)消息; 用户设备A的CSCF向用户设备A发起500 (Retry-After)消息; 用户设备B的前转AS向用户设备B的CSCF发起会话183响应(session) 用户设备B的CSCF向用户设备A的CSCF发起会话183响应(session); 用户设备A的CSCF向用户设备A发起会话183响应(session)。29.30.31.32.33.上述步骤31至步骤33为用户设备B的前转AS通过会话响应消息转发Session 的Answer媒体到用户设备A。
而且,主叫终端A在Retry-After时间间隔内,UE不发送请求到原先的服务器端。装置实施例根据本发明的实施例,提供了一种应用服务器。图4为根据本发明实施例的应用 服务器的结构框图。如图4所示,上述应用服务器包括接收模块42,用于接收来自主叫的 第一消息和来自被叫的第二消息,其中,第一消息携带有发送至被叫的第一媒体,第二消息 携带有发送至主叫的第二媒体,第一媒体不同于第二媒体;判断模块44,连接于接收模块 42,用于判断第一媒体的类型;处理模块46,连接于判断模块44,用于根据第一媒体的类型 对第一媒体进行处理。图5为根据本发明实施例的应用服务器处理模块的结构框图。如图5所示,处理 模块包括第一处理子模块52,用于在第一媒体为应答类媒体的情况下缓存第一媒体;第 二处理子模块54,用于在第一媒体为提供类媒体的情况下回退第一媒体。优选地,应用服务器还可以包括发送模块,用于处理模块对第一媒体进行处理之 后,向主叫发送携带有第二媒体的消息。本发明实施例提供的信令消息的交互方案能够在SIP协议栈不支持并行多事务 条件下,同时使用Application Server模式的媒体协商方法,在早期会话/正式会话媒体 同时进行传送和协商的情况下可以防止媒体协商异常的发生。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种信令消息的交互方法,其特征在于,所述方法包括所述应用服务器接收来自主叫的第一消息和来自被叫的第二消息,其中,所述第一消 息携带有发送至所述被叫的第一媒体,所述第二消息携带有发送至所述主叫的第二媒体, 所述第一媒体不同于所述第二媒体;所述应用服务器判断所述第一媒体的类型; 根据所述第一媒体的类型对所述第一媒体进行处理。
2.根据权利要求1所述的方法,其特征在于,所述应用服务器判断所述第一媒体的类 型包括判断所述第一媒体为应答类媒体或为提供类媒体。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一媒体的类型对所述第 一媒体进行处理包括在判断出所述第一媒体为所述应答类媒体的情况下,所述应用服务器缓存所述第一媒 体;或者在判断出所述第一媒体为所述提供类媒体的情况下,所述应用服务器回退所述第一媒体。
4.根据权利要求3所述的方法,其特征在于,所述应用服务器回退所述第一媒体包括 所述应用服务器向所述第一媒体发送携带有指示等待时间的信息的回退消息,其中,所述等待时间为所述主叫被允许再次向所述应用服务器发起信令请求消息的最短等待时 间。
5.根据权利要求3中所述的方法,其特征在于,根据所述第一媒体的类型对所述第一 媒体进行处理之后,所述方法还包括所述应用服务器向所述主叫发送携带有所述第二媒体的消息。
6.根据权利要求5所述的方法,其特征在于,在所述第一媒体为所述应答类媒体的情 况下,在所述应用服务器向所述主叫发送携带有所述第二媒体的消息之后,所述方法还包 括所述应用服务器向所述被叫发送携带有所述第一媒体的消息。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一媒体为正式会话媒体,所述第二媒体为早期会话媒体;或者, 所述第一媒体为早期会话媒体,所述第二媒体为正式会话媒体。
8.一种应用服务器,其特征在于,包括接收模块,用于接收来自主叫的第一消息和来自被叫的第二消息,其中,所述第一消息 携带有发送至所述被叫的第一媒体,所述第二消息携带有发送至所述主叫的第二媒体,所 述第一媒体不同于所述第二媒体;判断模块,用于判断所述第一媒体的类型;处理模块,用于根据所述第一媒体的类型对所述第一媒体进行处理。
9.根据权利要求8所述的应用服务器,其特征在于,所述处理模块包括 第一处理子模块,用于在所述第一媒体为应答类媒体的情况下缓存所述第一媒体; 第二处理子模块,用于在所述第一媒体为提供类媒体的情况下回退所述第一媒体。
10.根据权利要求8或9所述的应用服务器,其特征在于,所述应用服务器还包括发送模块,用于所述处理模块对所述第一媒体进行处理之后,向所述主叫发送携带有 所述第二媒体的消息。
全文摘要
本发明公开了一种信令消息的交互方法及应用服务器,该方法包括应用服务器接收来自主叫的第一消息和来自被叫的第二消息,其中,第一消息携带有发送至被叫的第一媒体,第二消息携带有发送至主叫的第二媒体,第一媒体不同于第二媒体;应用服务器判断第一媒体的类型;根据第一媒体的类型对第一媒体进行处理。本发明能够在早期会话/正式会话媒体同时进行传送和协商的情况下防止媒体协商异常的发生。
文档编号H04L29/06GK101997856SQ20091016757
公开日2011年3月30日 申请日期2009年8月26日 优先权日2009年8月26日
发明者靳彬 申请人:中兴通讯股份有限公司