DigitMap是存在于媒体网关内的一种拨号方案,用于检测和报告终端的拨号事件。当我们所拨的被叫号码符合DigitMap所定义的拨号方案之一时,媒体网关将此被叫号码传送至核心网。如果主叫所拨的被叫号码不符合DigitMap所定义的任何一个拨号方案时,媒体网关将直接释放本次呼叫、并向主叫送空号提示音。
基本介绍
- 中文名DigitMap
- 外文名DigitMap
概念
DigitMap,数图,跟地图没关係,这里说的DigitMap是跟日常的电话通信密切相关的。平时打电话时候,在各种终端上所拨出的号码是由接入的媒体网关所接收的,再传送至核心网进行号码分析,完成呼叫的接续。DigitMap便是存在于媒体网关内的一种拨号方案,用于检测和报告终端的拨号事件。当我们所拨的被叫号码符合DigitMap所定义的拨号方案之一时,媒体网关将此被叫号码传送至核心网。如果我们所拨的被叫号码不符合DigitMap所定义的任何一个拨号方案时,媒体网关将直接释放本次呼叫、并向我们送空号提示音。
如果没有配置正确的DigitMap,我们是无法拨出号码的。例如,如果DigitMap中不含有110的拨号方案,那幺拨打110也不会接续成功,DigitMap是不是很重要呢?
协定定义
DigitMap是由一系列代表一定含义的数字字元串组成,只要所收到的拨号序列与其中的一串字元相匹配就表示号码是有效的。
在媒体网关所使用的H.248协定中,DigitMap中常用的字元串及其含义说明参见下表。
字元 | 含义 |
---|---|
数字“0”到“9” | 可拨打的具体数字。 |
通配符“x” | 代表任何数字(“0”到“9”)。 |
範围“[”和“]” | 任取一个“[”和“]”中包含的字元,作为本位字元。 |
子範围“-” | 由 “-”分开的两个数字,代表这两个数字(包括它们)之间的数字。子範围只能套用在範围符号内,即包含在“[”和“]”中。例如“1-4”表示1、2、3、4。 |
分隔设定“|” | 用于分隔字元串,“|”左右的字元串均为一个可选择的拨号方案。 |
“.” | 表示对它前面的数字或字元任意多次(包括零次)的重複。 |
E | 表示DTMF(Dual-Tone Multi-Frequency,双音多频信号)方式中的“”。 |
F | 表示DTMF(Dual-Tone Multi-Frequency,双音多频信号)方式中的“#”。 |
S | 短定时器,如果号码串已经匹配了DigitMap中的某一拨号方案,但有可能接收更多位数的号码而匹配其它不同的拨号方案,则不应立即报告匹配情况。媒体网关必须使用短定时器S(例如8秒)等待接收更多位数的号码。 |
L | 长定时器,如果媒体网关检测到至少还需要一个数字来匹配DigitMap中的任意拨号方案,则数字间的定时器值应设定为长定时器L(例如16秒)。 |
套用规划
那幺实际的DigitMap应该如何规划呢?我们来看几个简单的例子
- 本地固话号码。以8位为例,首位一般不包括0、1、9,如
[2-8]xxxxxxx - 国内长途号码。以8位为例,可以根据需要在DigitMap中增加短定时器以允许拨打特殊的号码,如长途紧急电话025110,在DigitMap中的“02xxxxSxxxxx”本地号码第三位增加短定时器S。如
013xxxxxxxxx|010xxxSxxxxx|02xxxxSxxxxx|0[3-9]xxxxxSxxxx|0311xxxSxxxxx|037[179]6xxSxxxxx|04[15]1xxxSxxxxx|051[023]xxxSxxxxx|053[12]xxxxxxxx|057[147]xxxSxxx-xx|059[15]xxxSxxxxx|075[57]xxxSxxxxx|0769xxxSxxxxx|0898xxxSxxxxx|0159xxxxxxxx|068x - 国际长途号码。这个看上去很多,其实很好设计,你想到了吗?如
00xxx. - 特殊服务号码。包括紧急号码,例如110等。
10xxS.|11[02479]|11[13568]Sx.|12[026789]|121xx|12[3-5]Sx.|168xxxxx|1[79]xSx.|18
xSx|200|201|20[2-9]xSx|400xS.|444S.|600x|800xxxxxxx|9xxxxSx. - 新业务号码,一般以或#开始,格式为业务接入码+用户号码。
[#][0-9][0-9].#|xx|#xx#|##
在现网中,号码的情况远比上述举例要複杂的多,号码的规模也在不断的扩大,DigitMap的设计也是一项非常重要的工作,需要根据需要不断的进行扩充、提取相似的号码,以最简洁的设计满足现网的所有拨号需求。