拨号计划之拨号处理
2012-03-16 16:37
148 查看
在语音通话的过程中,经常会出现将号码加长或者缩短的情况。我们可以拿日常生活中的电话号码举例。比如一个人的电话号码是12345678,如果他在中国北京,那么中国的其他地方的人拨打他的电话,是需要前面加区号的,也就是加010变成010-12345678。如果是美国拨打这个电话的话,就还要加上国家号,号码就变为86-010-12345678。以便在每一级的设备中根据号码进行路由。号码在传递的过程中会经常的进行各种处理,包括增加,删减和修改。下面就介绍几种在CME中进行号码处理的命令。
1 num-exp [/b]number changed-number[/i]
这个命令相当于宏一样,可以将number [/i]修改为changed-number [/i]比如num-exp 1… 12341...
就是将1开头的号码比如1001,修改为12341001。用户在拨号时,直接拨打1001后,CME会自动的把1001改变成12341001进行拨号
2 voice translation[/b]
使用voice translation 可以进行一些比较复杂的号码修改。步骤如下
(1) 首先配置rule
(config)# voice translation-rule [/b]tag [/i]
(cfg-translation-rule[/b])# rule [/b]rule_num [/i]/[/b]number_before[/i]/ /[/b]number-after[/i]/[/b]
“//”里面的是正则表达式表达的数字序列。比如rule 1 /^1/ /12341/就是将1开头的号码,变成12341开头。也就是把开头的数字1换成12341
(2) 再配置profile来应用rule
(config)# voice translation-profile [/b]profile_name [/i]
(ctg-translation-profile[/b])# translate [called/calling] [/b]rule_num[/i]
在profile中利用translate命令,使用刚才设置的rule。其中called是指修改的被叫号码,calling是指修改主叫号码
(3) 在接口或者dial-peer中应用这个profile
(config)# voice-port 0/0/0:23[/b]
(config-if)# translation-profile [incoming/outgoing] [/b]profile_name[/i]
或者
(config)#dial-peer voice [/b]num [/i][pots/voip][/b]
(config-dialpeer)# translation-profile [incoming/outgoing] [/b]profile_name[/i]
Incoming指的是修改的是进来的流量,outgoing指的是修改的是出去的流量
3 digit-strip[/b]
在dial-peer中完全匹配了destination-pattern的号码将被在出接口时移除。这个是POTS对等体才有的特性,而且是默认特性。比如destination-pattern 1… ,当号码1234传到网关时,匹配了这个dial-peer,在出接口时,会将数字1剥除。也就是说传递出去的是234。如果是传递给PBX等需要完整号码信息进行路由的设备的话,可以使用no digit-strip[/b]来关闭这一特性
4 forward-digits[/b]
刚才说到了在POTS对等体中,精确匹配了destination-pattern的数字将会被移除。当我们想在网关出接口时控制出接口的号码的位数的话,可以在dial-peer下使用forward-digit [/b]命令。
forward-digit [ [/b]num-digits [/i]| all ] [/b]可以选择传递几位数字或者全部都进行传递。
5 prefix[/b]
在冗余的场景中,一般来说IP电话走的是WAN链路,当WAN链路down的情况下,可以选择走PSTN。但是走PSTN的时候,号码必须是完整。也就是说,不能像走IP的时候使用简化的号码。那么这个时候,就可以使用prefix [/b]prefix_digit[/i] 来给出网关的号码添加前缀。这里要注意,号码处理的时候,digit-strip的优先级大于prefix。也就是说号码会先剥除精确匹配的数字之后再加上前缀。比如说下面的配置:
dial-peer voice 1 pots
destination-pattern 1...
prefix 9111
如果拨号的号码是1234,那么经过这个dial-peer之后的出站号码就是9111234。1234会先因为默认行为digit-strip剥除精确匹配的1,然后因为prefix而添加前缀91111。所以出站的号码就是9111234
1 num-exp [/b]number changed-number[/i]
这个命令相当于宏一样,可以将number [/i]修改为changed-number [/i]比如num-exp 1… 12341...
就是将1开头的号码比如1001,修改为12341001。用户在拨号时,直接拨打1001后,CME会自动的把1001改变成12341001进行拨号
2 voice translation[/b]
使用voice translation 可以进行一些比较复杂的号码修改。步骤如下
(1) 首先配置rule
(config)# voice translation-rule [/b]tag [/i]
(cfg-translation-rule[/b])# rule [/b]rule_num [/i]/[/b]number_before[/i]/ /[/b]number-after[/i]/[/b]
“//”里面的是正则表达式表达的数字序列。比如rule 1 /^1/ /12341/就是将1开头的号码,变成12341开头。也就是把开头的数字1换成12341
(2) 再配置profile来应用rule
(config)# voice translation-profile [/b]profile_name [/i]
(ctg-translation-profile[/b])# translate [called/calling] [/b]rule_num[/i]
在profile中利用translate命令,使用刚才设置的rule。其中called是指修改的被叫号码,calling是指修改主叫号码
(3) 在接口或者dial-peer中应用这个profile
(config)# voice-port 0/0/0:23[/b]
(config-if)# translation-profile [incoming/outgoing] [/b]profile_name[/i]
或者
(config)#dial-peer voice [/b]num [/i][pots/voip][/b]
(config-dialpeer)# translation-profile [incoming/outgoing] [/b]profile_name[/i]
Incoming指的是修改的是进来的流量,outgoing指的是修改的是出去的流量
3 digit-strip[/b]
在dial-peer中完全匹配了destination-pattern的号码将被在出接口时移除。这个是POTS对等体才有的特性,而且是默认特性。比如destination-pattern 1… ,当号码1234传到网关时,匹配了这个dial-peer,在出接口时,会将数字1剥除。也就是说传递出去的是234。如果是传递给PBX等需要完整号码信息进行路由的设备的话,可以使用no digit-strip[/b]来关闭这一特性
4 forward-digits[/b]
刚才说到了在POTS对等体中,精确匹配了destination-pattern的数字将会被移除。当我们想在网关出接口时控制出接口的号码的位数的话,可以在dial-peer下使用forward-digit [/b]命令。
forward-digit [ [/b]num-digits [/i]| all ] [/b]可以选择传递几位数字或者全部都进行传递。
5 prefix[/b]
在冗余的场景中,一般来说IP电话走的是WAN链路,当WAN链路down的情况下,可以选择走PSTN。但是走PSTN的时候,号码必须是完整。也就是说,不能像走IP的时候使用简化的号码。那么这个时候,就可以使用prefix [/b]prefix_digit[/i] 来给出网关的号码添加前缀。这里要注意,号码处理的时候,digit-strip的优先级大于prefix。也就是说号码会先剥除精确匹配的数字之后再加上前缀。比如说下面的配置:
dial-peer voice 1 pots
destination-pattern 1...
prefix 9111
如果拨号的号码是1234,那么经过这个dial-peer之后的出站号码就是9111234。1234会先因为默认行为digit-strip剥除精确匹配的1,然后因为prefix而添加前缀91111。所以出站的号码就是9111234
相关文章推荐
- 基于云端的薪资管理服务ZenPayroll每月薪资处理额超1亿美元,计划扩张至5个新地区
- UM中为用户启用第二个拨号计划
- 【故障处理141119】一次数据库不繁忙时一条sql语句2个运行计划导致业务超时的故障处理
- [2016 微软预科生计划-探星夏令营在线测试2] Give My Text Back(字符串处理)
- Windows8开发-处理计划通知Toast和使用Task
- 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理
- 《FreeSWITCH: VoIP实战》:拨号计划- Dialplan
- Asterisk权威指南/第六章 拨号计划基础
- SQL Server 2005查询处理结构-用户模式计划(UMS)
- Asterisk 拨号计划之匹配规则和优先级详解
- 6.3.2 在 C# 中处理计划
- 批处理脚本配合windows计划任务自动完成日构建
- windows2008系统中rsync计划任务返回0x1问题处理
- MRP控制参数(1) – 计划文件与处理代码(Processing key)
- 关于ROWID分页中,执行计划的错误选择与处理(一)
- mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理
- trixbox拨号计划结构
- vlc学习计划(5)--网络数据流接收处理过程分析
- 在SQL Server 2005上遇到了先删除已运行维护计划后,再删除代理中由其产生的作业时,提示删除失败,如何处理?
- 一次数据库不繁忙时一条sql语句2个执行计划导致业务超时的故障处理