Cisco网守用于将网关分组到逻辑区域,并在它们之间执行呼叫路由。网关对公共交换电话网 (PSTN) 和 H.323 网络之间的边缘路由决策负责。Cisco网守在H.323网络设备中处理核心呼叫路由,并提供集中化的拨号方案管理。如果没有Cisco网守,那么在始发网关必须配置用于每个终端网关的确切的IP地址,并且必须与VoIP拨号对端匹配。使用Cisco网守,当设法使用远程VOIP网关建立VOIP呼叫时,网关会查询关守。
例如,当网关与呼叫同时提供时,它将根据拨号方案,决定是否将呼叫发送到电话段或IP段。如果要发送到 IP 段,网关将会查询 Cisco 网守以选择最佳终点。然后,Cisco网守确定被叫终端是本地区域的设备,还是位于远程Cisco网守控制的远程区域。
Cisco 建议您了解 H.323 网守。
本文档中的信息基于以下软件和硬件版本:
Cisco 2500、2600、3600、3700、7200 和 MC3810 系列路由器
本文档并不特定于任何版本的 Cisco IOS®。不过,本文档中的配置已在 Cisco IOS 软件版本 12.2(19) 上进行了测试。 请参阅软件顾问(仅注册客户),确认支持H.323网守功能所需的Cisco IOS功能集。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
准入请求 (ARQ) 和位置请求 (LRQ) 为两条 H.225 注册、准入、状态 (RAS) 消息,用于触发网守启动呼叫路由决策过程。
ARQ—由 H.323终端(通常是网关)发送到Cisco网守的ARQ本地区域消息。在下列情况下,网守将会收到来自终点的 ARQ:
本地区域终点发出呼叫。或者
本地区域终点请求传入呼叫准许权限。
网守会通过准入确认 (ACF) 或准入拒绝 (ARJ) 消息来回复 ARQ 消息。如果配置Cisco关守接收呼叫,用ACF信息进行回复(包括的信息如目的地网关IP地址)。 否则,它将用 ARJ 消息进行回复。
LRQ — 这些消息在网守之间进行交换,用于区域间(远程区域)呼叫。例如,网守A从本地区域网关接收ARQ 请求为远程区域设备的呼叫许可。然后,网守 A 将 LRQ 消息发送到网守 B。网守 B 通过位置确认 (LCF) 或位置拒绝 (LRJ) 消息来回复 LRQ 消息,具体取决于它是配置为准许还是拒绝区域间呼叫请求,以及请求的资源是否已注册。
有关详细信息,请参阅了解 H.323 网守:网守到网关呼叫流。
相关的 H.225 RAS 消息 | |||
---|---|---|---|
ARQ | 准入请求 | LRQ | 位置请求 |
ACF | 准入确认 | LCF | 位置确认 |
ARJ | 准入拒绝 | LRJ | 位置拒绝 |
为了解 Cisco 网守呼叫路由决策过程,务必先了解区域前缀和技术前缀。一般来说(少数例外除外),区域前缀确定区域的路由,而技术前缀确定该区域中的网关。
区域前缀为识别呼叫跳离区域的被叫号码的一部分。区域前缀通常用于将区域代码关联到已配置的区域。
Cisco网守可以确定呼叫是否路由到远程区域或者进行本地处理。例如,根据此配置摘要,网守(GK)A转发214.......呼叫GK-B。对区域代码 (512) 的呼叫在本地进行处理。
gatekeeper zone local GK-A abc.com zone remote GK-B abc.com 172.22.2.3 1719 !--- The IP address configured above should be the RAS !--- address of the remote gatekeeper. !--- and should be reachable from the local gateway. !--- In order to find out the RAS address on the remote gatekeeper, !--- issue the show gatekeeper zone status command !--- on the remote gateway. zone prefix GK-B 214....... zone prefix GK-A 512.......
技术前缀是一个可选的基于H.323标准的功能,由Cisco网关和网守提供支持,进而在H.323 VOIP网络提供更灵活的呼叫路由。Cisco 网守使用技术前缀将同一类型的终点分组在一起。技术前缀也可以用于识别网关的类型、级别或池。
如果没有已注册的E.164地址(通过网关)匹配被叫号码,Cisco网守使用技术前缀路由呼叫。实际上,这是一种常见情况,因为大多数 Cisco IOS 网关只会注册其 H.323 ID(除非配置了外部交换站 (FXS) 端口)。 没有注册的E.164地址,Cisco网守依靠二个选项做出呼叫路由决策:
在提供技术前缀匹配选项的情况下,Cisco网守使用被叫号码中添加的技术前缀选择目的地网关或区域。
通过Default Technology Prefixes选项,Cisco网守为路由未解决的呼叫地址分配默认网关。此分配基于已注册的网关技术前缀。
下表汇总了可用的配置选项:
在网关上 | |
---|---|
VoIP 接口 | 此命令可使用所定义的技术前缀注册 Cisco 网关。技术前缀注册信息通过RAS 注册要求(RRQ)消息发送到Cisco网守上。例如: GWY-B1(config)#interface ethernet 0/0 GWY-B1(config-if)#h323-gateway voip tech-prefix ? WORD: A technology prefix that the interface will register with the Gatekeeper. |
VoIP 拨号对等体 | 此命令可将技术前缀附加到拨号对等体匹配的被叫号码之前。此命令不用于注册,而用于与 Cisco 网守建立呼叫。例如,被叫号码 5551010 变为 1#5551010。 GWY-B1(config)#dial-peer voice 2 voip GWY-B1(config-dial-peer)#tech-prefix ? WORD: A string. 注意:修改的被叫号码也会发送到呼叫设置中的终端网关。请确保更新终端网关普通老式电话服务 (POTS) 拨号对等体以完成呼叫。 |
在网守上 | |
---|---|
网守默认技术前缀 | 此命令将带有指定技术前缀的注册网关设置为没有解决的默认路由呼叫地址。例如,如果您区域中的大多数网关路由相同类型的呼叫,并且它们使用技术前缀#1进行注册,那么您可以配置Cisco网守将1 #用作默认技术前缀。因此,始发网关便无需再在被叫号码前附加 1#。无有效技术前缀的被叫号码路由到注册为1#的网关上。 GK-B(config)#gatekeeper GK-B(config-gk)#gw-type-prefix 1# default-technology 注意:如果有多个默认网关,则可以使用zone prefix <gk_id> <e.164_pattern> gw-priority <0-10>命令影响网关优先级使用。 |
网守外线呼出区域 | Hop-off配置用来改写区域前缀选择,强制呼叫跳跃到指定区域,同时忽略被叫号码区域前缀。例如,使用以下配置,技术前缀为 2# 的所有呼叫都将被转发到 GK-A 区域。 GK-B(config)#gatekeeper GK-B(config-gk)#gw-type-prefix 2# hopoff GK-A |
网守静态网关技术前缀注册 | 用于静态注册网关的技术前缀。它在网守上达到的结果与网关VOIP接口配置在网关上达到的结果相同。如果您有大量的网关,则建议在网关上进行此配置。通常,用技术前缀配置每个网关比用所有技术前缀为每个网关配置关守更容易。 GK-B(config)#gatekeeper GK-B(config-gk)#gw-type-prefix 1# gw ipaddr ? A.B.C.D Gateway's call signaling IP address |
以下各图显示了在 12.4 之前的 Cisco IOS 软件版本中收到 ARQ 和 LRQ 消息后的网守呼叫路由决策过程:
在 Cisco IOS 软件版本 12.4 及更高版本中,网守呼叫路由已更改。在处理目标 E.164 号码 (DNIS) 之前,将会执行基于 H.323 ID 和电子邮件 ID 的匹配。 如果发现有任何终点注册了指定的 H.323 ID/电子邮件 ID,则会发送 ACF。下图说明了基于别名的新呼叫路由进程:
语音基础设施和应用 (VIA) 功能是现有 Cisco 网守镜像的软件增强功能。通过此增强功能,Cisco 网守可以识别同一平台(IP 到 IP 网关)上的二个呼叫段,也可以对多个 IP 到 IP 网关间的流量进行负载平衡,这些网关(网关和网守)包含在预定义的 VIA 区域中。这些网守位于 Internet 电话服务提供商 (ITSP) 网络的边缘,类似于 VoIP 中转点或传输区域,VoIP 流量将在到达远程区域目标的过程中通过该中转点或传输区域加入信道。VIA 区域中的 IP 到 IP 网关可终止传入呼叫,然后朝其最终目标重新发起这些呼叫。有关 VIA 区域的详细信息,请参阅使用 Cisco 多服务 IP 到 IP 网关功能的远程到本地网络。
注意:如果在配置中未找到指定的invia或outvia区域(即未定义为本地或远程区域),则会发送ARJ消息。
为了选择注册到选定 viazone 的 IP-IP GW,可使用以下算法:
如果找到技术前缀(在基于别名的匹配中),请在指定的 viazone 中查找已注册此技术前缀的网关列表。
如果没有找到技术前缀,请查找注册到指定的 viazone 的整个网关列表。
选择在步骤 1 或 2 中找到的具有可用资源的第一个 IP-IP GW。
如果列表中的所有 IP-IP GW 均资源不足,请选择找到的第一个 IP-IP GW(即使该 IP-IP GW 也资源不足)。
如果没有找到任何 IP-IP GW,则返回失败。
在此部分提供的示例中,二个网关使用各自的 H.323 ID 向 Cisco 网守注册。另外,网关 (GWY) A2 还向 E.164 地址注册。下图适用于此部分中的所有示例:
此部分中的三种情形说明了网守根据 ARQ 消息路由呼叫所使用的分步决策过程。
注意:这些配置捕获中仅显示相关输出。
GK-A | |
---|---|
! gatekeeper zone local GK-A abc.com no shutdown ! |
|
GWY-A1 | GWY-A2 |
! interface Ethernet0/0 ip address 172.22.1.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 !--- The IP address configured here should !--- be the RAS address of GK-A !--- and should be reachable from the gateway. !--- In order to find out the RAS address, !--- issue the show gatekeeper zone status !--- command on GK-A. h323-gateway voip h323-id GW-A1@abc.com ! dial-peer voice 1 pots destination-pattern 512....... direct-inward-dial port 1/0:23 prefix 512 !--- On outgoing calls through POTS dial-peers, !--- all explicit digit matches are dropped, !--- which is the reason !--- for adding the prefix 512. This has nothing to !--- do with technology prefixes. ! dial-peer voice 2 voip destination-pattern 972....... session target ras !--- Uses RAS messages (GK) to get !--- call setup information. ! gateway ! |
! interface FastEthernet0/0 ip address 172.22.1.2 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 !--- The IP address configured here !--- should be the RAS address of GK-A. !--- and should be reachable from the gateway. !--- In order to find out the RAS address, !--- issue the show gatekeeper zone status !--- command on GK-A. h323-gateway voip h323-id GW-A2@abc.com ! dial-peer voice 1 voip destination-pattern 512....... session target ras ! dial-peer voice 2 pots destination-pattern 9725551010 port 1/0/0 !--- This is the FXS port. ! gateway ! |
在 GK-A 中捕获的以下输出显示了实际注册情况。请注意,GWY-A2 也注册了 FXS 端口的 E.164 ID。
GK-A#show gatekeeper endpoints GATEKEEPER ENDPOINT REGISTRATION ================================ CallSignalAddr Port RASSignalAddr Port Zone Name Type F --------------- ----- --------------- ----- --------- ---- -- 172.22.1.1 1720 172.22.1.1 49317 GK-A VOIP-GW H323-ID: GW-A1@abc.com 172.22.1.2 1720 172.22.1.2 58196 GK-A VOIP-GW E164-ID: 9725551010 H323-ID: GW-A2@abc.com Total number of active registrations = 2
第一次呼叫操作:用户 A1 拨打 972-555-1010 呼叫用户 A2。使用 ARQ 图完成决策过程。
GK-A 接收来自 GWY-A1 的 ARQ。
技术前缀是否匹配?无
区域前缀是否匹配?无
是否设置了 arq reject-unknown-prefix 命令?否,目标区域等于本地区域。
目标区域是否是本地区域?Yes
在步骤 1 中是否找到了技术前缀?无
目标地址是否已注册?Yes.发送 ACF。
呼叫建立成功。
注意:GWY-A2已注册目标E.164 ID(FXS端口)。 因此,网守可以准许呼叫。
第二次呼叫操作:用户 A2 拨打 512-555-1212 呼叫用户 A1。
GK-A 接收来自 GWY-A2 的 ARQ。
技术前缀是否匹配?无
区域前缀是否匹配?无
是否设置了 arq reject-unknown-prefix 命令?否,目标区域等于本地区域。
目标区域是否是本地区域?Yes
在步骤 1 中是否找到了技术前缀?无
目标地址是否已注册?无
是否设置了默认技术前缀?否。发送 ARJ。
呼叫建立失败。
注意:场景2说明了如何使用技术前缀解决此呼叫路由问题。
此情形中进行了以下配置更改:
GWY-A1 — 添加了h323-gateway voip tech-prefix 1#命令。GWY-A1 使用技术前缀 1# 注册到 GK-A。
GWY-A1——用destination-pattern命令添加一个POTS拨号对等点,此命令用技术前缀1 #与GWY-A2的流入被呼叫号码匹配。
GK-A — 添加了 zone prefix GK-A 命令。定义了 GK-A 管理的本地区域前缀。
GK-A — 添加了 arq reject-unknown-prefix 命令。这将强制 GK-A 仅接受所管理的区域前缀的 ARQ 呼叫。情形 1 中未配置此项。因此,目标区域默认设置为本地区域。
GWY-A2 — 在VoIP拨号对等体配置下添加tech-prefix 1#命令。这样,GWY-A2 就会将数字 1# 附加在传出 VoIP 呼叫之前。GK-A 将识别 1# 模式以选择 GWY-A1 作为目标网关。
GK-A | |
---|---|
gatekeeper zone local GK-A abc.com zone prefix GK-A 512....... zone prefix GK-A 972....... arq reject-unknown-prefix no shutdown ! |
|
GWY-A1 | GWY-A2 |
! interface Ethernet0/0 ip address 172.22.1.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A1@abc.com h323-gateway voip tech-prefix 1# ! dial-peer voice 3 pots incoming called-number 972....... destination-pattern 1#512....... direct-inward-dial port 1/0:23 prefix 512 ! dial-peer voice 2 voip destination-pattern 972....... session target ras ! gateway ! |
! dial-peer voice 1 voip destination-pattern 512....... session target ras tech-prefix 1# ! dial-peer voice 2 pots destination-pattern 9725551010 port 1/0/0 ! gateway ! interface FastEthernet0/0 ip address 172.22.1.2 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A2@abc.com ! |
在 GK-A 中捕获的以下输出显示了已注册的技术前缀:
GK-A#show gatekeeper gw-type-prefix GATEWAY TYPE PREFIX TABLE ========================= Prefix: 1#* Zone GK-A master gateway list: 172.22.1.1:1720 GW-A1
注意:无需使用h323-gateway voip tech-prefix 1#命令配置GW-A1,而可以通过使用命令在GK-A中手动配置此信息,以同样的方式完成。
GK-A(config-gk)#gw-type-prefix 1#* gw ipaddr 172.22.1.1
呼叫操作:用户 A2 拨打 512-555-1212 呼叫用户 A1。
GK-A 接收来自 GWY-A2 的 ARQ。
技术前缀是否匹配?Yes
注意:在技术前缀匹配后,网守将其剥离以分析区域前缀。该剥离操作只能通过网守分析来执行。始发网关仍然会将其在呼叫建立过程中附加到终端网关。
区域前缀是否匹配?Yes.将目标区域设置为等于本地区域。
别名(在剥离技术前缀之后)是否与任何已注册的 GW 匹配?不能。(如果是,请发送ACF)。
目标区域是否是本地区域?Yes
在步骤 1 中是否找到了技术前缀?Yes
是否找到了具有技术前缀的本地网关?Yes.发送 ACF。
呼叫建立成功。
下面的 GK-A debug 命令输出对上述行为进行了说明。
注意:此debug命令是有用但隐藏的调试。因此,分析程序不会显示该调试命令。
GK-A#debug gatekeeper main 5 *Jun 19 09:50:10.086: gk_rassrv_arq: arqp=0x631CC400, crv=0x82, answerCall=0 *Jun 19 09:50:10.086: gk_dns_locate_gk(): No Name servers *Jun 19 09:50:10.086: rassrv_get_addrinfo(1#5125551010): Matched tech-prefix 1# *Jun 19 09:50:10.086: rassrv_get_addrinfo(1#5125551010): Matched zone prefix 512 *Jun 19 09:50:10.118: gk_rassrv_arq: arqp=0x631CC400, crv=0x1A, answerCall=1
注意:这是可更直观的替代配置:
发出 h323-gateway voip tech-prefix 512 命令,以便将 GWY-A1 配置为向技术前缀 512 注册。
这样,GWY-A2不必在VoIP拨号对等体呼叫段中传递前缀,因为destination-pattern已经包含512。因此,请在GWY-A2配置中取出tech-prefix 1#命令,并且从GWY-A上的pots拨号对等体下的目标模式中删除1#1。
在此方案中,GWY-A1用技术前缀1 # 注册;GK-A配置到路由呼叫中,不提供与默认的技术前缀网关匹配的技术前缀。因此,GWY-A2 不需要配置为传递目标技术前缀。
GK-A | |
---|---|
! gatekeeper zone local GK-A abc.com zone prefix GK-A 512....... zone prefix GK-A 972....... gw-type-prefix 1#* default-technology arq reject-unknown-prefix no shutdown ! |
|
GWY-A1 | GWY-A2 |
! interface Ethernet0/0 ip address 172.22.1.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A1@abc.com h323-gateway voip tech-prefix 1# ! dial-peer voice 1 pots destination-pattern 512....... direct-inward-dial port 1/0:23 prefix 512 ! dial-peer voice 2 voip destination-pattern 972....... session target ras ! gateway ! |
! dial-peer voice 1 voip destination-pattern 512....... session target ras ! dial-peer voice 2 pots destination-pattern 9725551010 port 1/0/0 ! gateway ! interface FastEthernet0/0 ip address 172.22.1.2 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A2@abc.com ! |
在 GK-A 中捕获的以下输出显示了已注册的技术前缀:
GK-A#show gatekeeper gw-type-prefix GATEWAY TYPE PREFIX TABLE ========================= Prefix: 1#* (Default gateway-technology) Zone GK-A master gateway list: 172.22.1.1:1720 GW-A1
呼叫操作:用户 A2 拨打 512-555-1212 呼叫用户 A1。
GK-A 接收来自 GWY-A2 的 ARQ。
技术前缀是否匹配?无
区域前缀是否匹配?Yes.将目标区域设置为等于本地区域。
目标区域是否是本地区域?Yes
在步骤 1 中是否找到了技术前缀?无
目标地址是否已注册?无
是否设置了默认技术前缀?Yes.选择具有该技术前缀的本地网关(只有一个前缀可用)。
发送 ACF。
呼叫建立成功。
在这些示例中,有二个 H.323 区域:一个区域受 GK-A 控制,另一个区域受 GK-B 控制。
此部分中的各种情形说明了网守根据 ARQ 和 LRQ 消息路由呼叫所使用的分步决策过程。
注意:这些配置示例中仅显示相关输出。
在此方案中,GWY-A1注册到带技术前缀1 # 的 GK-A上,GWY-B1注册到带有技术前缀2 #的GK-B上。这两个网守都配置有默认技术前缀网关。
GK-A | GK-B |
---|---|
! gatekeeper zone local GK-A abc.com 172.22.1.3 zone remote GK-B abc.com 172.22.2.3 1719 zone prefix GK-B 214....... zone prefix GK-A 512....... gw-type-prefix 1#* default-technology arq reject-unknown-prefix no shutdown ! |
! gatekeeper zone local GK-B abc.com 172.22.2.3 zone remote GK-A abc.com 172.22.1.3 1719 zone prefix GK-B 214....... zone prefix GK-A 512....... gw-type-prefix 2#* default-technology no shutdown ! |
GWY-A1 | GWY-B1 |
! interface Ethernet0/0 ip address 172.22.1.1 255.255.255.0 half-duplex h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A1@abc.com h323-gateway voip tech-prefix 1# ! dial-peer voice 1 pots destination-pattern 512....... direct-inward-dial port 1/0:23 prefix 512 ! dial-peer voice 2 voip destination-pattern .......... session target ras ! gateway |
! interface Ethernet0/0 ip address 172.22.2.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-B ipaddr 172.22.2.3 1718 h323-gateway voip h323-id GWY-B1@abc.com h323-gateway voip tech-prefix 2# ! dial-peer voice 1 pots destination-pattern 214....... direct-inward-dial port 3/0:23 prefix 214 ! dial-peer voice 2 voip destination-pattern T session target ras ! gateway ! |
呼叫操作:用户 A1 拨打 214-555-1111 呼叫用户 B1。
GK-A 接收来自 GWY-A1 的 ARQ。
技术前缀是否匹配?无
区域前缀是否匹配?Yes.将目标区域设置为等于远程 GK-B 区域 (214)。
目标区域是否是本地区域?无
将 LRQ 发送到 GK-B。
GK-B 接收来自 GK-A 的 LRQ。
技术前缀是否匹配?无
区域前缀是否匹配?Yes.将目标区域设置为等于本地区域。
目标区域是否是本地区域?Yes
在步骤 1 中是否找到了技术前缀?无
目标地址是否已注册?无
是否设置了默认技术前缀?Yes.选择具有该技术前缀 (2#) 的本地网关。
将 LCF 发送到 GK-A。
GK-A 接收来自 GK-B 的 LCF 以及终端网关信息。
GK-A 将 ACF 发送到 GWY-A1。
呼叫建立成功。
在此方案中,GWY-A1注册到带技术前缀1 # 的 GK-A上,GWY-B1注册到带有技术前缀2 #的GK-B上。在向(214)发起呼叫时,GWY-A1将技术前缀2 #添加到被叫号码串;在向(512)发起呼叫时,GWY-B1将技术前缀1 #添加到被叫号码串。
GK-A | GK-B |
---|---|
! gatekeeper zone local GK-A abc.com zone remote GK-B abc.com 172.22.2.3 1719 zone prefix GK-B 214* zone prefix GK-A 512* arq reject-unknown-prefix no shutdown ! |
! gatekeeper zone local GK-B abc.com 172.22.2.3 zone remote GK-A abc.com 172.22.1.3 1719 zone prefix GK-B 214* zone prefix GK-A 512* no shutdown ! |
GWY-A1 | GWY-B1 |
! interface Ethernet0/0 ip address 172.22.1.1 255.255.255.0 half-duplex h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A1@abc.com h323-gateway voip tech-prefix 1# ! dial-peer voice 1 pots destination-pattern 512....... direct-inward-dial port 1/0:23 prefix 512 ! dial-peer voice 2 voip destination-pattern 214....... session target ras tech-prefix 2# ! gateway |
! interface Ethernet0/0 ip address 172.22.2.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-B ipaddr 172.22.2.3 1718 h323-gateway voip h323-id GWY-B1@abc.com h323-gateway voip tech-prefix 2# ! dial-peer voice 1 pots destination-pattern 214....... direct-inward-dial port 3/0:23 prefix 214 ! dial-peer voice 2 voip destination-pattern T session target ras tech-prefix 1# ! gateway ! |
第一次呼叫操作:用户 B1 拨打 512-555-1212 呼叫用户 A1。
GK-B 接收来自 GWY-B1 的 ARQ。
技术前缀是否匹配?无
区域前缀是否匹配?无
注意:由于GK-B不知道1#技术前缀,因此它假定它是被叫号码的一部分,并将其读作区域前缀。
目标区域是否是本地区域?Yes
注意:GK-B采用默认目标区域等于本地区域,因为未设置arq reject-unknown-prefix命令。
在步骤 1 中是否找到了技术前缀?无
目标地址是否已注册?无
是否设置了默认技术前缀?无
将 ARJ 发送到 GWY-B1。
呼叫建立失败。
以下输出是在 GK-B 中捕获的,以进一步说明此行为:
!--- From debug gatekeeper main 5. GK-B# gk_rassrv_arq: arqp=0x62F6A7E0, crv=0x22, answerCall=0 gk_dns_locate_gk(): No Name servers rassrv_get_addrinfo(1#5125551212): Tech-prefix match failed rassrv_get_addrinfo(1#5125551212): unresolved zone prefix, using source zone GK-B rassrv_get_addrinfo(1#5125551212): unknown address and no default technology defined gk_rassrv_sep_arq(): rassrv_get_addrinfo() failed (return code = 0x103) !--- From debug ras. GK-B# RecvUDP_IPSockData successfully rcvd message of length 156 from 172.22.2.1:51141 ARQ (seq# 1796) rcvdparse_arq_nonstd: ARQ Nonstd decode succeeded, remlen= 156 IPSOCK_RAS_sendto: msg length 4 from 172.22.2.3:1719 to 172.22.2.1: 51141 RASLib::RASSendARJ: ARJ (seq# 1796) sent to 172.22.2.1
将网守配置为识别远程区域技术前缀以解决该问题。
将以下项添加到 GK-B:
GK-B(config-gk)#gw-type-prefix 1# hopoff GK-A
将以下项添加到 GK-A:
GK-A(config-gk)#gw-type-prefix 2# hopoff GK-B
注意需要更新终端网关中的POTS拨号对等体,来匹配流入拨号字符串和技术前缀。
GK-A | GK-B |
---|---|
! gatekeeper zone local GK-A abc.com zone remote GK-B abc.com 172.22.2.3 1719 zone prefix GK-B 214* zone prefix GK-A 512* arq reject-unknown-prefix gw-type-prefix 2# hopoff GK-B no shutdown ! |
! gatekeeper zone local GK-B abc.com 172.22.2.3 zone remote GK-A abc.com 172.22.1.3 1719 zone prefix GK-B 214* zone prefix GK-A 512* gw-type-prefix 1# hopoff GK-A no shutdown ! |
GK-B | GWY-B1 |
! interface Ethernet0/0 ip address 172.22.1.1 255.255.255.0 half-duplex h323-gateway voip interface h323-gateway voip id GK-A ipaddr 172.22.1.3 1718 h323-gateway voip h323-id GW-A1@abc.com h323-gateway voip tech-prefix 1# ! !--- This dial-peer is used for !--- incoming calls from the PSTN. dial-peer voice 1 pots incoming called-number 512....... direct-inward-dial port 1/0:23 ! dial-peer voice 2 voip destination-pattern 214....... session target ras tech-prefix 2# ! !--- This dial-peer is used to !--- terminate (512) calls coming !--- from the VoIP network. Notice !--- that the technology prefix !--- is matched to select the dial-peer !--- but does not pass it to !--- the PSTN. dial-peer voice 3 pots destination-pattern 1#512....... direct-inward-dial port 1/0:23 prefix 512 ! dial-peer voice 4 voip destination-pattern 972....... session target ras ! gateway |
! interface Ethernet0/0 ip address 172.22.2.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK-B ipaddr 172.22.2.3 1718 h323-gateway voip h323-id GWY-B1@abc.com h323-gateway voip tech-prefix 2# ! dial-peer voice 1 pots incoming called-number 214....... direct-inward-dial port 3/0:23 prefix 214 ! dial-peer voice 2 voip destination-pattern T session target ras tech-prefix 1# ! dial-peer voice 3 pots destination-pattern 2#214....... port 3/0:23 prefix 214 ! gateway ! |
第二次呼叫操作:用户 B1 拨打 512-555-1212 呼叫用户 A1。
GK-B 接收来自 GWY-B1 的 ARQ。
技术前缀是否匹配?Yes
是否存在外线呼出技术前缀?Yes
将 LRQ 发送到 GK-A。
注意:LRQ在GK-A分析的被叫号码中包含技术前缀。
GK-A 接收来自 GK-B 的 LRQ。
技术前缀是否匹配?Yes
是否存在外线呼出技术前缀?无
注意:为了继续呼叫路由分析,GK-A删除了技术前缀。当网关设置呼叫段时,该技术前缀仍保留在被叫号码串中。
区域前缀是否匹配?Yes.将目标区域设置为等于本地区域。
目标区域是否是本地区域?Yes
在步骤 1 中是否找到了技术前缀?Yes
是否找到了具有技术前缀的本地网关?Yes
将 LCF 发送到 GK-B。
GK-B 接收来自 GK-A 的 LCF 以及终端网关信息。
GK-B 将 ACF 发送到 GWY-B1。
呼叫建立成功。
以下命令输出是在 GK-B 中捕获的,以进一步说明此行为:
!--- From debug gatekeeper main 5. GK-B# gk_rassrv_arq: arqp=0x62ED2D68, crv=0x24, answerCall=0 gk_dns_locate_gk(): No Name servers rassrv_get_addrinfo(1#5125551212): Matched tech-prefix 1# rassrv_put_remote_zones_from_zone_list() zone GK-A gk_rassrv_irr: irrp=0x62F0D8FC, from 172.22.2.1:51141 GK-B# GK-B# !--- From debug ras. RecvUDP_IPSockData successfully received message of length 156 from 172.22.2.1:51141 ARQ (seq# 1809) rcvdparse_arq_nonstd: ARQ Nonstd decode succeeded, remlen= 156 IPSOCK_RAS_sendto: msg length 104 from 172.22.2.3:1719 to 172.22.1.3: 1719 RASLib::RASSendLRQ: LRQ (seq# 1042) sent to 172.22.1.3 IPSOCK_RAS_sendto: msg length 7 from 172.22.2.3:1719 to 172.22.2.1: 51141 RASLib::RASSendRIP: RIP (seq# 1809) sent to 172.22.2.1 RecvUDP_IPSockData successfully rcvd message of length 131 from 172.22.1.3:1719 LCF (seq# 1042) rcvdparse_lcf_nonstd: LCF Nonstd decode succeeded, remlen= 131 IPSOCK_RAS_sendto: msg length 34 from 172.22.2.3:1719 to 172.22.2.1: 51141 RASLib::RASSendACF: ACF (seq# 1809) sent to 172.22.2.1 RecvUDP_IPSockData successfully rcvd message of length 76 from 172.22.2.1:51141
此部分列出了用于验证和解决网守与网关呼叫路由问题的 show 以及 debug 命令。
命令输出解释程序(仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。
注意:在使用debug命令之前,请参阅有关Debug命令的重要信息。
show gateway — 用于验证网关的E.164和H.323别名注册。
show gatekeeper endpoints — 用于验证向网守注册的E.164和H.323别名。
show gatekeeper gw-type-prefix — 用于验证网守上的E.164前缀注册。
show gatekeeper zone prefix |状态 — 用于验证区域状态和配置参数。
debug ras — 适用于网关和网守。
debug h225 asn1 — 适用于网关和网守。
show dial-peer voice — 用于验证拨号对等体中配置的技术前缀。