H.323详解
H.323详解
文章中的某些图粘不上去,可到资源页下载word版点击打开链接
转载博客:https://blog.csdn.net/hemingliang1987/article/details/16857163
目
录(TOC Heading)
关键词:
H.323、RAS、H.245、Q.931、GK、MCU、MC、MP、GW
摘 要:
H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议。H.323定义了介于电路交换网和分组交换网之间的H.323网关(GateWay)、用于地址翻译和访问控制的网守(GateKeeper)、提供多点控制的多点会议控制器(MC)、提供多点会议媒体流混合的多点处理器(MP),以及多点会议控制单元(MCU)等实体
缩略语清单:
PBN(Packet based network) 使用基于包传输协议的网络
SCN(Switched circuit network) 电路交换网
B-ISDN 宽带综合数字业务网络
GSTN 普通电话交换网络
参考资料清单:
第1章 协议概述
H. 323是ITU-T开发的IP网络实时多媒体通信协议簇,由呼叫控制、媒体编码、管理控制、网络安全等一系列协议组成。
H.323适用于在底层传输不提供QoS保证的分组网络上进行多媒体通讯的技术需求,
主要目的是实现位于不同网络中的终端之间的音视交互通信。
H.323建议定义了的系统组件包括终端,网关(GW), 网守(GateKeeper,简称 GK),多点控制(MC),多点处理(MP),多点处理单元(MCU)等。最重要的系统组件为网关和网守。
H.323终端提供在点对点或点对多点会议中,进行语音和可选用的视频,数据通讯能力。
H.323的范围不包括网络界面,物理网络,及网络上的传输协议。
第2章 协议概念
2.1 名词解释
图2-1
H.323构件及相互关系
GW(GateWay):H.323网关是指在PBN上的H.323终端与SCN上的其它终端之间,或另一个H.323网关之间,提供实时双向业务的节点。
GK(GateKeeper):GK是网络上的H.323实体,它为H.323终端,网关和MCU提供地址翻译,控制网络访问。也可以为终端,网关,和MCU提供其它服务:如带宽管理,定位网关等。
MCU(Multipoint control unit):多点控制单元用于控制多点会议。也可以用于连接两个终端的点对点会议(这种点对点会议以后可能发展为多点会议)。MCU通常按H.231 MCU的方式行事,不过音频处理器不是必须的。MCU由两部分组成:必备的MC和可选的MP。最简单的MCU可以只包括一个MC,没有MP。MCU也可能在不被某个节点显式呼叫的情况下,通过GK加入会议。
MC(Multipoint controller):MC是网络上的一个H.323实体,它为多点会议中三个或更多个终端的参与提供控制。也可以在点对点会议中连接两个终端,以后发展为多点会议。MC与所有终端进行能力协商,在共有的水平上进行通讯。它也可以管理会议资源,例如谁正在多点传送视频。MC不执行媒体流的混响与交换。
MP(Multipoint processor):MP是网络上的H.323实体,它为多点会议中的媒体流提供集中处理能力。在MC的控制下,提供混响,交换,和其它对媒体流的处理过程。MP 能够处理单个或多个媒体流依赖于支持的会议类型。
Terminal:H.323终端是网络上的一个节点,它与其它H.323终端,网关,或MCU之间进行实时、双向的通讯。
EP(EndPoint):节点指H.323终端,网关,或MCU。它能发起呼叫或被呼叫。由它产生、终止信息流。
Zone:区域是由一个GK管理的所有终端,网关,和MCU的集合。一个区域至少包括一个终端,可以不包括网关和MCU。一个区域有且只有一个GK。区域独立于网络拓扑结构,可以由通过路由设备相连的多个网段组成。
图2-2 H.323 – Zone
呼叫信令:一组消息和流程。用于建立呼叫,请求改变呼叫的带宽,得到呼叫中端点的状态终止呼叫等。
2.2 协议模型
H.323协议是一种伞形规范,因为它涵盖了其它建议,包括H.225.0分组和同步,H.245控制,H.261和H.263视频CODEC,G.711、G.722、G.728、G.729和G.723音频CODEC,以及T.120系列多媒体通信协议。
H.323协议栈结构如下图所示
图2-3 H.323
协议栈
在我司NGN解决方案的核心部件SoftX中,使用了H.323协议簇中的RAS、Q.931和H.245协议。其网络层协议是IP,传送层协议为UDP和TCP,其中RAS承载在UPD上,Q.931和H.245承载在TCP上。
H.323消息编码格式是基于ASN.1二进制编码。
本文将只对RAS、Q.931、H.245做进一步描述。
2.2.2 RAS
ITU-T RAS (Registration, Admission, and Status)协议为网关与网守之间进行信息交互所使用的协议,在RAS协议中,一般模式都是网关向网守发送一个请求,然后网守返回接受或拒绝消息。RAS消息主要遵循H.323 V2协议。
2.2.3 Q.931
ITU-T Q.931协议为网关与网守之间进行信息交互所使用的协议,主要负责呼叫过程中的信令处理。
2.2.4 H.245
ITU-T H.245协议为主、被叫网关之间进行信息交互所使用的协议,H.245指定了许多独立的协议实体,支持端对端信令。一个协议实体由语法、词义、语义和一套流程来指定消息交换以及用户的互操作。H.245消息分为四类:请求、响应、命令、指示。请求和响应消息用于协议实体。请求消息要求一个指定的行动及一个立即的响应。响应消息响应一个相应的请求。命令消息要求一个指定的行动,但不需要响应。指示消息只是提供信息,不要求行动和响应。H.245控制信道是用来承载控制信息用以对H.323实体的操作,这些控制主要包括如下三个:
l 主从决定
决定两方谁是主、谁是从。H.245主从决定消息流程用于解决下述情况的冲突:一是会议中两个节点都是MC,二是两个节点间尝试建立双向信道。两个节点在masterSlaveDetermination消息中交换随机数,以决定主从节点。
l 能力交换
进行能力协商,获得双方都可接受的编解码类型。
l 打开或关闭逻辑通道
打开RTP、RTCP通道,为通话作准备。
2.2.5 三者的区别和联系
1. 联系
它们为完成一次呼叫而共同配合,各有分工:RAS完成H.323实体向GK的注册,H.245完成要连接实体之间的参数协商和准备,Q.931完成连接实体的连接。
2. 区别
先后顺序不同,先RAS,再H.245,最后Q.931
2.3 组件的特征
2.3.1 GK
在H.323系统中,GK是可选的,为H.323节点提供呼叫控制服务。不止一个GK可能出现,并以未指明的方式相互通讯。GK和节点是逻辑分离的,不过,在物理实现时可以和终端,MCU,GW,MC或其它非H.323网络设备共存。
在系统中出现时,GK必须提供以下服务:
地址翻译――将地址别名翻译为传输地址。这需要由Registration消息维护转换表。其它更新转换表的方式也是允许的。
接入控制――GK必须使用ARQ、ACF、ARJ验证网络接入,这可以基于呼叫鉴权,带宽,或其它由厂家设定的标准。它可以是一个空函数,允许所有的呼叫。
带宽控制――GK必须支持BRQ、BCF、BRJ消息。这可以基于带宽管理,也可以是一个空函数,接受所有的带宽修改请求。
区域管理――GK必须向已登记的终端,MCU,网关提供上述功能。
GK可以执行以下可选功能:
呼叫控制信令――GK可以选择由节点完成呼叫信令,也可以选择由自己处理呼叫信令。另一个选择是:GK可以让节点间以呼叫信令信道直接相连,这种方式,GK可以避免处理H.225.0呼叫信令。GK可以按Q.931的定义行动,以支持补充业务。这需进一步研究。
呼叫鉴权――通过使用H.225.0信令,GK可以因鉴权失败拒绝来自终端的呼叫。拒绝的原因至少包括:接入特定的终端或网络受限,在某个时间限制接入。鉴权通过或失败的标准在本建议之外。
带宽管理――控制同时允许访问网络的终端数目。通过使用H.225.0信令,GK可以因带宽受限拒绝来自终端的呼叫。如果GK确定网络无足够的带宽,这就会发生。带宽是否够用在本建议范围之外。注意:这可以是一个空函数,同意所有终端接入。当一个活动的呼叫要求额外的带宽时,这个功能也起作用。
呼叫管理――例如,GK可以维护正在进行的呼叫列表。这个信息对于指示被叫是否忙是有用的,以及给带宽管理功能提供信息。
带宽管理信息数据结构――供进一步研究。
带宽预留――供进一步研究。
目录服务――供进一步研究。
为了支持ad hoc多点会议,GK可以选择从点对点会议的两个终端接收H.245控制信道。当会议改成多点会议时,GK可以重定向H.245控制信道至MC。GK不处理H.245信令,只需在终端之间或终端和MC之间传递它。
包含网关的网络应当包括GK,以将收到的E.164或partyNumber地址翻译成传输地址。
包含GK的H.323实体必须有一个机制使内部的GK失效,以便当一个网络上有多个H.323实体包含GK时,这些H.323实体能被配置成同一Zone。
2.3.2 GW
网关提供传送格式的转换,和通讯流程的转换。这个转换的详细说明在H.246。网关应当能在PBN侧和SCN侧执行建立和清除流程,传输格式的转换也在网关执行。通常网关(不作为MCU)的作用映射网络端和SCN端的特征,与此相反的是透明传输。
一个H.323节点可以和另一个H.323节点在同一个网络,不经过网关互联,如果不要求与SCN终端通讯,可以省略网关。以下情况也是可能的:为了旁路路由器或一个低带宽链接,网络上一个网段的终端通过一个网关呼出,再从另一个网关回到原先的网络。
在网络侧,网关可具有H.323终端,或MCU的功能。在SCN侧,网关可以有SCN终端或MCU的功能。具体选择终端,或MCU功能,由制造厂家决定。网关提供不同类型终端之间的必要转换。注意:网关可以在初始呼叫时作为终端使用,以后通过H.245信令,为同一个初始化为点对点的呼叫作为MCU使用。由于向GK登记时的指示,GK知道哪些终端是网关。
在SCN和网络之间传送T.120数据的网关需包含T.120 MCS Provider,它连接网络和SCN上的T.120 MCS Providers。
网关的例子见图3,它显示网关由三部分组成:H.323终端或MCU,SCN终端或MCU,以及转换功能。网关对网络上的其他H.323终端而言,是一个或多个H.323终端,或一个H.323 MCU。它使用本建议中的流程与其他H.323终端通讯。
SCN终端或MCU功能由相应的建议描述(H.310,H.320,H.321,H.322,H.324,V.70,GSTN 或ISDN语音终端)。在SCN侧,网关对于终端而言是一个或多个同类终端或MCU。它和其他终端使用相应建议规定的流程进行通讯。SCN的信令过程,包括H.323网关对SCN而言表现为终端还是网络在本建议之外。注意:网关可以不经过H.320直接将H.323转换为H.324或H.310。
支持和GSTN或ISDN语音终端互通的网关应当能发出和检测相应的DTMF信号:0-9,*,#,用于H.245userInputIndications。
图2-4 H.323 gatewayconfigurations
转换功能在不同的终端建议的格式间提供必要的转换。至少,网关必须提供传输格式,呼叫建立信令和流程,连接控制信令和流程的转换功能。要求时,网关必须提供H.245与H.242的转换。网关在H.225.0呼叫信令和SCN信令系统(Q.931,Q.2931,等)之间执行必要的转换。网络上Q.931的和SCN上的Q.931转换在H.246上描述。
所有来自SCN节点的呼叫信令,网关不能处理的,应当转送给网络节点,反之亦然。这些信令至少包括:Q.932,Q.950和H.450系列消息。这将允许H.323节点实现上述建议定义的补充业务。其它SCN呼叫信令系统的处理需进一步研究。
本建议描述了H.323终端经网关与外部SCN终端的连接。能经网关通讯的H.323终端的实际数目没有标准。类似地,SCN的连接数目,同时的独立会议数目,audio、video、data的转换功能,和多点功能的包含,由厂家决定。如果网关在网络侧包含MCU功能,必须是一个网络上的H.323 MCU。如果网关在SCN侧包含MCU功能,它可以是一个SCN侧的H.231、H.243 MCU,或H.310,H.324系统的MCU(这些MCU需在各自的建议中进一步研究)。
一个网关可以经SCN连接到其它网关,使不在同一网络上的H.323终端之间能够通讯。
在网络间提供透明传输的设备,不是本建议范围内定义的网关。
2.3.3 MCU
由一个MC和零或多个MP组成的节点,共同实现多点特性
1.0.1.1.1 MC(控制)
控制功能
能力交换(与各终端)
决定SCM(选定通信模式)
建立连接,终端通过H.245控制信道与MC连接
会议模式的选择(如分散或集中)
1.0.1.1.2 MP(处理)
视频:视频交换(Switching)和视频多画面(Mixing)
语音:交换,混合,或者它们的组合
T.120数据
非标准数据,透明用户数据和其它类型数据
算法和格式转换
2.3.4 信息流
虚拟电话组件通过传输信息流联系。这些信息流可分为以下几类:video, audio, data, 通讯控制和呼叫控制。
Audio信号包含编码的数字化语音,以及伴随语音的语音控制信号。可以采取措施减小语音带宽。
Video信号包含编码的数字化运动图像,以及伴随的图象控制信号。Video的传输带宽不能超过在能力交换时选定的值。
数据信号包括图形,文档等各种数据流。
通讯控制信号通过交换控制数据,实现能力交换,打开,关闭逻辑信道,模式控制和其他功能。
呼叫控制信号用于呼叫建立,终止,和其他呼叫功能。
上述信息流被格式化(H.225.0)后送至网络界面。
2.3.5 终端
H.323终端包括用户设备界面,视频编解码,音频编解码,远程信息处理设备,H.225.0层,系统控制功能块,及与PBN的界面。其中系统控制单元,H.225.0层,网络界面,和一个音频编解码单元是必备的。视频编解码单元,和用户数据应用是可选的。
第3章 协议命令
1. RAS命令
RAS消息是H.225.0协议规定的消息的一种,主要包括注册、访问控制和状态等内容。
RAS消息编码采用文本格式,主要由消息名和一系列必配/选配的参数构成,不同的消息会有不同参数,下面以RRQ消息为例描述RAS消息结构。
网关注册登记的RRQ消息参数
参数
|
必备(M)/任选(O)
|
RequestSeqNum
|
M
|
ProtocolIdentifier
|
M
|
NonStandardData
|
O
|
CallSignalAddress
|
M
|
RasAddress
|
M
|
TerminalType
|
M
|
TerminalAlias
|
O
|
GatekeeperIdentifier
|
O
|
EndpointVendor
|
M
|
AlternateEndpoints
|
O
|
TimeToLive
|
O
|
Tokens
|
O
|
CryptoTokens
|
O
|
IntegrityCheckValue
|
O
|
KeepAlive
|
O
|
EndpointIdentifier
|
O
|
WillSupplyUUIEs
|
O
|
一个RRQ消息实例如下:
RegistrationRequest
消息类型
RequestSeqNum: 23917
序列号,
ProtocolIdentifier: 0.0.8.2250.0.2
DiscoveryComplete: False
CallSignalAddress (TransportAddress)
Item 0(ipAddress)
IpAddress
Ip:172.20.1.160
Port:1720
RasAddress(TransportAddress)
Item 0(ipAddress)
IpAddress
Ip:172.20.1.160
Port:1719
TerminalType(EndpointType)
Vendor(VendorIdentifier)
Vendor(H221NonStandard)
t35CountryCode:28
t35Extension:21
manufacturercode:555
productId:Huawei H.323 Protocol Stack
versionId:Huawei H.323 Stack version 1.1
mcu(McuInfo)
mc:False
undefinedNode:False
terminalAlias(AliasAddress)
Item0(e164)
e164:82882200
Item1(h323_ID)
h323_ID:MediaCenter01A0
endpointerVendor(vendorIdentifier)
Vendor(VendorIdentifier)
Vendor(H221NonStandard)
t35CountryCode:28
t35Extension:21
manufacturercode:555
productId:Huawei H.323 Protocol Stack
versionId:Huawei H.323 Stack version 1.1
timeToLive:300
keepAlive: False
willSupplyUUIEs: False
3.1.2 寻找网守消息
消息
|
英文全称
|
含义
|
GRQ
|
Gatekeeper Request
|
受理终端初次使用,向网络广播寻找网守的请求,以找到自己所属的网守。
|
GCF
|
Gatekeeper Confirm
|
网守向受理终端发送的寻找网守请求(GRQ)的确认回答
|
GRJ
|
Gatekeeper Reject
|
网守向受理终端发送的寻找网守请求(GRQ)的拒绝回答
|
3.1.3 注册登记消息
消息
|
英文全称
|
含义
|
RRQ
|
Registration Request
|
受理终端向网守发起的网关注册登记的请求
|
RCF
|
Registration Confirm
|
网守向受理终端发送的对网关注册登记请求RRQ的确认回答
|
RRJ
|
Registration Reject
|
网守向受理终端发送的对网关的注册登记请求(RRQ)的拒绝回答
|
3.1.4 注销消息
消息
|
英文全称
|
含义
|
URQ
|
Unregistration Request
|
受理终端向网守发送的关于网关请求注销注册登记的消息
|
UCF
|
Unregistration Confirm
|
网守向受理终端发送的关于网关的URQ的确认回答;或计费认证中心向受理终端发送的关于用户4URQ消息的确认回答
|
URJ
|
Unregistration Reject
|
网守向受理终端发送的关于网关的URQ的拒绝回答;或计费认证中心向受理终端发送的关于用户的URQ的拒绝回答
|
3.1.5 修改消息
消息
|
英文全称
|
含义
|
MRQ
|
Modification Request
|
受理终端向计费认证中心发送的修改用户数据请求
|
MCF
|
Modification Confirm
|
计费认证中心向受理终端发送的对修改用户数据请求的确认消息
|
MRJ
|
Modification Reject
|
计费认证中心向受理终端发送的对修改用户数据请求的拒绝消息
|
3.1.6 接入认证授权和地址解析消息
消息
|
英文全称
|
含义
|
ARQ
|
Admission Request
|
网关向网守发送的用户接入认证、地址解析请求消息
|
ACF
|
Admission Confirm
|
网守对ARQ的确认回答,并给出地址解析结果,对于卡号用户,还需要给出用户余额和最长通话时长
|
ARJ
|
Admission Reject
|
网守对ARQ消息的拒绝回答,并给出拒绝原因
|
3.1.7 地址解析请求消息
消息
|
英文全称
|
含义
|
LRQ
|
Location Request
|
网守向上一级网守发出地址解析请求
|
LCF
|
Location Confirm
|
上一级网守对LRQ消息的确认回答,并给出地址解析结果
|
LRJ
|
Location Reject
|
上一级网守对LRQ消息的拒绝回答,并给出拒绝原因
|
3.1.8 呼叫脱离消息
消息
|
英文全称
|
含义
|
DRQ
|
Disengage Request
|
网关与网守之间的呼叫脱离请求消息。当该消息由网关发起时,则应同时传递计费信息。计费信息放在“非标准数据”(NonStandard Data)字段中
|
DCF
|
Disengage Confirm
|
网守对DRQ消息的确认回答
|
DRJ
|
Disengage Reject
|
网守对DRQ消息的拒绝回答,并给出拒绝原因
|
3.1.9 状态消息
消息
|
英文全称
|
含义
|
IRQ
|
Info Request
|
网守向网关发的状态请求消息
|
IRR
|
Info Request Response
|
网关根据ACF命令设定的间隔或IRQ请求向网守发送的状态回应消息
|
IACK
|
Info Acknowledgement
|
对IRR消息的证实消息
|
INAK
|
Information Negative Acknowledgement
|
对IRR消息的拒绝消息
|
3.1.10 带宽改变消息
消息
|
英文全称
|
含义
|
BRQ
|
Bandwidth Request
|
网关与网守之间的带宽改变的请求消息
|
BCF
|
Bandwidth Confirm
|
网关与网守之间的带宽改变的确认消息
|
BRJ
|
Bandwidth Reject
|
网关与网守之间的带宽改变的拒绝消息
|
3.1.11 网关资源可利用性消息
消息
|
英文全称
|
含义
|
RAI
|
Resource Availability Indication
|
网关向网守发送的资源可利用性报告
|
RAC
|
Resource Availability Confirmation
|
网守对RAI消息的确认消息
|
3.1.12 RAS定时器修改消息
消息
|
英文全称
|
含义
|
RIP
|
RAS Timers and Request in Progress
|
对RAS消息和后续的重试计数的响应
|
3.1.13 顶级网守间消息
消息
|
英文全称
|
含义
|
业务请求
|
Service Request
|
顶级网守间业务请求消息
|
业务确认
|
Service Confirmation
|
收到业务请求的顶级网守对Service Request消息的确认回答,并建立业务关联关系
|
业务拒绝
|
Service Rejection
|
顶级网守对Service Request消息的拒绝回答,并给出拒绝原因
|
描述器ID请求
|
Descriptor ID Request
|
顶级网守向别的顶级网守请求描述器ID
|
描述器ID确认
|
Descriptor ID Confirmation
|
顶级网守对Descriptor ID Request消息的确认回答,并给出该顶级网守的描述器ID列表
|
描述器ID拒绝
|
Descriptor ID Rejection
|
顶级网守对Descriptor ID Request消息的拒绝回答,并给出拒绝原因
|
描述器请求
|
Descriptor Request
|
顶级网守向另一个顶级网守请求特定描述器的内容
|
描述器确认
|
Descriptor Confirmation
|
顶级网守对Descriptor Request消息的确认回答,并给出描述器的具体内容
|
描述器拒绝
|
Descriptor Rejection
|
顶级网守对Descriptor Request消息的拒绝回答,并给出拒绝原因
|
地址解析请求
|
Access Request
|
顶级网守间的地址解析请求
|
地址解析确认
|
Access Confirmation
|
顶级网守对地址解析请求的确认回答
|
地址解析拒绝
|
Access Rejection
|
顶级网守对地址解析请求的拒绝回答
|
1. Q.931
Q.931消息编码采用文本格式,主要由消息名和一系列必配/选配的参数构成,不同的消息会有不同参数,下面以Setup消息为例描述Q.931消息结构。
Setup消息的主要内容
信息单元
|
必备(M)/任选(O)
|
长度
|
Protocol discriminator
|
M
|
1
|
Call reference
|
M
|
3
|
Message type
|
M
|
1
|
Sending complete
|
O
|
1
|
Bearer capability
|
M
|
5 ~6
|
Extended facility
|
O
|
8 ~*
|
Facility
|
O
|
8 ~*
|
Notification Indicator
|
O
|
2 ~*
|
Display
|
O
|
2 ~82
|
Keypad facility
|
O
|
2 ~34
|
Signal
|
O
|
2 ~3
|
Calling party number
|
O
|
2 ~131
|
Called party number
|
O
|
2 ~131
|
User-to-User
|
M
|
2 ~131
|
一个Setup消息实例如下:
Q.931
Protocoldiscriminator : Q.931
Callreference value length: 2
Callreference value: 018A
MessageType: Setup (0x05)
BearerCapability
Display
CalledParty Number
User-user
Informationelement : user-user
Length:149
Protocoldiscriminator: X.208 and X.209 coded user information
ITU-TRecommendation H.225.0
h323_uu_pdu(H323-UU-PDU)
h323_message_body(setup)
setup
protocolIdentifer:0.0.8.2250.0.2
sourceaddress:(AliasAddress)
e164: 07551680052
sourceInfo(EndpointType)
Vendor(VendorIdentifier)
vendor(H221NonStandard)
t35CountryCode:28
t35Extension:21
manufacturercode:555
productId:Huawei H.323 Protocol Stack
versionId:Huawei H.323 Stack version 1.1
mcu(McuInfo)
mc:False
undefinedNode:False
destinationAddress(AliasAddress)
e164: 075582882200
destCallSingalAddress
ipAddress:
ip:172.20.1.45
port:1720
activeMC:False
conferenceID:8CBFDA-3030-E030-8314-AC1401A006
conferenceGoal:(invite)
invite
callType:pointerToPointer
sourcecallSignalAddress:
ipAddress:
ip:172.20.1.60
port:1720
callIdentifer:
guid:8CBFDA-3030-E030-8314-AC1401A006
mediawaitForConnect:False
canOverLapsend:False
h245Tunneling:False
3.1.14 顶级网守间消息
消息
|
中文描述
|
含义
|
Setup
|
呼叫建立
|
主叫发给被叫的消息,表示希望建立通话
|
Call Proceeding
|
呼叫进程
|
被叫发给主叫的消息,表示呼叫正在处理
|
Alerting
|
提醒
|
被叫发给主叫的消息,表示被叫用户已振铃
|
Progress
|
进展
|
用户或网络发送的消息,说明一个呼叫的进展情况
|
Connect
|
连接
|
被叫发给主叫的消息,表示被叫用户已摘机
|
Notify
|
通知
|
用户或网络发送的消息,用以对状态询问(Status Inquiry)消息进行响应或在呼叫期间对特定错误情况进行报告
|
Status
|
状态
|
顶级网守向另一个顶级网守请求特定描述器的内容
|
Status Inquiry
|
状态询问
|
用户或网络发送的消息,用以从一个同等的三层实体请求状态信息
|
User Information
|
用户信息
|
用户或网络发送的附加消息,用以提供呼叫建立或各种与呼叫相关的信息
|
Release Complete
|
释放完成
|
由先挂机的一方发给另外一方,表示释放过程已完成
|
1. H.245
H.245消息编码采用文本格式,主要由消息名和一系列必配/选配的参数构成,不同的消息会有不同参数,下面以OLC消息为例描述H.245消息结构。
OLC消息的主要内容
参数
|
必备(M)/任选(O)
|
参数
|
ForwardLogicalChannalNumber
|
M
|
ForwardLogicalChannalNumber
|
ForwardLogicalChannalParameters
|
M
|
ForwardLogicalChannalParameters
|
ReverseLogicalChannalParameters
|
O
|
ReverseLogicalChannalParameters
|
SeparateStack
|
O
|
SeparateStack
|
EncryptionSync
|
O
|
EncryptionSync
|
一个OpenLogcialChannel (OLC)消息实例如下:
ITU-T Recommendation H.245
request
openLogicalChannel
forwardLogicalChannelNumber:2
forwardLogicalChannelParameters
dataType(audioData)
audioData:
g7231
maxAl_sduAudioFrames:1
silenceSuppression:False
multiplexParameters(h2250LogicalChannelParemeter)
h225LogicalChannelParameters
sessionID:1
mediaChannel:(unicastAddress)
unicastAddress:
ipAddress:
network:172.20.1.198
tsapIdentifer:40000
mediaGuaranteedDelivery: False
mediaControlChannel:
unicastAddress:
ipAddress:
network:172.20.1.198
tsapIdentifer:40001
mediaGuaranteedDelivery: False
3.1.15 终端能力设定
消息
|
英文全称
|
含义
|
TCS
|
Terminal Capability Set
|
能力交换请求,告诉对方本端支持的接收能力
|
TCSA
|
Terminal Capability Set Acknowledge
|
能力交换请求响应
|
TCSR
|
Terminal Capability Set Reject
|
能力交换请求拒绝
|
3.1.16 主从决定
在建立H.245通道过程中,可以使用主从决定,也可以不使用,对于IP电话,H.245体制建议不采用此流程。
消息
|
英文全称
|
含义
|
MSD
|
Master Slave Determination
|
主从确定请求
|
MSDA
|
Master Slave Determination Acknowlege
|
主从确定请求响应
|
MSDR
|
Master Slave Determination Reject
|
主从确定请求拒绝
|
3.1.17 打开逻辑通道
消息
|
英文全称
|
含义
|
OLC
|
Open Logical Channel
|
打开逻辑通道请求消息
|
OLCA
|
Open Logical Channel Acknowledge
|
打开逻辑通道请求响应消息
|
OLCR
|
Open Logical Channel Reject
|
打开逻辑通道请求拒绝消息
|
3.1.18 结束会话
消息
|
英文全称
|
含义
|
ESC
|
End Session Command
|
结束会话命令,即关闭H.245通道
|
3.1.19 关闭逻辑通道
消息
|
英文全称
|
含义
|
CLC
|
Close Logical Channal
|
关闭逻辑通道命令
|
CLCA
|
Close Logical Channel Ack
|
关闭逻辑通道响应消息
|
第4章 呼叫流程
4.1 RAS
4.1.1 网守的发现
图4-1 RAS——网守的发现
网关(或H.323终端)在启动后,首先向网守发送GRQ消息,寻找网守;
网守对网关(终端)信息进行分析,确定是本区域网关(终端),发GCF确认;否则发GRF拒绝。
4.1.2 节点登记与注销
图4-2 RAS——节点登记与注销
寻找网守成功,网关(终端)再通过RRQ向网守注册;
网守对网关(终端)信息进行分析,确定是本区域网关(终端),发RCF确认,注册成功;否则发RRJ拒绝,注册失败。
网关(终端)退出服务,向网守发送URQ,请求注销登记;
网守回URF(或URJ)进行确认(或拒绝)。
4.1.3 呼叫接入与退出
图4-3 RAS——呼叫接入与退出
终端发起呼叫时,网关(终端)向网守发送ARQ请求用户接入认证、地址解析;
网守回送ACF确认回答,并给出地址解析结果,对于卡号用户,还需要给出用户余额和最长通话时长。
呼叫完毕,网关向网守发送DRQ请求呼叫脱离;
网守回送DCF进行确认。
2. Q.931
4.1.4 基本呼叫建立流程(直接路由)
图4-4 Q.931——基本呼叫建立流程(直接路由)
主叫(终端1)发起呼叫,通过RAS消息(ARQ)接入,在收到网守的ACF消息后,解析出翻译后的地址,与被叫(终端2)建立TCP连接;
终端1通过Q.931消息发送Setup消息给对端,对端一般回应Call Proceeding、Alerting、Connect消息;
主叫收到Connect后,进入H.245协商阶段;另外,主叫、被叫都可以发送Release消息,结束本次呼叫。
4.1.5 基本呼叫建立流程(GK路由)
图4-5 Q.931——基本呼叫建立流程(GK路由)
主叫(终端1)发起呼叫,通过RAS消息(ARQ)接入,在收到网守的ACF消息后,解析出翻译后的地址(需要GK路由),与GK建立TCP连接;
终端1通过Q.931消息发送Setup消息给GK,GK回应Call Proceeding消息;
GK与被叫(终端2)建立TCP连接,发送Setup消息给终端2,终端2一般回应Call Proceeding、Alerting、Connect消息;
GK传送Alerting、Connect消息给终端1;
主叫收到Connect后,进入H.245协商阶段;另外,主叫、被叫都可以发送Release消息,结束本次呼叫。
4.1.6 呼叫断开流程
图4-6 Q.931——呼叫断开流程
主被叫任何一端挂机,送ReleaseComplete消息给对端;
主被叫间断开TCP连接。
2. H.245
4.1.7 能力交换(CapabilityExchange)
图4-7 H.245——能力交换流程
4.1.8 主从确定(MasterSlaveDetermination)
图4-8 H.245——主从确定流程
4.1.9 打开逻辑通道(OpenLogicalChannel)
图4-9 H.245——打开逻辑通道流程
4.1.10 关闭逻辑通道(CloseLogicalChannel)
图4-10 H.245——关闭逻辑通道流程
4.1.11 结束会话过程(EndSession)
图4-11 H.245——结束会话流程
4.2 信令配合
4.2.1 典型呼叫流程(正常启动)
图4-12 信令配合——典型呼叫流程(正常启动)
4.2.2 典型呼叫流程(快启)
图4-13 信令配合——典型呼叫流程(快启)
2. H.323之童话故事篇
说了这么多的呼叫流程,大家是不是有些头晕眼花,没有关系,看了下面的小故事,相信大家对于H.323一次呼叫过程就有了比较全面的了解。请看:
在H.323的王国里有许多成员(各种H.323节点),为了确保这个王国的正常运转,颂布了许多法令(H.323协议簇,其中主要有RAS、Q.931、H.245、TCP/IP、RTP/RTCP、UDP),无论是国王、还是臣民,大家都严格遵守这些法规。
在这里将介绍H.323王国最重要的两个角色国王(GK)、臣民(GW)是如何遵照法规(RAS、Q.931、H.245)通信的。其中国王与臣民之间的通信遵守RAS协议,臣民与臣民间的通信遵守Q.931、H.245协议。
首先,臣民(GW)应向国王注册。
一个臣民(GW)诞生后,会使用RAS协议去寻找自己的国王(GK),他高声问到:“谁是我的国王请回答我!”,这时可能会有一个或者多个国王来响应:“你是我的臣民(GW),到我这里来注册吧,这是我的地址。”,当然国王也可以拒绝臣民(GW)的请求:“你不是我的臣民(GW),别来烦我。”
如果臣民(GW)幸运地得到了多个国王的青睐,他可以选择一个国王并向他注册。注册成功后,臣民(GW)就可以享受国王提供的各种服务(如接入控制、带宽管理、地址翻译等功能)。这时,当臣民(GW)与另一臣民(GW)通信时,不需要知道对方的地址,只需告诉国王想要和谁通信,国王会把对方的地址找来给他。
对于那些没有找到国王的臣民(GW)来说就有点惨了,因为没有国王的帮助,他只能与自己相当熟悉的臣民(GW)通信(即知道对方的地址)。
臣民(GW)向国王注册可以有一个生命期,过了这个有效期,臣民(GW)还要再向国王注册。
下面看看H.323的国王与臣民是如何帮助PSTN王国的臣民通过IP网相互通信的(即IP电话是如何实现的)。
一个PSTN王国的臣民C想通过IP网送给他远方的朋友D一份特别的礼物,他跑去找与自己相熟的H.323王国的臣民A(GW),并把朋友的电话告诉他,请他帮助通过IP网找这个朋友(即一个PSTN用户拨打IP电话,呼入GW)。
臣民A(GW)看不懂这个电话号码,他应该怎么做才能找到那位朋友呢?
向国王(GK)寻求帮助,解析电话号码。
由于在H.323王国里是使用IP协议通信的,所以臣民A(GW)拿到对方的电话号码是没有办法与对方联系的,他只有去寻找与对方相知的臣民B(目的GW)的地址。
于是臣民A(GW)将电话号码发送给他注册的国王(GK),让国王帮助寻找臣民B(目的GW)的地址。首先国王会对臣民A(GW)的请求进行认证,认证通过后,国王才会去寻找臣民B(目的GW)的地址。如果国王不知道臣民B(目的GW)的地址(即这个GW未在该GK上注册),他会向其它的国王(GK)询问有谁知道臣民B(目的GW)的地址。
当国王得到臣民B(目的GW)的地址后,就将该地址(呼叫信令传输地址=目的GW的IP地址+端口号)发回给臣民A(GW)。
这样,就可以在这两个臣民(GW)间建立联系(建立呼叫信令信道,开始Q.931协议流程)。
臣民A(GW)告诉臣民B(目的GW):“我的朋友C有礼物要送给你的朋友D,他的电话是XXX,他在家吗?(即被叫用户C是否空闭)”,臣民B(目的GW)赶紧告诉D,别走开,有人要送礼物给你(即目的GW提醒被叫用户,并将该用户空闭态置为忙)。然后臣民B(目的GW)通知臣民A(GW)“一切搞掂”(即GWB向GWA发送CONNECTION消息后),双方开始讨论采用什么方式将朋友C的礼物送给朋友D(即开始H.245协议流程,进行能力的协商)。
臣民A(GW)说:“朋友C的礼物是:播放一首凯利金的《GOING HOME》萨克斯曲给他听,我可以将这首曲子编辑为CD、VCD两种格式,你可以解读吗?”臣民B(目的GW):“我这里的设备还没有升级呢,不好意思目前我只能解读CD格式的曲子”(这就是H.245中的所谓能力协商,通过协商,获得双方都可以接受的语音编解码类型)。臣民B(目的GW)通知臣民A(GW)传送曲子所使用的地址(即H.245中的打开RTP/RCTP通道,用于传送媒体流),这样,这份礼物在IP网的传送通道打开了。
这时,朋友C开始通过电话线向远方的朋友D 播放乐曲,优美的乐曲经过电话线传送到臣民A(GW)处,臣民A(GW)将曲子压缩成CD的格式(进行语音编码压缩,并打成IP包发送到IP网上),通过IP网传送给臣民B(GW),臣民B(GW)再将编码解读还原成曲子通过电话线传送给朋友D。(IP电话就是这样拨通了!!!)
第5章 在NGN中的应用
5.1 NGN组网中的H.323
H.323在NGN中的应用如图17所示:
图5-1 NGN组网应用
在NGN组网中可以通过H.323实现多媒体通信业务,通常由Softswitch和分组终端配合完成。
5.1.2 Softswitch和Softswitch之间的互通
Softswitch运行H.323协议,支持与分组话音域内其他呼叫控制节点之间的分组中继呼叫互通,以及相关的Codec协商。
5.1.3 H.323终端
支持分组终端,实现多媒体的接入。
5.1.4 H.323软终端
支持软终端,在PC上实现多媒体的接入。
5.2 Softswitch在H.323应用的作用
在NGN应用中,Softswitch在H.323域中可以有两种使用方法,如图18所示:
图5-2 Softswitch
在H.323中的应用
5.2.2 Softswitch H.323域
在这种应用下Softswitch直接控制的H.323终端的接口,具有H.323的GW+GK功能。
Softswitch在该域中用作H.323 GK。在Softswitch H.323域中所有H.323终端都必须在Softswitch上注册成功,以便利用Softswitch提供的业务。
在该域中Softswitch也用作H.323 GW,并提供与其它网络的接口,如H.323 终端和SIP/ISUP/MGCP域的连接。
H.323接口支持H.225.0 RAS、H.225.0 Q.931和H.245协议信令。
验证是通过用户名/密码程序进行的,该程序通过H.323终端提供Softswitch。
5.2.3 H.323域
在这种应用下Softswitch是与外部H.323网络的接口,具有H.323的GW功能。
在该域中Softswitch作为H.323GW必须注册到外部H.323 GK,以便于使用H.323域提供的业务。
H.323接口支持H.225.0 RAS、H.225.0 Q.931和H.245协议信令。
Softswitch注册所有通过Softswitch(包括SoftX3000域中的H.323终端)接入到外部GK的地址。