分类: LINUX
2008-06-12 19:35:48
摘 要:本文介绍了XE语音服务器实现H.323协议规定的GateKeeper(网守)功能的基本原理,描述了XE语音服务器作为网守所实现的一些特色功能,并对XE语音服务器实现的GK功能在实际组网环境的应用作了简要的介绍.
H.323概述
H.323协议是基于分组的多媒体通信系统,它被传统网络运营商以及设备制造厂家广泛地用于的解决中,并且已成为如今VoIP的标准之一。H.323协议族是在应用层实现的,主要描述了在不保障服务质量(QoS)的局域网上用于多媒体通信的终端、设备和业务,包括H.225.0、H.245、G.729、G.723.1、G.711、H.261、H.263以及T.120系列等协议。G.723.1、G.729、G.711是音频编解码协议,H.263、H.261是视频编解码协议,H.225.0、H.245是呼叫控制协议,T.120系列则是多媒体数据传输协议。H.323用于发起会话,它能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频等)、媒体的编解码格式、广播的支持等。
图1H.323协议层次图
H.323协议采用Client/Server模型,主要通过网关(GateWay)与网守(GateKeeper)之间的通信来完成用户呼叫的建立过程。其中H.225.0协议分为RAS信令和Q.931信令,RAS(Registration,Admission,andStatus)信令用于H.323终端与网守之间的注册、接入及状态改变交互,RAS信令传输基于不可靠的连接(UDP方式);Q.931信令用于呼叫的发起及建立,Q.931信令的传输基于可靠的连接(TCP方式)。H.245协议规定的信令用于H.323实体间控制信道的建立及控制消息的传送,H.245控制信令的传输基于可靠的连接(TCP方式)。
XE语音服务器实现GK功能的基本原理
网关(GateWay)与网守(GateKeeper)之间的通信采用H.225.0协议中规定的RAS信令进行交互,完成终端的注册、接入、带宽改变、状态、以及脱离过程。RAS消息采用ASN.1编码方式,采用UDP方式进行传输。
XE语音服务器支持的RAS信令简介
1、网守发现(GRQ)
2、注册请求(RRQ)
3、取消注册请求(URQ)
4、接入请求(ARQ)
5、域间查询请求(LRQ)
6、带宽变更请求(BRQ)
7、呼叫拆除请求(DRQ)
8、信息查询响应(IRR)
9、请求进行中(RIP)
10、资源可用信息(RAI)
介绍如下:
网守发现(GRQ)
图2网守发现
网守发现(Gatekeeperdiscovery)是网关用来决定在哪一个关守上注册的过程。网守确定该网关向自己注册则回复网守发现确认消息GCF给网关,并且返回网守的RAS信道的传输地址。如果网守不希望该网关在其上注册,返回网守拒绝(GRJ-GatekeeperReject)。
注册请求(RRQ)
图3注册请求
注册是网关接入一个区域的途径,并将其传输地址和别名地址通报给网守。网守如果允许该网关注册则以注册确认(RCF-RegistrationConfirmation)响应,否则以注册拒绝(RRJ-RegistrationReject)进行响应。
取消注册请求(URQ)
图4取消注册请求
网关可以通过向网守发送注销请求(URQ-UnregisterRequest)消息以取消注册。如果该网关已经在Gk上注册,网守必须以注销确认消息(UCF-UnregisterConfirmation)加以回应。如果网关没有在网守上注册,网守必须向端点返回一个注销拒绝(URJ-UnregisterReject)消息。
接入请求(ARQ)
图5呼叫接入请求
网关如果已经注册到网守上,在网关发起呼叫时会向GK发送接入请求(ARQ-AdmissionsRequest)消息,消息中携带了发起呼叫请求的带宽信息、被叫信息及网关的源信息等。如果GK允许网关接入则回复ACF(AdmissionConfirmation)接入确认消息给网关,否则回复ARJ(AdmissionReject)接入拒绝消息。
域间查询请求(LRQ)
图6域间查询请求
当一个网守在自己管辖的范围内不能确定被叫终端的信息时,会向它已知的网守发送一个域间查询请求(LRQ-LocationRequest)消息。接收到域间查询请求的网守在确认被叫信息在自己管辖的区域内且已经注册,则以位置确认(LCF-LocationConfirmation)消息响应,位置确认消息包含终端或终端注册的网守的连接信息。连接完成tup注册之后在是确保呼叫能够正确信息必须包括用来到达终端的呼叫信令信道和RAS信道地址,以及其它可选的目标信息。
带宽变更请求(BRQ)
图7带宽变更请求
网关可以在呼叫期间用带宽改变请求(BRQ-BandwidthChangeRequest)消息改变呼叫带宽。网守如果能够支持其改变的带宽,以带宽改变确认消息BCF(BandWidthConfirm)回复,否则以带宽改变拒绝消息BRJ(BandWidthReject)回复。
呼叫拆除请求(DRQ)
图8呼叫拆除请求
呼叫建立后,如果通话的双方任意一方挂机,网关会发送DRQ(DisengageRequest)到GK请求呼叫拆除。GK通过CallID(整个呼叫过程中全局唯一标识)判断当前该路呼叫是否匹配,如果匹配则释放该路呼叫占用的带宽,回复DCF拆线确认(DisengageConfirm);否则以DRJ(DisengageReject)拆线拒绝回复。
信息查询响应(IRR)
图9信息查询响应
在GK允许网关的接入请求后,回复的ACF(AdmissionConfirm)响应消息中如果携带irrFrequency字段并且该字段值非零,网关则根据该字段所规定的时间长度(单位为秒)定时发送IRR(InfoRequestResponse),表明当前的通话过程正在进行中。
请求进行中(RIP)
图10请求进行中
当GK接收到网关的请求消息后(GRQ、RRQ、ARQ、BRQ等),如果在协议规定的时间(2秒中)内无法回复确认或拒绝消息时,由于RAS消息采用的是UDP传输方式,GK应该回复RIP(RequestinProgress)给网关,防止请求消息的重发。
资源可用信息(RAI)
图11资源可用信息
网关在注册到GK后任意时刻都可以将自身资源信息用RAI(ResourceAvailabilityIndication)消息上报到给GK,GK回复RAC(ResourceAvailabilityConfirm)消息给网关。
XE语音服务器支持的Q.931信令
XE语音服务器配置H.323呼叫方式为路由方式时,XE处理网关发送的Q.931信令,与网关进行Q.931信令交互实现呼叫过程的建立。下图为路由呼叫方式的信令交互序列图:(注:H.245信令交互过程未在图中画出)
Setup消息
Setup消息用于主叫H.323实体向被叫实体发起呼叫连接请求。Setup消息中携带了主叫号码、主叫IP、被叫号码、被叫IP等呼叫建立的必要信息。
Setup请求有两种方式:快启和非快启。
采用快启方式建立呼叫的目的是用最少的消息交换建立一个基本的点对点呼叫,可以在呼叫连接建立的基础上立即进行媒体流的传输过程。
采用非快启方式建立呼叫即采用单独的H.245信道进行H.245信令交互,完成主从确定、能力交换及逻辑通道建立等过程,详细参见H.245信令部分的介绍。
XE语音服务器收到主叫H.323实体发送的Setup消息后,查询Setup消息中被叫号码对应的被叫网关,向实际的被叫网关发送Setup请求,等待被叫H.323实体的响应。
CallProceeding消息
被叫H.323实体收到呼叫建立请求消息Setup后,发送Callproceeding响应消息到主叫H.323实体,表明呼叫请求正在处理中,不再接收该呼叫请求的其它呼叫建立信息。
XE语音服务器收到被叫H.323实体的Callproceeding响应消息后,将该消息转发至主叫侧。
如果Callproceeding消息中携带了被叫侧的H.245信令通道建立信息,则XE分配一个新的H.245信令通道,填充至Callproceeding消息中并转发至主叫侧。
Alerting消息
被叫H.323实体回复Alerting消息表明被叫开始振铃。
XE语音服务器收到被叫H.323实体的Alerting响应消息后,将该消息转发至主叫侧。
Progress消息
被叫H.323网关如果需要进行带内放音,则发送Progress响应消息通知主叫侧。
XE语音服务器收到被叫H.323网关的Progress响应消息后,将该消息转发至主叫侧。
Connect消息
如果被叫H.323网关接受主叫的呼叫请求,回复Connect响应消息到主叫侧。
XE语音服务器收到被叫H.323网关的Connect响应消息后,将该消息转发至主叫侧。
Facility消息
Facility主要有以下几种用途:
1、被叫H.323网关将呼叫前转,Facility消息中携带了待转移目的地址。
2、H.323网关要求建立H.245信令通道
3、被叫为MC,提供会议列表选择(可选)
4、H.323网关不支持H.245信令通道(H.323V4)
XE语音服务器收到Facility消息判断如果呼叫被前转,提取待前转的目的信息,发送Setup消息到该目的信息;如果原因为其它原因,将Facility消息转发至主叫侧。
ReleaseComplete消息
呼叫建立后,任何一方都可以进行呼叫拆除。ReleaseComplete消息用来进行呼叫拆除。
XE语音服务器收到ReleaseComplete消息后,转发至呼叫的对端,同时将其对应的Q.931信令通道断开。
XE语音服务器支持的H.245信令
H.245消息共有四类,分别为请求、响应、命令和指示。请求和响应消息用于H.323协议实体。请求消息要求接收者一个特定的行动,及一个立即的响应。响应消息响应一个相应的请求。命令消息要求一个指定的行动,但不需要响应。指示消息只是提供信息,不要求行动和响应。
XE语音服务器路由呼叫模式下支持所有的H.245信令,XE与主叫及被叫都建立单独的H.245信令通道进行H.245信令传输。
H.245信令种类有:
•主/从确定
(MasterSlaveDetermination/MasterSlaveAck/MasterSlaveReject)
•能力交换
(TerminalCapabilitySet/TerminalCapabilityAck/TerminalCapabilityReject)
•逻辑信道信令
(OpenLogicaChannel/OpenLogicaChannelAck/OpenLogicaChannelReject)
•双向逻辑信道信令
(RequestChannelClose/RequestChannelCloseAck/RequestChannelCloseReject)
•关闭逻辑信道信令
(CloseLogicalChannel/CloseLogicalChannelAck/CloseLogicalChannelReject)
•模式请求
(RequestMode/RequestModeAck/RequestModeReject)
•往返延迟确定
(RoundTripDelayRequest/RoundTripDelayRequestAck/RoundTripDelayRequestReject)
•维护回路信令
(MaintenanceLoopRequest/MaintenanceLoopAck/MaintenanceLoopReject)
下图为XE处理H.245信令流程图:
(以MSD、TCS、OLC为例,此处Q.931信令流程省略)
XE语音服务器路由呼叫模式下收到H.245消息后,根据Q.931信令交互过程获取的呼叫双方的H.245信令通道参数与呼叫双方分别建立H.245信令通道,转发收到的H.245消息。
XE语音服务器作为GK的功能特色
XE语音服务器作为网守提供注册管理、呼叫管理、带宽管理基本功能,支持H.225.0协议的RAS消息部分,提供直接方式呼叫。与VG系列语音网关配合可以实现主叫/被叫号码变换、号码资源统一分配、注册备份负荷分担等非常实用的功能。
主叫/被叫号码变换
如果在XE语音服务器上配置了号码变换的规则,收到网关发送的ARQ接入请求消息后,XE作为GK确认其接入请求,回复ACF接入请求确认。在接入请求确认消息ACF中填充了变换后的主叫及被叫号码,主叫侧网关接收到ACF后会按照新的被叫号码向被叫发起呼叫。实现了主叫/被叫号码变换后可以方便的实现很多业务。
号码资源统一分配
XE语音服务器作为网守与VG系列语音网关配合可以实现号码资源统一分配的功能,号码资源统一分配功能即主叫拨打被叫时所拨打的号码不依赖于网关上的配置信息,所有号码资源由GK统一分配,将号码资源与网关端口绑定,实现了号码配置与网关无关。
注册备份负荷分担
XE语音服务器作为网守与VG系列语音网关配合可以实现注册备份负荷分担功能,在回复给网关的RCF(注册确认)消息中,如果网守发现当前负荷较重则将其它所有可用的GK列表返回给网关。网关收到该列表后根据列表中的先后顺序重新向其它GK发起注册,保证了整个网络内的负载均衡。
提供直接和路由呼叫两种方式
XE语音服务器作为网守与VG系列语音网关组网时,XE提供的呼叫方式可以灵活的配置为直接呼叫方式或路由呼叫方式。如果整个网络内对业务及呼叫控制要求较低,可以配置为直接呼叫方式,可以减少呼叫建立的时间,提高效率。而路由呼叫方式可以实现Q.931信令及H.245信令的路由,对呼叫建立的控制更加灵活,可以方便的实现多种业务。
支持H.323协议NAT/FW穿越
XE语音服务器作为网守配置为路由呼叫方式,采用多XE组网可以实现H.323协议的NAT/FW穿越。XE提供的隧道方式穿越NAT/FW功能对原有网络及防火墙设备改动非常小,只需简单配置便可实现协议无关性穿越。XE更提供了灵活的配置方法,可以轻松实现多级NAT/FW穿越。
XE语音服务器作为GK的组网应用
图12试验局1典型组网方案
图中给出了某试验局的典型组网方案,共150个局点(网关)全部接入局域网内并注册到XE2000上,XE2000(GK)对局域网内部的全部网关实现注册管理、呼叫管理、带宽管理基本功能,提供150个网关间的直接呼叫。
总结
XE语音服务器作为GK实现了协议中规定的网守