成都网站建设设计

将想法与焦点和您一起共享

CISCO_CVoice–005:TranslationRule和命中法则

1.    TranslationRule :转换规则
用来对入向和出向号码进行转换,用在dial-peer的出口,voice-port的入口,以及voip-incoming(全局配置),如图:
dial-peer出口
R1(config)#dial-peer voi 1000 voip

创新互联于2013年成立,先为泽普等服务建站,泽普等地企业,进行企业商务咨询服务。为泽普企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

R1(config-dial-peer)#translat?

translate-outgoing  translation-profile


voip-incoming(全局配置)
R1(config)#voip-incoming ?

translation-profile Translation profile

translation-rule    Global digit manipulation and translation

translation-rule 1
rule 1 ^87651 1  将以87651开头的号码转换为1
!
voice-port 2/0:23  在voice-port口调用translation rule
translate called1请注意这里是called,也就是入方向

Voice Translation Rule的字符解释:

符号

用途

.

任意的一个数字(0 -9)

[0 - 9]

在0-9这个区间范围内的任一数字,也可用[0,2-4,6-8]表示间断和连续

*

0个或多个相同位数

+

一个或多个相同位数

0个或1个相同位数

.*

任一数位,可以为0

.+

非0个任一数字

$

结束符

^

从此符号后开始

^$

Null,即没有数字

\

转义符,在match pattern中表示在此之前copy.
        在replace pattern中表示在此之后paste

()

表示一个集合,用于copy数字时

举例:
1.1.将5191xxx转换为1xxx
此时可以有两个做法,即每条逐一添加:

Rule 1  /^5191001$/ /1001/规则的内容写在//里,第一个//是转换的数字,第二个//是转换后。很明显这个是不行的,会极大的增加设备运算和IT维护工作。
用转换变量来统一转换:

Rule 1 /^519\(1...)$//\1/请注意这里用到的转义符\,意思是保留被转换//里的第一个()内的内容,即1…

完整的写法:
R1(config)#voicetranslation-rule 1   ---创建translation rule 1
R1(cfg-translation-rule)#rule 1/^519\(1...\)/ /\1/  --定义转换规则 1

R1(config)#voice translation-profile OUT-CALL –创建转换文件OUT-CALL,之所以会有这个profile,因为在一个profile里即可定义入向也可定义出向,方便调用。
R1(cfg-translation-profile)#translate called 1 –调用rule 1

R1(config)#dial-peer voic 1000 voip
R1(config-dial-peer)#translation-profile outgoingOUT-CALL –在dial-peer里调用转换文件OUT-CALL并应用于outgoing方向

用test命令来查看转换情况:

R1#test voicetranslation-rule 1 5191001

Matched with rule 1

Original number:5191001        Translated number: 1001


1.2.将10开头的4位号码替换为号码"58156000":

voice translationrule 1
rule 1 /^10..$/ /58156000/
用test来查看转换状态

Test voice translationrule 1 1001
Matched with rule 1
Original number: 1001 Translated number: 58156000

1.3.將所有號碼替換為 "86001000":

R1(config)#voice translation-rule 3

R1(cfg-translation-rule)#rule 1 /.$/ /86110000/

R1#test voice translation-rule 3 123

Matched with rule 1

Original number: 123    Translated number: 1286110000请留意这里,跟上面的rule

R1(config)#voice translation-rule 4

R1(cfg-translation-rule)#rule 1 /.*$/ /86001000/

R1(cfg-translation-rule)#end

R1#test voice translation-rule 4 123

Matched with rule 1

Original number: 123    Translated number:86001000请注意跟上面的比较

R1#test voice translation-rule 4 5191000

Matched with rule 1

Original number: 5191000        Translated number: 86001000

Original number type: none      Translated number type: none

Original number plan: none      Translated number plan: none

R1#test voice translation-rule 4 ..    

Matched with rule 1

Original number: ..    Translated number: 86001000

R1#test voice translation-rule 4 "" 这个符号不行了

^% Invalid input detected at '^' marker.

R1#test voice translation-rule 4 .*

Matched with rule 1

Original number: .*     Translated number: 86001000


R1#test voice translation-rule 4 //

Matched with rule 1

Original number: //     Translated number: 86001000

1.4转换非空号码到 86001000
R1(config)#voice translation-rule 5

R1(cfg-translation-rule)#rule 1 /.+$/ /86001000/

R1(cfg-translation-rule)#e

R1(config)#end

R1#testvoice translation-rule 5 1

Matchedwith rule 1

Originalnumber: 1     Translated number:86001000

2.    命中法则:

2.1概述 :任何路由器在处理voice时都有inbound和outbound
in时有match policy
out时有match dial-peer

任何的dialer-peer都是双向的,既是in,也是out。

2.2入向的命中法则

DNIS(incomingcalled-number监控被叫号码.)
ANI(answer-address1001监控主叫号码)
destination-pattern
port(port 0/0:23)
默认的dial-peer 0被使用

以前面的ISDN试验为例,在做DID时,我们写如下的命令:
dial-peer voice 1 pots
incoming called-number .
direct-inward-dial //
这样对于入向的语音呼叫根据入向命中法则,先查DNIS,在这里配置了相应的命令(匹配到了所有号码)则进行先一步路由的查找。

如果在这里不写DNIS,用以下命令:

dial-peervoice 1 pots
answer-address
direct-inward-dial //这样在入向是没有匹配到DNIS,那么紧接着匹配ANI,如上配置,但要注意的是,对于入向的主叫号码的产生(见下“主叫号码的产生”)用destination-pattern的话:

dial-peervoice 1 pots
destination-pattern
direct-inward-dial  //这样在入向是没有匹配到ANI,那么紧接着匹配destination-pattern,如上配置port
默认有一个dial-peer 0


出向的命中法则
1.匹配dial-peer,找到匹配项
2.如果有多个匹配项则看优先级的配置。
3.如果有相同的优先级,循环使用多个dial-peer
注意:预设的出向dial-peer匹配法则可以根据“dial-peer hunt”命令该修改


主叫号码的产生
1.如果连接电话的是S口,可以手工的输入:station-id numner 1001
2.通过命中入向的“destination-pattern”实现:

例如在R1上:Dial-peer

destion-patt1001
port2/0  //实际上是命中第四条件,然后利用destion-pat作为策略使用注意:主叫号码的产生一定用明细,不详细的号码不能作为主叫


被叫号码的产生通过TDMF


Debug查看

deb voip dial-peer能看到详细的路由命中方式


网页题目:CISCO_CVoice–005:TranslationRule和命中法则
文章链接:http://chengdu.cdxwcx.cn/article/ghdoog.html