VoIP网关的数图(Digitmap)匹配规则DigitMap描述符至于DigitMap描述符,可以应用于接入网关或一些MediaServer中,要求它们进行收号,并对收到的号码与DigitMap表进行匹配,并在匹配结束时(可能是无异义匹配、完全匹配、不完全匹配)上报给Softswitch(此时,要求在Event中需有检测收号完成事件)
DigitMap描述符可以应用于用户摘机时随拨号音一同下发给MG,要求用户拨号;也可以用于新业务中收取诸如卡号、密码、语音类别等场合
VoIP网关在上报用户拨打的号码时,最好是将号码先存放在一个缓冲器(BUFFER)中,全部收齐后再通过一个消息发出去
问题在于,网关如何能够预见用户拨打的号码的数量
解决办法是:网关收到号码后与digitmap中的entry(条目)进行比较,如果与1个entry完全匹配,则立即发送消息给MGC;如果与1个entry部分匹配,但是再收到其它号码可能与某个entry完全匹配,则继续等待
编写digitmap中的entry(条目)的语法如下:数字(Digit):一个从0到9的数字
计时器(Timer):符号T匹配一个计时器的时长(expiry)
双音频(DTMF):一个数字、计时器或符号A,B,C,D,#或*
通配符(Wildcard):符号x可以匹配任何数字(0到9)
并列(Range):一个或几个DTMF符号包含在方括号[]中,取其中一个
区域(Subrange):两个数字被连字符"-"隔开,表示可以取自该范围内的一个数字
英文句号:“
”表示前面的数字等可以出现任意次数,包括“0”次)如果一个号码是1800383848,即使设置成digitmap是:([2-8]xxxxxx|13xxxxxxxxx|1800383848|0xxxxxxxx|9xxxx|*|#|x
#|1[0124-9]x|[0-