语音 : H.323

了解Cisco IOS网守呼叫路由

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

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 系列路由器

  • 本文不是特定对思科IOSï ¿  ½任何一种个版本。不过,本文档中的配置已在 Cisco IOS 软件版本 12.2(19) 上进行了测试。请参阅 Software Advisor仅限注册用户),以确认所需的 Cisco IOS 功能集支持 H.323 网守功能。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

ARQ 和 LRQ 消息

准入请求 (ARQ) 和位置请求 (LRQ) 为两条 H.225 注册、准入、状态 (RAS) 消息,用于触发网守启动呼叫路由决策过程。

  • ARQ —由H.323终端的本地区域信息(通常网关)传送给Cisco网守。在下列情况下,网守将会收到来自终点的 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 消息后的网守呼叫路由决策过程:

gk-call-routing-1.gif

gk-call-routing-2.gif

基于别名的呼叫路由

在 Cisco IOS 软件版本 12.4 及更高版本中,网守呼叫路由已更改。在处理目标 E.164 号码 (DNIS) 之前,将会执行基于 H.323 ID 和电子邮件 ID 的匹配。如果发现有任何终点注册了指定的 H.323 ID/电子邮件 ID,则会发送 ACF。下图说明了基于别名的新呼叫路由进程:

/image/gif/paws/24462/gk-call-routing-2a.gif

语音基础设施和应用 (VIA) 功能是现有 Cisco 网守镜像的软件增强功能。通过此增强功能,Cisco 网守可以识别同一平台(IP 到 IP 网关)上的二个呼叫段,也可以对多个 IP 到 IP 网关间的流量进行负载平衡,这些网关(网关和网守)包含在预定义的 VIA 区域中。这些网守位于 Internet 电话服务提供商 (ITSP) 网络的边缘,类似于 VoIP 中转点或传输区域,VoIP 流量将在到达远程区域目标的过程中通过该中转点或传输区域加入信道。VIA 区域中的 IP 到 IP 网关可终止传入呼叫,然后朝其最终目标重新发起这些呼叫。有关 VIA 区域的详细信息,请参阅使用 Cisco 多服务 IP 到 IP 网关功能的远程到本地网络

/image/gif/paws/24462/gk-call-routing-2b.gif

注意: 如果在配置中未找到指定的 invia 或 outvia 区域(即未定义为本地或远程区域),则会发送 ARJ 消息。

为了选择注册到选定 viazone 的 IP-IP GW,可使用以下算法:

  1. 如果找到技术前缀(在基于别名的匹配中),请在指定的 viazone 中查找已注册此技术前缀的网关列表。

  2. 如果没有找到技术前缀,请查找注册到指定的 viazone 的整个网关列表。

  3. 选择在步骤 1 或 2 中找到的具有可用资源的第一个 IP-IP GW。

  4. 如果列表中的所有 IP-IP GW 均资源不足,请选择找到的第一个 IP-IP GW(即使该 IP-IP GW 也资源不足)。

  5. 如果没有找到任何 IP-IP GW,则返回失败。

本地区域呼叫示例

在此部分提供的示例中,二个网关使用各自的 H.323 ID 向 Cisco 网守注册。另外,网关 (GWY) A2 还向 E.164 地址注册。下图适用于此部分中的所有示例:

gk-call-routing-3.gif

此部分中的三种情形说明了网守根据 ARQ 消息路由呼叫所使用的分步决策过程。

注意: 这些配置捕获中仅显示了相关输出。

情形 1:未配置技术前缀

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。

  1. 技术前缀是否匹配?

  2. 区域前缀是否匹配?

  3. 是否设置了 arq reject-unknown-prefix 命令否,目标区域等于本地区域。

  4. 目标区域是否是本地区域?

  5. 在步骤 1 中是否找到了技术前缀?

  6. 目标地址是否已注册?可以。发送 ACF

呼叫建立成功。

注意: GWY-A2 注册了目标 E.164 ID(FXS 端口)。因此,网守可以准许呼叫。

第二次呼叫操作:用户 A2 拨打 512-555-1212 呼叫用户 A1。

GK-A 接收来自 GWY-A2 的 ARQ。

  1. 技术前缀是否匹配?否

  2. 区域前缀是否匹配?否

  3. 是否设置了 arq reject-unknown-prefix 命令?否,目标区域等于本地区域。

  4. 目标区域是否是本地区域?是

  5. 在步骤 1 中是否找到了技术前缀?否

  6. 目标地址是否已注册?否

  7. 是否设置了默认技术前缀?否。发送 ARJ

呼叫建立失败。

注意: 情形 2 说明了如何使用技术前缀解决此呼叫路由问题。

方案 2:配置了技术前缀

此情形中进行了以下配置更改:

  • GWY-A1 —添加了h323-gateway voip tech-prefix 1-命令。GWY-A1 使用技术前缀 1# 注册到 GK-A。

  • GWY-A1 —添加了一POTS拨号对等用destination-pattern命令匹配从GWY-A2的流入被叫号码与技术前缀1#。

  • GK-A — 添加了 zone prefix GK-A 命令。定义了 GK-A 管理的本地区域前缀。

  • GK-A — 添加了 arq reject-unknown-prefix 命令。这将强制 GK-A 仅接受所管理的区域前缀的 ARQ 呼叫。情形 1 中未配置此项。因此,目标区域默认设置为本地区域。

  • GWY-A2 —添加了tech-前缀1#命令在VoIP拨号对等体配置下。这样,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

注意: 可以使用以下命令在 GK-A 中手动配置 GW-A1 以相同方式完成配置,而不是使用 h323-gateway voip tech-prefix 1# 命令来进行配置。

GK-A(config-gk)#gw-type-prefix 1#* gw ipaddr 172.22.1.1

呼叫操作:用户 A2 拨打 512-555-1212 呼叫用户 A1。

GK-A 接收来自 GWY-A2 的 ARQ。

  1. 技术前缀是否匹配?

    注意: 在技术前缀匹配之后,网守会对其进行剥离以分析区域前缀。该剥离操作只能通过网守分析来执行。始发网关仍然会将其在呼叫建立过程中附加到终端网关。

  2. 区域前缀是否匹配?可以。将目标区域设置为等于本地区域。

  3. 别名(在剥离技术前缀之后)是否与任何已注册的 GW 匹配?否。(如果是,则发送 ACF)。

  4. 目标区域是否是本地区域?

  5. 在步骤 1 中是否找到了技术前缀?

  6. 是否找到了具有技术前缀的本地网关?可以。发送 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-A1上的POTS拨号对等体的目的地模式中移除1 #。

情形 3:配置了默认技术前缀

在此方案中,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。

  1. 技术前缀是否匹配?

  2. 区域前缀是否匹配?可以。将目标区域设置为等于本地区域。

  3. 目标区域是否是本地区域?

  4. 在步骤 1 中是否找到了技术前缀?

  5. 目标地址是否已注册?

  6. 是否设置了默认技术前缀?可以。选择具有该技术前缀的本地网关(只有一个前缀可用)。

  7. 发送 ACF

    呼叫建立成功。

远程区域呼叫示例

在这些示例中,有二个 H.323 区域:一个区域受 GK-A 控制,另一个区域受 GK-B 控制。

/image/gif/paws/24462/gk-call-routing-4.gif

此部分中的各种情形说明了网守根据 ARQ 和 LRQ 消息路由呼叫所使用的分步决策过程。

注意: 这些配置示例中仅显示了相关输出。

情形 1:配置区域网守时使用了默认技术前缀

在此方案中,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。

  1. 技术前缀是否匹配?

  2. 区域前缀是否匹配?可以。将目标区域设置为等于远程 GK-B 区域 (214)。

  3. 目标区域是否是本地区域?

  4. LRQ 发送到 GK-B

GK-B 接收来自 GK-A 的 LRQ。

  1. 技术前缀是否匹配?

  2. 区域前缀是否匹配?可以。将目标区域设置为等于本地区域。

  3. 目标区域是否是本地区域?

  4. 在步骤 1 中是否找到了技术前缀?

  5. 目标地址是否已注册?

  6. 是否设置了默认技术前缀?可以。选择具有该技术前缀 (2#) 的本地网关。

  7. 将 LCF 发送到 GK-A。

    GK-A 接收来自 GK-B 的 LCF 以及终端网关信息。

    GK-A 将 ACF 发送到 GWY-A1。

    呼叫建立成功。

方案 2:配置区域网守时未使用默认技术前缀

在此方案中,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。

  1. 技术前缀是否匹配?

  2. 区域前缀是否匹配?

    注意: 由于 GK-B 不了解 1# 技术前缀,因此它会假定该前缀是被叫号码的一部分并将其读作区域前缀。

  3. 目标区域是否是本地区域?

    注意: GK-B 接受默认目标区域等于本地区域,因为没有设置 arq reject-unknown-prefix 命令

  4. 在步骤 1 中是否找到了技术前缀?

  5. 目标地址是否已注册?

  6. 是否设置了默认技术前缀?

  7. 将 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。

  1. 技术前缀是否匹配?

  2. 是否存在外线呼出技术前缀?

  3. 将 LRQ 发送到 GK-A。

    注意: LRQ 包括被叫号码中用于 GK-A 分析的技术前缀。

GK-A 接收来自 GK-B 的 LRQ。

  1. 技术前缀是否匹配?

  2. 是否存在外线呼出技术前缀?

    注意: 为了继续进行呼叫路由分析,GK-A 会剥离该技术前缀。当网关设置呼叫段时,该技术前缀仍保留在被叫号码串中。

  3. 区域前缀是否匹配?可以。将目标区域设置为等于本地区域。

  4. 目标区域是否是本地区域?

  5. 在步骤 1 中是否找到了技术前缀?

  6. 是否找到了具有技术前缀的本地网关?

  7. 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|status — 用于验证区域状态和配置参数。

  • debug ras — 适用于网关和网守。

  • debug h225 asn1 — 适用于网关和网守。

  • show dial-peer voice — 用于验证拨号对等体中配置的技术前缀。


相关信息


Document ID: 24462