H.323 和 Media Gateway Control Protocol (MGCP) 是业内用于支持 VoIP 的两大协议组。H.323 建议由国际电信联盟 (ITU-T) 支持,而 MGCP 由 Internet 工程任务组 (IETF) 支持。H.323 和 MGCP 不是独立协议。这些协议依赖于许多其他支持协议以完成运行。
是使用 H.323 还是使用 MGCP 完全取决于客户,因为它们的功能非常相似。本文讨论 H.323 和 MGCP 的优点以及每个协议支持的内容。
本文档没有任何特定的要求。
本文档中的信息基于 Cisco CallManager 和 Cisco IOS® 网关。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
H.323 是一种 ITU 综合性建议,主要针对无法提供质量保证服务的基于 IP 网络的多媒体通信。H.323 涵盖了点对点通信和多点会议、寻址呼叫控制、多媒体管理、带宽管理以及 LAN 和其他网络之间的接口。
H.323 协议的基本组成部分是终端、网关和网守(为 H.323 端点提供呼叫控制)。 与其他协议类似,H.323 适用于点对点或多点会话。然而,与 MGCP 相比,H.323 需要在网关上进行更多配置,因为网关必须维护拨号计划和路由模式。
此列表描述 H.323 的部分功能:
H.323呼叫路由与Cisco CallManager — 在H.323中,Cisco CallManager仅将路由器视为一个网关。呼叫被发送到网关,但是 Cisco CallManager 无法指定将呼叫发送到哪个端口。Cisco CallManager 甚至不知道网关上存在多个端口。
在另一端,H.323 网关可以决定将单个呼叫发送到哪个端口。一些呼叫发送到 Cisco CallManager,而其他呼叫可以直接发送到其他 H.323 网关,无需通过 Cisco CallManager。
H.323网守 — 网守是网络上的H.323实体,为H.323终端、网关和多点控制单元(MCU)提供地址转换和网络访问控制等服务。 网守还能提供带宽管理、记帐和拨号方案等其他服务,您可以集中这些服务以实现其可扩展性。
网守在逻辑上与 H.323 端点(如终端和网关)分离。它们在 H.323 网络中是可选的。但是,如果存在网守,则端点必须使用提供的服务。有关详细信息,请参阅了解 H.323 网守。
Cisco IOS H.323网关与Cisco CallManager — 有关Cisco IOS H.323网关与Cisco CallManager的详细配置信息,请参阅Cisco IOS H.323网关配置。
H.323网关拨号对等体配置,用于Cisco CallManager服务器冗余 - Cisco IOS H.323网关可配置为Cisco CallManager服务器冗余,以便在主Cisco CallManager服务器发生故障时,辅助Cisco CallManager服务器接管并将IP电话重新返回到辅助服务器。有关更多信息,请参阅用于 Cisco CallManager 服务器冗余的 H.323 网关拨号对等体配置。
主叫方ID - H.323提供来自外交换局(FXO)和T1信道关联信令(CAS)端口的主叫方ID
部分PRI支持 — H.323支持使用部分PRI。
互操作性 — H.323广泛使用,可与来自多个供应商的应用和设备很好地互操作。
非设施关联信令(NFAS)支持 — 支持NFAS允许H.323网关通过一个D信道控制更多ISDN PRI线路。
集成访问 — 同一T1/E1上的数据和语音。
传统系统支持 — 支持更多TDM接口类型和信令(例如,Analog-DID、E&M、T1 FGD、E1 R2...)
借助 MGCP,Cisco CallManager 了解并控制网关上每个单独端口的状态。MGCP 允许从 Cisco CallManager 对拨号计划实施全面控制,并为到公共交换电话网 (PSTN)、传统 PBX、语音邮件系统、普通老式电话服务 (POTS) 电话等的连接提供 CallManager 每个端口控制。此功能是通过使用 Cisco CallManager 与网关之间的 User Datagram Protocol (UDP) 端口 2427 所发送的一系列纯文本命令实现的。另一个与通过 Cisco CallManager 实施 MGCP 有关的概念是 PRI 回程。当 Cisco CallManager 获取对 ISDN PRI 上使用的 Q.931 信令数据的控制时,就会发生 PRI 回程。
有关通过 Cisco CallManager 和 PRI 回程实施 MGCP 的详细信息,请参阅了解 MGCP 与 Cisco CallManager 的交互作用。
注意:最近的Cisco IOS软件版本支持BRI回程。有关 BRI 回程的详细信息,请参阅结合使用 Cisco CallManager 来配置 MGCP 控制的 BRI 信令回程。
有关使用 Cisco CallManager 来配置 MGCP 和 PRI 的详细信息,请参阅如何在数字 PRI 和 Cisco CallManager 中配置 MGCP。
注意:当您将部分PRI与MGCP配合使用时,Cisco CallManager不支持配置或使用该PRI。如果必须使用 Fractional PRI,您可以使用 H.323,而非 MGCP。
如果您配置网关来运行 MGCP,则网关需要在 Cisco CallManager 中注册。如果配置了输入/输出增益设置,或路由器回声,然后将端口作为 MGCP 网关添加到 Cisco CallManager,则这些设置会被 Cisco CallManager 覆盖。使用 MGCP 时,Cisco CallManager 控制路由和语音,并为网关提供附加服务。MGCP 提供以下服务:
呼叫保存 — 在故障切换和故障回退期间保持呼叫
冗余
拨号计划简化 — 在网关上无需进行拨号对等体配置
Hookflash 传输
保持音
MGCP 支持语音流量加密。
MGCP 支持 Q 接口信令协议 (QSIG) 功能。
在 Cisco IOS 的新版本中,Cisco CallManager 和 Cisco IP 电话固件 MGCP 可以支持新功能,例如呼叫准入控制、双音多频 (DTMF) 中继和网络地址转换 (NAT)。
此列表描述以下新功能:
MGCP VoIP呼叫准入控制 — 此功能在Cisco IOS软件版本12.2(11)T中引入。MGCP VoIP 呼叫准入控制功能启用由 MGCP 呼叫代理管理的 VoIP 网络上特定 Cisco 呼叫准入控制功能。这些功能允许网关识别和拒绝易受较差语音质量影响的呼叫。MGCP 语音网络上较差的语音质量可能是因为传输效应(例如回声)、使用低质量编码、网络拥塞和延迟,或者网关超载。您可以使用回声取消和选择更好的编码来解决前两个原因。后两个原因可由 MGCP VoIP 呼叫准入控制解决。有关详细信息,请参阅 MGCP VoIP 呼叫准入控制。
基于MGCP的DTMF中继 — 此功能在Cisco IOS软件版本12.2(11)T中引入。DTMF中继符合IETF音 频/视频传输(AVT)工作组开发的RFC 2833。根据 RFC 2833,DTMF 使用实时传输协议 (RTP) 数据包中的命名电话事件 (NTE) 进行中继。此功能为每个组件提供两种实施模式:
网关控制方式
呼叫代理 (CA) 控制模式
在网关控制模式中,网关通过在会话描述协议 (SDP) 消息中交换功能信息来协商 DTMF 传输。该传输对CA是透明的。网关控制模式允许使用DTMF中继功能,而无需升级CA软件以支持该功能。在 CA 控制模式中,CA 使用 MGCP 消息传送来指示网关处理 DTMF 流量。有关详细信息,请参阅基于 MGCP 的 DTMF 中继。
Cisco IP 电话上的 MGCP NAT 支持 — 版本 7.3 及更新版本的 IP 电话支持 NAT。在 Cisco MGCP IP 电话上启用 NAT 时,MGCP 消息可以遍历 NAT/防火墙网络。会话描述协议 (SDP) 消息经过修改可反映 NAT 参数,因此如果启用 NAT,SDP 消息将使用 nat_address 和实时传输协议 (RTP) 端口(该端口的范围界于 start_media 端口和 end_media 端口之间)。用于 MGCP 消息的 UDP 端口可使用 voip_control_port 进行配置。有关详细信息,请参阅 MGCP NAT 支持。
MGCP 呼叫路由 — 使用 MGCP,Cisco CallManager 可单独控制网关和每个终端。如果在同一个网关上有多个端口,则 Cisco CallManager 可决定将呼叫发送到哪个端口。在 Cisco CallManager 中,每个终端(端口)都被视为单独网关。
在另一端,MGCP 网关向 Cisco CallManger 发送所有呼叫且不选择呼叫路由。Cisco CallManager 在两个方向上执行所有路由。