陈成良1,2,王纯1,2
(1.北京邮电大学网络与交换技术国家重点实验室,北京 100876; 2.东信北邮信息技术有限公司,北京 100191)
摘要:本文首先介绍了3GPP定义的IMS(IP Multimedia Subsystem)网络的体系架构,之后阐述了MRF(Multimedia Resource Function)的组成结构及功能,然后着重讨论了音视频会议在MRF中的具体设计方案,分别给出了MRFC(Multimedia Resource Function Controller)和MRFP(Multimedia Resource Function Processor)的功能模块的设计,最后具体描述了MRF的音视频会议的信令流程的实现。
关键字:音视频会议;MRF; IMS; SIP
中图分类号:T 文献标识码:A 文章编号:1006-0707 (2010) xx-xxxx-x
Design and Implementation of Audio Video Conference of MRF
Chen Chengliang1,2, Wang Chun1,2
(1.State Key Lab of Networking and Switching Technology, Beijing University of Posts and Telecommunications;2.EBUPT Information Technology Co.,Ltd.)
【Abstract】This paper describes IMS (IP Multimedia Subsystem) network architecture, which was defined by 3GPP, describes the architecture and function of MRF (Multimedia Resource Function). Then this paper focuses on the design and implementation of audio video conference of MRF. The functional module design of MRFC (Multimedia Resource Function Controller) and MRFP (Multimedia Resource Function Processor) is provided in this paper. Finally, this paper describes an audio video conference signaling process of MRF.
【Key words:】audio video conference; MRF; IMS; SIP
1. 引言
当前,运营商正引入面向未来的网络结构,IMS(IP Multimedia Subsystem)是一个能帮助运营商逐步过渡到全IP网络的技术标准,是一种简单有效、低成本而且标准化的网络。音视频会议是一种三方以上的多媒体通信业务,是通信的一个重要应用。目前,随着IMS核心网的建设,音视频会议业务的研究也在同步进行。不久将会有很多音视频会议的业务,投入IMS网络中,正式商用。研究设计一种能提供音视频会议功能的会议系统也就变得迫切。
2. IMS和MRF的结构介绍
2.1 IMS的体系架构
3GPP是IMS标准的发起者和主要贡献者,到目前为止3GPP已发布了R99, R4, R5, R6, R7, R8, R9和R10等版本,其中在R5 中首次提出IMS子系统的概念,同时也在IMS中引入了多媒体资源功能MRF(Multimedia Resource Function) 作为专门的多媒体资源提供者。
IMS网络主要网元以及支持的接口如图1所示:
(1)呼叫会话控制功能CSCF(Call Session Control Function):是整个网络的核心,是IMS中最重要的关键元素之一,包含代理 CSCF(P-CSCF),服务CSCF(S-CSCF)和轮询 CSCF(I-CSCF)功能。
(2)媒体网关控制功能MGCF(Media Gateway Control Function)和媒体网关MGW(Media Gate Way):MGCF控制一个或多个MGW,管理着PSTN英文缩写首次出现处给出全称,检查全文.承载与IP流之间的连接。MGW的主要功能是将终端用户之间的媒体流从一种格式转换为另一种格式。
(3)媒体资源功能MRF:由多媒体资源功能控制器MRFC(Multimedia Resource Function Controller)和多媒体资源功能处理器MRFP(Multimedia Resource Function Processor)两个功能模块组成。
(4)出口网关控制功能BGCF(Breakout Gateway Control Function):是IMS域与外部网络的分界点,主要实现呼叫路由功能,用来选择与PSTN/CS域切入点相连的网络、收到S-CSCF请求、为呼叫选择适当的PSTN接口点。
(5)归属用户服务器HSS(Home Subscr iber Server):是由归属位置寄存器(HLR)和鉴权中心(AUC)演进而来,保存着用户文件和现在正由哪个核心网络对这个用户服务的有关信息。
图1 IMS网络组织示意图[1]
(6)签约位置功能SLF(Subscription Locator Function):保存用户的HSS地址。此功能在同一PLMN中设置多于1个HSS时需要。
(7)应用服务器AS(Application Server):提供业务属性。与会话共同控制通信流程,处理被触发的业务逻辑。应用服务器分为基于OSA/Parlay和基于SIP的AS。
2.2 MRF结构介绍
MRF由多媒体资源功能控制器MRFC和多媒体资源功能处理器MRFP两个功能模块组成,其中MRFC提供媒体资源控制的功能,MRFP提供媒体资源处理的功能。
3GPP的IMS的规范中,定义MRFC的功能时,第二个功能点提到MRFC可以接受AS的控制,但是在IMS核心网体系结构中并未有定义AS和MRF参考点[1]。另外,Mp参考点上的控制协议也可以扩展,因此我们对MRF的功能进行了增强。增强的MRF的体系结构如图2所示。
图2增强的MRF的体系结构图
S-CSCF与MRF之间的交互通过Mr接口,AS与MRF之间的交互通过Cr接口,Mr和Cr接口都采用SIP协议(可以附加携带NETANN, VXML, MSML/MOML脚本)[2],可提供音视频播放、音视频录制、DTMF收号、会议和审计等功能接口。
MRFC和MRFP之间交互的Mp接口,使用类似于H.248/ Megaco协议的IRCP(Interior Resource Control Protocol,内部资源控制协议)[3]。根据S-CSCF与AS的调用,MRFC通过Mp接口控制MRFP完成相应的媒体流编解码、混合到达的媒体流(如多方会话时)、处理媒体流、支持DTMF(双音多频)收号、向MRFC通知媒体流处理结果等。
MGW与MRF之间的交互通过Mb接口,使用RTP/RTCP协议来封装控制媒体流,接口顺从RFC1889“RTP: A Transport Protocol for Real-Time Applications”。
3 音视频会议在MRF中的设计和实现
3.1 MRF音视频会议的设计
音视频会议在IMS网络下,主要是基于SIP的会议架构。音视频会议在MRF中的设计和实现主要包括两部分,MRFC的会议模块设计和实现以及MRFP的会议模块设计和实现。其中MRFC会议模块的主要功能是解析SIP协议消息,通过Mp接口控制MRFP,MRFP接受MRFC的控制,完成相应的会议操作。
MRF音视频会议的设计是在EB-NCSP(EB Next Core Service Platform,东信北邮下一代核心业务平台)的MS(Media Server,媒体服务器)[2]基础上设计的,如图3所示。
图3 MRF音视频会议设计结构图
MRFC的各个模块的功能如下:
(1)资源控制模块(RCM):用来管理MRF的资源。具有逻辑控制和相应事件的处理功能,负责和应用逻辑进程通信,并通过CMM与MRFP通信。
(2)会议控制模块(CCM):负责管理MRF的会议,以及相应的会议事件处理,也通过CMM与MRFP通信。
(3)协议解析模块(PPM):负责MSML和Netann协议的解析。
(4)协议栈适配模块(SAM):实现各种协议栈的适配,以屏蔽各种协议栈的差异。
(5)协议栈模块(SM):负责协议栈消息的收发,包含SIP/BICC/IIP-MS协议栈,以及MSML/MOML协议栈。
(6)通用消息模块(CMM):使用通用消息负责和MRFP的通信,之间采用类似于H.248的IRCP进行通信。
(7)告警模块(AM):负责产生告警并发送到网管系统中的告警服务器。
(8)统计模块(STM):负责生成统计数据,供网管系统采集。
(9)网管监控模块(NMM):负责生成网管所需监控数据,供网管系统采集。
(10)Mon监控模块(MM):负责产生Mon所需监控数据,并通过msmon呈现。
MRFP的各模块功能如下所述:
(1)资源处理模块(RPM):负责从MRFC接收命令消息或者将MRFP内部消息发送到MRFC,同时还负责对收发的消息进行编解码;负责从配置文件中读取目前使用的板卡类型,统计该板卡可用资源,当收到MRFC发来的资源请求消息时负责为该请求分配板卡资源编号。
(2)板卡适配模块(BAM):作为资源处理模块和板卡模块的接口,实现对不同板卡的适配。
(3)板卡模块(BM):负责处理从消息转发模块接收消息并进行处理,主要是处理MRFC的请求,进行媒体处理,如放音、录音、收号等。从自身消息队列取出板卡消息进行处理,并在必要时通过消息转发模块向MRFC回复消息。
(4)会议管理模块(CFM):负责接受MRFC的会议控制,对会议室、会议资源和会议的操作进行管理和控制,以及针对不同的会议板卡,适配不同板卡下的会议模块。
(5)会议模块(CRM):负责处理MRFC的会议请求,完成相关会议功能,如会议放音、收号、录音等,并在必要时向MRFC回复消息。
通用消息模块(CMM)、告警模块(AM)、统计模块(STM)、网管监控模块(NMM)、Mon监控模块(MM)的功能描述同MRFC部分。
3.2 MRF音视频会议信令流程实现
MRF的一种音视频会议的信令流程如图4所示。
(1) (a1)-(a3) AS通过SIP三次握手,在MRF上建立一个会话。
(2) (a4) AS向MRF发送创建会议的INFO消息,INFO中携带会议创建的MSML消息,指示MRF创建会议的类型、会议属性等。
图4 一种MRF会议实现流程图
(3) MRFC接受AS的创建会议请求,进行协议解析,通过IRCP协议给MRFP发创建会议请求CreatRoomReq,控制MRFP完成会议创建。
(4) (a6) (a7) MRFP创建会议完成后,回复MRFC会议创建响应消息CreatRoomRep,之后MRFC回复200OK给AS,200OK中携带创建会议结果消息码。
(5) (b1)-(b6) 用户加入会议前,AS给MRF发送INVITE,通过三次握手在MRF为该用户申请音视频资源,并完成用户终端和MRFP之间的RTP连接。
(6) (b7) AS向MRF发送加入会议的INFO请求。
(7) (b8) MRFC接受AS的INFO消息,通过协议栈解析和会议控制模块,通过IRCP的moveReq消息,控制MRFP把该用户加入到会议室中,之后MRFP对该用户混音或视频,进行音视频会议。
(8) (b9)-(b10) MRFP给MRFC回复加入会议响应moveReq,MRFC给AS回复带响应码的200OK消息。
(9) (c) 用户重复(b1)-(b10)步骤,加入会议室中,进行音视频会议。
(10) (b11) 当用户要退出会议时,AS向MRF发送退出会议INFO请求,携带退出会议的MSML消息。
(11) (b12) MRFC解析INFO消息,通过会议控制模块给MRFP发送退出会议moveReq请求,控制MRFP退出该用户。
(12) (b13) (b14) MRFP完成退出操作后,给MRFC回复退出会议响应moveRep,MRFC根据MRFP的上报结果,给AS回复携带消息码的200OK。
(13) (b15) (b16) 用户退出会议后,AS给MRF发BYE结束会话,MRFC向MRFP发subtractReq,断开RTP连接并释放资源。
(14) (b17) (b18) 资源释放后,MRFP给MRFC上报subtractRep消息,MRFC给AS发送200OK。
(15) (c)重复(b11)-(b14)步骤,退出其他成员。
(16) (a8) AS给MRF发送删除会议INFO请求,携带删除会议的MSML消息,指示MRF删除该会议。
(17) (a9) MRFC接受AS的指示,通过会议控制模块,给MRFP发删除会议请求delroomReq。
(18) (a10) (a11) 会议删除完成后MRFP给MRFC回复删除响应消息delroomRep,MRFC根据响应结果,回复AS携带消息码的200OK消息。
(19) (a12) (a13) 会议删除后,AS向MRF发送BYE,释放会议控制会话。