登录站点

用户名

密码

关守--浅议Technology Prefixes与zone prefixes

热8已有 48 次阅读  2010-04-13 16:18   标签:  Technology  zone  Prefixes  prefixes 
一、在讨论Technology prefix(TP)前我们来看一下几组命令:
 
ephone-dn  1  
 number 1001 no-reg primary
interface Loopback0
 h323-gateway voip tech-prefix 1#
gatekeeper
 gw-type-prefix 1# default-technology
-------------------
dial-peer voice 1001 voip
 tech-prefix 1#

 session target ras

 
上面红字部分命令语句之间隐藏着什么关系呢?首先,number 1001 no-reg primary 告诉GK不注册该E.164ID(缺省情况下,E.164ID是注册到GK的);接下来h323-gateway voip tech-prefix 1#告诉GK本GW的TP是1#;终端用户访问该E.164时:1、使用session target ras,这个命令与普通的session target ipv4命令的本质区别是GW不再关心下一跳GW的IP地址了,这个任务现在由GK来完成;2、被叫号在交给GK之前使用tech-prefix 1#在前面加上一个TP;最后,gw-type-prefix 1# default-technology则在用户GW没有配置tech-prefix 1#时发挥作用。事实上,也可以通过在GK上配置gw-type-prefix 1# gw ipaddr 起到在GW上配置tech-prefix 1#一样的作用。
 
由此我们得出结论:如果没有no-reg primary,那么就不需要h323-gateway voip tech-prefix 1#及tech-prefix 1#;如果有no-reg primary,就必须要有这两个命令,或者说TP必须匹配。这说明TP的作用是:当GK没有办法找到E.164注册对应的GW时,就使用TP完成路由。这种情况出现时GK的策略是:如果被叫号包含了TP,就使用匹配TP的GW进行路由,如果没有包含TP,就使用缺省的TP对应的GW进行路由。此外,TP还有一个作用:当非H.323终端连接时,它是不会在GK上注册E.164ID的,这时就更需要TP了。
 
二、Zone prefix。zone的意义在于匹配的prefix该由哪个zone来处理。如果是本地,则由本地GK处理,如果不是本地,则交给远程(remote zone)的GK来处理。出现后者情况时,GK会向远端GK发出LRQ进行二次路由。
 
缺省情况下,GK会将所有未匹配的prefix当成本地的prefix,如果GK配置了arq reject-unknown-prefix,那么GK会拒绝对不匹配的prefix进行路由,GK会向GW发出ARJ予以拒绝。
 
三、关于在GK上配置tech prefix。
  1. gw-type-prefix 1#* hopoff REMOTE_GK这条命令能使本地GK忽略zone prefix匹配,直接跳到远端GK;如果使用不带参数的gw-type-prefix 1#*,则要本地匹配,可以通过zone prefix REMOTE_GK 1*再将其引导到远端GK。相关命令看起来像是这样:

    gatekeeper
    zone prefix REMOTE_GK 1*
    gw-type-prefix 1#*

    由此我们得知:gw-type-prefix命令并不一定意味着该tech prefix一定由本地zone的GW来处理路由,它也可能被路由到远端的GK;当使用带hopoff参数的命令时,相关zone prefix都可以省略。hopoff tech prefix是一个很方便的命令。

  2. gw-type-prefix 1#* default-technology。我们已经知道这个命令是在用户GW没有为被叫号配置TP时GK就将呼叫转发到匹配这个TP的相关GW,但我们还应该注意这个命令并不会在用户的呼叫号上加上这个TP。因此如果这个呼叫转发到了远程GK时,它还是不带TP的,远程GK仍然会把它当成不匹配TP的呼叫号来处理。自然,当呼叫到达远端GW后,被叫号也是不带TP的。

  3. 如果上述两个命令都配置了会怎么样呢?

    gatekeeper
    gw-type-prefix 1#* hopoff REMOTE_GK
    gw-type-prefix 1#* default-technology

    我们能希望GK无条件转发不带TP的呼叫到远端GK吗?不能。由于gw-type-prefix 1#* default-technology并不在被叫号前加上TP1#,因此被叫号不满足hopoff条件。要实现正常路由,仍然需要配置zone prefix REMOTE_GK 1*。
 
如果GK的LRQ到达远端GK,远端GK会采取相似的步骤处理。但有一点要注意:如果希望远端GK拒绝对不匹配的prefix进行路由,还必须要有lrq reject-unknown-prefix,跟本地GK的配置一字之差。
 
 
四、结论:Technology Prefixes与zone prefixes之间存在一种层级的关系。zone prefix确定被叫号zone的归属:不属于任何zone的prefix是不存在的,zone确定之后,再由TP决定GW的选择。
 
说到这里,或许我们会发现,这些方法和措施都源于no-reg primary。正因为阻止了E.164向GK进行注册,所以才会出现路由问题。那么允许E.164注册会怎么样?这样似乎GK会易于管理一些。但事物好坏都有正反两方面。如果这样,E.164少时还好一点,如果多到成千上万,GK也许吃不消。
 
 
 
 
 
分享 举报