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的地址。

H.323详解的更多相关文章

  1. CGGeometry.h 文件详解

    这些是在CGGeometry.h里的 CGPoint.CGSize.CGRect.CGRectEdge实际上都是结构体 struct CGPoint { CGFloat x; CGFloat y; } ...

  2. H.264 详解

    一.MPEG-4说明 1.VOP视频编码技术 VO(Video Object):视频对象,它是场景中的某个物体,最简单的情况下就是矩形框,它是有生命期的,由时间上连续的许多帧构成. VOP(Video ...

  3. math.h库详解

    sin(double) cos(double) tan(double) 分别返回正弦,余弦,正切 #include<iostream> #include<math.h> usi ...

  4. UIKit继承结构和UIView.h文件详解

    @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> ...

  5. Arduino String.h库函数详解

    此库中包含 1 charAT() 2 compareTo() 3 concat() 4 endsWith() 5 equals() 6 equalslgnoreCase() 7 getBytes() ...

  6. iOS开发CATransform3D.h属性详解和方法使用

    1.CATransform3D简介 layer有个属性transform,是CATransform3D类型.可以使其在三维界面作平移.缩放和旋转单独或组合动画! CATransform3D结构体: / ...

  7. H.264 基础及 RTP 封包详解

    转自:http://my.oschina.net/u/1431835/blog/393315 一. h264基础概念 1.NAL.Slice与frame意思及相互关系 1 frame的数据可以分为多个 ...

  8. 转:MediaCoder H.264格式编码参数设置及详解

    转: http://mediacoder.com.cn/node/81 由于现在大部分视频转码都选择H.264格式进行编码,同时CUDA编码的画质还达不到x264软编码的质量(如果你对画质无要求,可以 ...

  9. jni.h头文件详解二

    作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shao ...

  10. 【转】 jni.h头文件详解(二)

    原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...

随机推荐

  1. 艾思最新案例分享:塔蓝物流app-物流仓储管理系统app. app开发

    塔蓝物流app是一款物流仓储管理app:主要业务范围空运,海运,进出口货物及过境货物的运输代理,包括揽物订舱,仓储(危险品除外),包装,搬运装卸,中转,流通加工,集装箱拼装拆箱(危险品除外),结算运杂 ...

  2. c# datagridview列宽自适应设置

  3. jenkins启动失败,查看状态提示active(exited)

    chown -R jenkins:jenkins /var/lib/jenkins chown -R jenkins:jenkins /var/cache/jenkins chown -R jenki ...

  4. 关于proTable设置列固定,始终没有固定的效果的原因

    使用proTable设置操作列固定 const columns: ProColumns<IssueItem>[] = [ { title: '操作', valueType: 'option ...

  5. 【BUUCTF]ACTF2020 新生赛Exec1write up

    根据题目分析,俺们要用ping命令! 打开靶机,输入127.0.0.1尝试提交,直接出现无过滤: 尝试管道符执行命令,常见管道符: 1.|(就是按位或),直接执行|后面的语句 2.||(就是逻辑或), ...

  6. STM32定时器(TIM1、TIM2、TIM3、TIM4、TIM5、TIM8)高级定时器+普通定时器,配置使用

    2.1    时钟来源 计数器时钟可以由下列时钟源提供: ·内部时钟(CK_INT) ·外部时钟模式1:外部输入脚(TIx) ·外部时钟模式2:外部触发输入(ETR) ·内部触发输入(ITRx):使用 ...

  7. 第八次团队作业:Beta冲刺(凡事预则立)

    这个作业属于哪个课程 2018级计算机和综合实验班 这个作业要求在哪里 Beta冲刺要求 这个作业的目标 Beta冲刺 改进完善的功能 完善之前年度报告功能 尽快上线小程序 增加的新功能 小程序打卡功 ...

  8. Python:合并两个列表成为一个list

    如何合并两个列表,今天就来探讨一下: 方法一:最笨的方法实现 list1=[1,2,3]list2=[4,5,6]new_list=[]for item in list1: new_list.appe ...

  9. Unity安卓端文件写在外部设置

  10. 基于element-ui进行二次封装的表格组件

    <!-- * @description 表格组件 * @fileName TableList.vue * @authorQ * @date 2021/05/15 15:13:45 --> ...