因特网协议语音应用中的用户号码的收集方法及语音网关的制作方法

文档序号:7693313阅读:142来源:国知局
专利名称:因特网协议语音应用中的用户号码的收集方法及语音网关的制作方法
技术领域
本发明涉及一种因特网协议语音(VoIP, Voice over Internet Protocol)技 术领域,具体涉及一种VoIP应用中的用户号码的收集方法及语音网关。
背景技术
VoIP技术实现了在因特网上传输语音数据,图1所示为一种常见的VoIP 组网。图1所示的VoIP网络由语音网关(VG, Voice Gateway )、 VoIP服务器 (VoIPServer)和IP数据承载网(如因特网)组成。下面4姿照VoIP通常的工 作方式,简单介绍一下VoIP呼叫的工作原理。首先,语音网关将各自下属的用户号码资源注册到VoIP服务器上;VoIP 呼叫时,先由呼叫发起方(在此处,将图1中的语音网关A作为呼叫发起方, 即主叫语音网关)进行号码收集,在收齐被叫号码后,将呼叫(该呼叫中包括 被叫号码)发送到VoIP服务器,请求被叫的呼叫路由;VoIP服务器将根据被 叫号码,查找呼叫接收方(在此处,将图1中的语音网关B作为呼叫接收方, 即被叫语音网关),并将找到呼叫路由信息发送给呼叫发起方;之后由呼叫发 起方向呼叫接收方发起呼叫,并建立VoIP呼叫。可以看出,在VoIP网络中,用户可以通过拨号输入被叫的用户号码,呼 叫发起方的语音网关(即主叫语音网关)收集用户号码,在主叫语音网关判断 用户号码收集完成后,向VoIP服务器请求被叫的呼叫路由。通常,预先在语 音网关处配置相应的号码规则,根据号码规则来判断用户号码收集是否完成。现有技术中,语音网关收集用户号码的一种方法是用户拨号由主叫语音 网关解析,通过利用拨号等待或号码终结符(如#号键等)来完成号码收集。 图2所示为上述方法在收集用户号码的流程图,包括以下步骤步骤21,语音网关在接收到用户拨入的一位号码后,复位等待定时器, 开始计时;步骤22~24,语音网关判断上述接收到的一位号码是否为号码终结符, 如果是,则结束号码收集,并呼叫VoIP服务器;否则,如果等待定时器超时 前又接收到用户拨入的另一位号码,则返回步骤21,如果等待定时器超时, 则结束号码收集,并呼叫VoIP服务器。上述号码收集方法在目前的VoIP网络中应用最为广泛,语音网关只需要 配置如下的号码规则每接收到一位号码时,都启动定时器计时,在定时器超 时或接收到号码终结符时,判断用户号码收集完成,从而发起相应的呼叫。上 述方法在语音网关处的配置和管理维护比较简单,但是这种方案需要改变用户 原有的拨号习惯,即用户在拨完号码以后还需要拨附加的号码终结符,否则用 户拨完号码后需要等待较长时间(定时器超时),语音网关才会发起呼叫。现有技术中的另 一种语音网关收集用户号码的方法是预先配置多条号码 规则,所述号码规则中包括有完整的用户号码的特征,进而通过号码规则来实 现对用户号码的精确匹配,以判断用户号码收集是否完成。以由"区号+市话 号码,,组成的用户号码为例,该方法需要为已开通VoIP业务的地区的用户号 码配置相应的号码规则。接收到用户号码后,将用户号码分别与各条号码规则 相匹配。具体的,在进行匹配时,将号码规则中所包括的完整的用户号码作为 一个整体,从该完整的用户号码的第一位号码开始,依次向后与用户拨入的号 码相匹配,直到最后一位。该方法理论上可以达到用户拨完号码后立即发起呼叫,而且也不需要用户 拨附加的号码终结符,但是该方法需要配置的号码规则非常多,其配置和维护 的工作量都非常大。例如,北京的国内长途区号为010,上海国内长途区号的 为021,河北的国内长途区号包括0310-0319和0335。要在北京、上海、 河北开通VoIP业务,北京的语音网关需要能够准确识别上海和河北的电话号 码,则北京的语音网关需要配置如下号码规则(本说明书中,用通配符"*" 表示0到9中任意一位号码)号码规则1用户号码特征021,****,**** 呼叫3各由VoIP Server的地址号码规则2用户号码特4正0310, ***,****呼叫路由VoIP Server的地址号码规则3用户号码特征0311,****,**** 呼叫^各由VoIP Server的地址号码规则4用户号码特;f正0312, ***,**** 呼叫^各由VoIP Server的地址号码规则5用户号码特征0313, ***,**** 呼叫^各由VoIP Server的地址号码规则6用户号码特征0314, ***,**** 呼叫^各由VoIP Server的地址号码规则7用户号码特;f正0315, ***,**** 呼叫;咯由VoIP Server的地址号码规则8用户号码特4正0316, ***,**** 呼叫;洛由VoIP Server的地址号码规则9用户号码特征0317, ***,**** 呼叫3各由VoIP Server的地址号码规则10用户号码特4正0318, ***,**** 呼叫路由VoIP Server的地址号码规则11用户号码特征0319, ***,**** 呼叫路由VoIP Server的地址号码规则12用户号码特4正0335, ***,**** 呼叫^各由VoIP Server的3也址 上述号码^L则1和号码规则3中,用户号码特征部分021或0311之后有 8个"*,,,这表示以021或0311开头的用户号码,在021或0311之后还有8 位号码(8位市话号码),而其它号码规则中的用户号码特征表示以0310、 0312 等区号开头的用户号码,在区号之后还包括有7位的市话号码。图3所示为所述另一种语音网关收集用户号码的方法的流程图,包括以下 步骤步骤31,在用户拨号过程中,语音网关收集用户所拨入的号码,并在每 接收到一位号码后,进入步骤32;步骤32 步骤35,语音网关将当前所收集到的号码序列(以下称为当前 号码序列),分别与各个号码规则相匹配如果当前号码序列与某个号码规则 中的用户号码特征完全匹配,则用户号码收集完成,并根据该号码规则中的呼 叫路由发起呼叫(由于上述号码规则中的呼叫路由都被配置为VoIP Server的 地址,则语音网关会将呼叫发送到VoIP服务器,请求被叫的呼叫路由);如果 当前号码序列与所有的号码规则中的用户号码特征都不能匹配,则终止呼叫; 如果当前号码序列长度小于某个号码规则中的用户号码长度,但该号码序列当简称为部分匹配),则表示用户号码尚未收集完全,返回步骤31,继续等待用 户拨号。上述方法可以达到用户拨完号码后立即发起呼叫,而且也不需要用户拨附 加的号码终结符。但是,在实际VoIP组网中,由于用户号码的数量很大,呼 叫规则多达几十条,甚至几百条,因此,上述方法需要在语音网关上配置较大 数量的号码规则。并且,如果某个地区的市话升位(例如由7为升为8位), 该方法需要在众多的号码规则中找到对应的号码规则并进行修改。可以看出, 该方法由于所需号码规则数量太多,导致语音网关的配置和维护都非常不方 便。9发明内容本发明所要解决的技术问题是提供一种在因特网协议语音应用中的号码 收集方法及语音网关,在不改变用户拨号习惯和用户拨完号码后立即发起呼叫 的前提下,降低语音网关处需要配置的号码规则的数量,同时方便了后期的维 护管理。为解决上述技术问题,本发明提供方案如下一种因特网协议语音VoIP应用中的用户号码的收集方法,包括以下步骤 A,在用户拨号的过程中,接收用户拨入的号码序列,并将预先保存的各组是通过将VoIP应用中的所有用户号码划分为前缀和后缀两部分后,由后缀 号码特征相同的用户号码所具有的前缀所组成;B,将所述号码序列截去步骤A中匹配成功的前缀后得到剩余部分,并 判断所述剩余部分是否与第一后缀号码特征相匹配,如果匹配,则判断本次用 户号码接收完全,其中,所述第一后缀号码特征是所述匹配成功的前缀所属前 缀组对应的后缀号码特征。优选的,上述的方法中,所述步骤A具体可以包括步骤Al,接收用户拨入的号码序列,在每接收到用户拨入的一位号码后, 开始新一轮的号码匹配,进入步骤A2;步骤A2,判断当前一轮的号码匹配中,是否有未进行匹配处理的前缀组, 如果有,则选择其中一个前缀组,进入步骤A3;否则,判断在当前一轮的号 码匹配中是否存在部分匹配的情况若是,则返回步骤Al,若否,则停止接 收用户拨号并终止呼叫;步骤A3,从步骤A2中所选择的前缀组中选4奪一个在当前一轮的号码匹 配中尚未进行匹配处理的前缀,进入步骤A4;步骤A4,从所述号码序列和步骤A3中所选择的前缀的第一位开始,逐 ^f立进4亍匹配如果该前缀的每一位都与所述号码序列中的对应位相同,则判断匹配成 功,进入步骤B;如果该前缀的长度大于所述号码序列,且所述号码序列中的每一位都与该前缀中的对应位相同,则判断当前一轮的号码匹配中存在部分匹配,并返回步骤A3;如果该前缀和所述号码序列中存在不相同的对应位,则该前缀匹配失败, 判断所述步骤A2所选择的前缀组中是否还存在未进行匹配处理的前缀,如果 是,返回步骤A3,否则返回步骤A2。优选的,上述的方法中,所述步骤B中,所述判断所述剩余部分是否与 所述第一后缀号码特征相匹配具体包括逐位判断所述剩余部分是否与所述第 一后缀号码特征所定义的第 一后缀相匹配如果所述剩余部分与所述第一后缀的长度相等,且所述剩余部分与所述第 一后缀的对应位都匹配,则判断本次用户号码接收完全,停止接收用户拨号并 携带所述号码序列发起呼叫;如果所述第一后缀的长度大于所述剩余部分,且所述剩余部分中的每一位 都与所述第 一后缀中的对应位相匹配,则判断当前一轮的号码匹配中存在部分 匹配,返回步骤A2;如果所述剩余部分中存在与所述第一后缀不相匹配的对应位,则返回步骤A2。优选的,上述的方法中,所述后缀号码特征是后缀长度特征,所述第一后 缀号码特征是所述匹配成功的前缀所属前缀组对应的后缀长度,所述步骤B中,所述判断所述剩余部分是否与所述第一后缀号码特征相匹配具体包括的长度小于所述对应的后缀长度,则判断当前一轮的号码匹配中存在部分匹 配,返回步骤A2;若所述剩余部分的长度等于该前缀组对应的后缀长度,则 判断本次用户号码接收完全,停止接收用户拨号并携带所述号码序列发起呼 叫。优选的,上述的方法中,所述将VoIP应用中的所有用户号码划分成前缀 和后缀两部分是将VoIP应用中的用户号码中的国内长途区号部分划分为前缀,将VoIP应用中的用户号码中的市话号码部分、手机号码部分和特服号码 部分划分为后缀。优选的,上述的方法中,所述前缀包括至少两级子前缀,所述前缀组包括 至少两级子前缀组,在每一前缀组中,由该前缀组的各级子前缀组中的子前缀所形成的所有排列与该前缀组所包括的前缀相同;所述步骤A中,所述将各个前缀组中的前缀分别与所述号码序列中的对 应部分相匹配是将每一前缀组的各级子前缀组中所包括的子前缀,分别与所 述号码序列中与该子前缀对应的部分相匹配,如果该前缀组的各级子前缀组中 都存在匹配的子前缀,则判断由匹配的各级子前缀所构成的前缀与所述号码序 列中的对应部分匹配成功。一种语音网关,在VoIP应用中收集用户号码,包括号码管理单元,用于保存各前缀组所包括的前缀以及各前缀组对应的后缀 号码特征,其中,所述前缀组是通过将VoIP应用中的所有用户号码划分成前 缀和后缀两部分后,由后缀号码特征相同的用户号码所具有的前缀所组成;前缀匹配单元,用于接收用户拨入的号码序列,并将所述号码管理单元保后缀匹配单元,用于将所述号码序列截去所述前缀匹配单元匹配成功的前 缀后得到剩余部分,并判断所述剩余部分是否与第一后缀号码特征相匹配,如 果匹配,则判断本次用户号码接收完全,其中,所述第一后缀号码特征是所述 匹配成功的前缀所属前缀组对应的后缀号码特征。优选的,上述的语音网关,还可以包括所述号码序列发起呼叫。优选的,上述的语音网关中,所述后缀号码特征是后缀的号码长度特征, 所述第一后缀号码特征是所逸匹配成功的前缀所属前缀组对应的后缀长度,所述后缀匹配单元,进一步用于在所述剩余部分的长度等于所述对应的后 缀长度时,判断本次用户号码接收完全。优选的,上述的语音网关中,所述号码管理单元,进一步用于通过将所述 前缀划分成至少两级子前缀,将每个前缀组划分为至少两级子前缀组,使得由该前缀组的各级子前缀组中的子前缀所形成的所有排列与该前缀组所包括的前缀相同;所述前缀匹配单元,进一步用于将每一前缀组的各级子前缀组中所包括的 子前缀,分别与所述号码序列中与该子前缀对应的部分相匹配,如果该前缀组 的各级子前缀组中都存在匹配的子前缀,则判断由匹配的各级子前缀所构成的 前缀与所述号码序列中的对应部分匹配成功。优选的,上述的语音网关中,所述前缀是VoIP应用中的用户号码的区号 部分,所述后缀是VoIP应用中的用户号码中的市话号码部分、手机号码部分或特服号码部分。从以上所述可以看出,本发明提供的 一种在因特网协议语音应用中的号码 收集方法及语音网关,不改变用户拨号习惯(不需要用户拨附加的号码终结 符),在用户拨号完成后能够立即发起呼叫。本发明中通过将用户号码分组管 理,使得语音网关处配置的号码规则数量大大降低。同时,上述方案也有利于 号码规则的维护和管理,不会随着区号的增加而大幅增长或大幅修改配置,同 时,也有利于号码规则的维护和管理,不会随着区号的增加而大幅增长或大幅 修改配置。并且,本发明还可以通过将前缀进一步划分为多级子前缀,进一步降低号码配置和维护的工作量,使得本发明的方案更适用于大型VoIP组网。


图1为为现有技术的一种常见的VoIP组网示意图; 图2为现有技术的一种用户号码收集的流程图; 图3为现有技术的另一种用户号码收集的流程图; 图4为本发明第一实施例所述用户号码收集的流程图; 图5为本发明第四实施例所述用户号码收集的流程图; 图6为本发明第一实施例所述语音网关的结构示意图。
具体实施方式
本发明所提供的一种在因特网协议语音应用中的号码收集方法及语音网 关,将用户号码划分成多个组成部分,对VoIP网络中的用户号码进行分组管理,从而大幅度降低了语音网关处所需配置的号码规则的数量,同时也简化了 号码规则的维护。以下结合附图通过多个具体实施例对本发明做详细的说明。本说明书中,市话号码是指不包括手机号码和特服号码的本地的固定电话 号码。为了方便说明,以下各个实施例中,市话号码或后缀的号码特征都是以 号码长度特征为例进行说明。<第一实施例>本实施例以中国境内的国内长途呼叫为例,用户号码一般由国内长途区号 和市话号码等两个部分组成,这些组成部分常常又是变长的。也正是由于每个 部分的长度不是固定的,因而导致一般号码策略方案很复杂。目前,中国的长途区号可包括3位号长和4位号长两种,市话号码包括7位号长和8位号长两 种》本实施例中,将可变长的各个用户号码组成部分,分开进行管理。对中国 的全国长途用户号码,4艮据市话号码的长短(7位或8位),将区号进行分组。 这样,中国的区号只需要分为两个区号组(分别对应于7位市话号码和8位市 话号码)就可以了,而区号的本身长度和分组没有关系。再针对各区号組,配 置相应的号码规则。由于只有两个区号组,因此,只需要配置两条号码规则即 可。可以看出,本实施例方案是将用户号码划分成区号部分和市话号码部分,特征的区号归属于同一区号组,再将号码特征与区号组相对应。为了更为清楚 的说明本实施例中的号码规则的配置,以下仍以背景^t术中所述另 一种语音网 关收集用户号码的方法中的举例进行说明北京的语音网关涉及到的区号包括021、 0310、 0311、 0312、 0313、 0314、 0315、 0316、 0317、 0318、 0319、 0335等12个。其中,区号021和0311对 应的市话号码长度为8位,其他区号对应的市话号码长度为7位,因此,具体 配置如下将上述所有区号都归属到两个区号组中,这两个区号组分别对应于7、 8 位长度的市话号码(fj匕的区号。 区号组1说明对应于8位长度的市话号码 该区号组所包括的区号021,0311 区号组2说明对应于7位长度的市话号码该区号组所包4舌的区号0310, 0312, 0313, 0314, 0315, 0316, 0317, 0318,0319,0335再针对上述两个区号组,配置两条号码规则 号码规则1区号组区号组l f^^if+^i£: 申"i^f^^4p》力承承承伞,承承承承 呼叫路由VoIP Server的地址 号码规则2区号组区号组2 号码特征市话号码部分为***,**** 呼叫^各由VoIP Server的地址 具体的,在接收用户拨号的过程中,本实施例中语音网关处号码收集的流 程如图4所示,包括以下步骤步骤41,语音网关每接收到一位号码后,开始新一轮的号码规则匹配, 进入步骤42。步骤42,语音网关判断在当前一轮的号码规则匹配中,是否还有未进行 匹配处理的号码规则,如果有,则进入步骤43,否则,进入步骤48。步骤43,从未进行匹配处理的号码规则中选择一个号码规则(假设选择 了号码MJ'Jl),以进行匹配处理,进入步骤44。步骤44,由于号码规则1中用户号码的区号组为区号组1,区号组l中包 括有021和0311这两种区号。语音网关首先判断在当前一轮的号码规则匹配 中,区号组l中是否有未进行匹配处理的区号,如果有,则进入步骤45;否 则返回步骤42。步骤45,语音网关从区号组l中在当前一轮的号码规则匹配中未进行匹 配处理的区号中,选择一个区号后,进入步骤46,以对该区号进行匹配处理。步骤46,首先将当前所收集到的用户拨入的号码序列中的对应部分与步 骤45中所选区号进行匹配。具体的匹配方式可以是从该区号和号码序列的 第一位开始,逐位进行匹配。这里,由于当前收集的号码序列的长度可能小于该区号的长度,因此,匹 配结果有以下三种情况1 )该区号(假设为021 )的每一位都与所述号码序列中的对应位相同(即 所述号码序列的前三位也是021 ),则判断匹配成功,进入步骤47,以对市话 号码继续进行匹配;2)该区号的长度大于所述号码序列的当前长度,且所述号码序列中的每 一位都与区号021中的对应位相同(例如,WH殳该区号为021,所述号码序列 只有2位,且为"02"),此时,即判断出现部分匹配的情形,返回步骤44, 以继续对区号组1中的其它区号进行匹配;3 )该区号所述号码序列中存在不相同的对应位(例如,假设该区号为021, 所述号码序列为04***),此时,该区号匹配失败,返回步骤44,以继续对区 号组l中的其它区号进行匹配。步骤47,由于区号组1对应的市话号码的号码特征是市话号码为8位任 意号码,因此,可以按照以下方式判断用户号码是否接收完全将所述号码序 列截去步骤46中所匹配的区号后,判断剩余部分的长度是否为8位,如果剩 余部分的长度小于8位,则说明号码还未接收完全,此时返回步骤42,以继 续对其它号码规则进行匹配;如果剩余部分的长度刚好为8位,则说明号码已 经接收完全,此时停止接收用户拨号,并携带所述号码序列发起呼叫。步骤48,语音网关停止接收用户拨入的号码,根据匹配的号码规则中所 定义了呼叫路由,发起呼叫,所述呼叫中携带有接收完全的的用户号码。步骤48,如果所有号码规则在当前一轮的号码规则匹配中都已进行了匹 配处理,则语音网关判断在当前一轮的号码匹配中是否存在部分匹配的情况 如果是,则返回步骤41,以继续接收用户拨号;否则,停止接收用户拨号, 并终止呼叫。本实施例中,将用户号码划分成区号和市话号码两部分,然后,将市话号 码长度相同的区号归属于一个区号组。在用户拨号过程中,语音网关判断出接收到的号码序列所对应的区号组,进而根据该区号组确定市话号码的长度,从 而可以判断出用户号码是否收集完全,并在判断收集完全时,发起呼叫。由于 区号是按照特定的规则预先编码后的,对于区号相同的用户号码,其市话号码 的长度都是相同的。因此,上述实施例的本质是,将用户号码划分成前缀(如 区号)和后缀(如市话号码)两部分,并将后缀长度相同的用户号码的前缀归属于一个前缀组(如区号组);进而,在用户拨号的过程中,接收用户输入的配,如果匹配成功,则#4居该匹配上的前缀所属前缀组所对应的后缀长度,判 断用户号码接收是否完全,并在用户号码接收完全时发起呼叫。从以上所述可以看出,相对于现有技术而言,上述实施例所述号码收集的 方案不改变用户拨号习惯(不需要用户拨附加的号码终结符),在用户拨号完 成后能够立即发起呼叫。并且,上述方案使得语音网关处配置的号码规则数量 大大降低。同时,上述方案也有利于号码规则的维护和管理,不会随着区号的 增加而大幅增长或大幅^ff改配置。例如,在增加新区号后,只需要根据该新区号后的市话号码的长度,在区号组1 (对应于8位市话号码)或者区号组2(对 应于7位市话号码)中增加相应区号即可,而号码规则的配置不需要修改,号 码规则的数量也不会增加。而且,本实施例所述方案号码规则的调整和维护也 变得很简单,具有良好的扩展性。例如,当0310区号对应的市话号码发生升 位,由原来的7位升到8位,那么,只需要将区号组2中的0310移到区号组 1中即可,其他配置无须^^改。 <第二实施例>第 一实施例中以市话号码为例进行说明,本实施例中进一步考虑到用户号 码还可能包括手机号码和特服号码等情形。目前,VoIP应用中,拨打外地的手机号码时通常需要在手机号码前面加 拨该手机号码所属地区的区号。类似的,拨打特服号码也需加拨区号。以中国 大陆为例,目前,手机号码一共ll位,其中前3位包括130 ~ 139, 153-159 等组合;特服号码包括110、 119、 120、 122、 95558和96169等多种组合。而 根据电话号码编码规则,市话号码的第一位不会取1、 9等数字。本实施例中,仍以第一实施例中上海、河北的区号为例。为了简化说明,本实施例没有包括特服号码,特服号码的实现原理完全相同。为了描述方便,本实施例中假设河北的区号只有0311 (对应于8位市话号码)和0312 (对应 于7位市话号码)两种,上海和河北的用户号码都有以下特征手机号码的前 3位为130- 139,且市话号码的第一位只能是6、 7和8三种情况。对于更多 可能存在的号码,其实现原理相同。本实施例将各种用户号码都划分成前缀和后缀两部分。为了区分手机号码 和市话号码,这里,将市话号码的第一位划分到前缀中,将手;f几号码的前三位划分到前缀中。因此,按照与第一实施例中的相类似的方法,可以设置以下号前缀组1说明对应于8位长度的后缀前缀组1所包括的前缀021130 021139、 0311130 0311139 、 0312130~0312139 前缀组2说明对应于7位长度的后缀前缀组2所包括的前缀0216-0218, 03116 ~ 03118 前缀组3说明对应于6位长度的后缀前缀组3所包括的前缀03126-03128 配置三条号码规则 号码规则1前缀组前缀组1后缀的号码特征后缀部分为****,**** 呼叫^各由VoIP Server的地址 号码规则2 " 前缀组前缀组2后缀的号码特征后缀部分为***,**** 呼叫路由VoIP Server的地址 号码规则3码规则:前缀组前缀组3后缀的号码特征后缀部分为**,**** 呼叫; 各由VoIP Server的地址 这样,在用户拨号的过程中,语音网关接收用户输入的号码序列,并将各 个前缀组中的前缀分别与所述号码序列中的对应部分相匹配,如果匹配成功, 则根据该匹配的前缀所属前缀组所对应的后缀长度,判断用户号码收集是否完 成,并在用户号码收集完成时发起呼叫。 <第三实施例>第二实施例中将用户号码划分为前缀和后缀两个组成部分,本发明还可以 将用户号码划分成两个以上的组成部分。本实施例就是在第二实施例中基础上 将用户号码划分成三个组成部分。本实施例进一步通过将所述前缀划分成两级子前缀,将每个前缀组划分为 两级子前缀组,使得由该前缀组的各级子前缀组中的子前缀所形成的所有排列 与该前缀组所包括的前缀相同。为了更容易理解上述划分原则,以下以第二实施例中的前缀组1 ~3进行 说明。请参照表l所示,将前缀分成第一级子前缀和第二级子前缀。在每个前 缀组中,由每一级子前缀在该前缀组中的所有子前缀组成该前缀组的每一级子 前缀组。例如,前缀组1中包括有021130 021139、 0311130-0311139、 0312130 0312139这些前缀,这里,将区号作为第一级子前缀,将手机号码的 前三位作为第二级子前缀,这样,就由021、 0311 0312组成前缀组1的第一 级子前缀组,由130 139组成前缀组1的第二级子前缀组。其中,由前缀组1 的笫一级子前缀组和第二级子前缀组中的子前缀所形成的所有排列(即从集合 { 021、0311 0312 }和集合{ 130 139 }中各取一个子前缀所形成的所有排列) 与前缀组1中所包括的前缀相同。对于前缀组2和前缀组3,按照相同方式进 行划分,最后的划分结果如表1所示。前缀组第一级子前缀组第二级子前缀组后缀的长度前缀组1021、 0311~0312130~1398位号长前缀组2021、 03116 87位号长前缀组303126 86位号长19表1这样,本实施例中配置以下前缀组信息和号码规则 第一级子前缀组1第一级子前缀组1包括的子前缀021、 0311 0312 第一级子前缀组2第一级子前缀组2包括的子前缀021、 0311 第一级子前缀组3第一级子前缀组3包括的子前缀0312 第二级子前缀组1说明上级子前缀组为第一级子前缀组1第二级子前缀组1包^^的子前缀130~139 第二级子前缀组2说明上级子前缀组为第一级子前缀组2第二级子前缀组1包括的子前缀6 8 第二级子前缀组3说明上级子前缀组为第一级子前缀组3第二级子前缀组1包括的子前缀6 8 号码规则1说明上级子前缀组为第二级子前缀组1后缀的号码特4正后缀部分为****,****呼叫3各由VoIP Server的地址 号码规则2说明上级子前缀组为第二级子前缀组2后缀的号码特征后缀部分为***,****呼叫^各由VoIP Server的地址 号码规则3说明上级子前缀组为第二级子前缀组3后缀的号码特征后缀部分为* *, * * * *呼叫;咯由VoIP Server的地址 这样,通过以上配置后,每接收到一位号码后,语音网关将当前收集到的 号码序列,分别与各条号码规则相匹配,具体包括根据当前号码规则中定义 的上级子前缀组,找到该号码规则对应的第二级子前缀组;进而,根据该第二 级子前缀组中定义的第一级子前缀组信息,找到该号码5現则对应的第一级子前 缀组;然后,依次将所述号码序列中与各级子前缀对应的部分,与所述前缀组 的第一、第二级子前缀组中的子前缀相匹配,如果都匹配上,则判断由匹配上 的第一、第二级子前缀所构成的前缀与所述号码序列中的对应部分匹配成功,如果接收完全,则根据当前号码规则中的呼叫路由,并携带所述号码序列发起 呼叫。本实施例的优点在于,通过将前缀组进一步划分为多级子前缀组,该前缀 组的各级子前缀组中的子前缀数的乘积等于该前缀组中所包括的前缀个数,本 实施例方案可进一步筒化配置,方便了后期维护。在大型VOIP组网中,通常 区号数量能够达到几十个甚至上百个,在这种情况下上述优点更为突出。例如, 在本实施例中,如果前缀组1中的区号数量变成80个,第二级子前缀组中还 是包括130 ~ 139这10子前缀。按照第二实施例在前缀组1中需要配置的前缀 有800个。而本实施例只需在前缀组1的第一、第二级子前缀组中配置80和 10个子前缀即可。因此,本实施例可以进一步降低号码配置的工作量,也方 便了后期的管理维护。例如,在后期需要增加或删除某个区号时,只需在相应 的子前缀组中进行一次增加或删除操作即可,不需要前缀组中逐个查找与该区 号相关的条目并进行相应的增加或删除操作。<第四实施例〉以上各个实施例中,市话号码或后缀的号码特征都是以市话号码或后缀的 号码长度特征为例进行说明。本发明并不局限于上述长度特征。本发明的思想 是将用户号码划分成包括后缀的多个组成部分,然后将后缀号码特征相同的用 户号码的前缀归属到同一前缀组,从而只需为后缀号码特征相同的所有用户号 码配置一条号码规则,以达到降低需要配置的号码规则数量等目的。长度特征 只是其中优选的一种,此处不能一一穷尽。故使用者可以根据本发明之精神,结合其VoIP网络的具体应用环境,设置合适的号码特征。以下是一些较佳的后缀的号码特征的举例后缀的号码特征后缀部分为9,**** 后缀的号码特征后缀部分为1** 后缀的号码特征后缀部分为[6|7|8]***,**** 其中,[6|7|8]表示在6、 7和8中任选的一个号码。本实施例以一般的后缀号码特征为例说明本发明是如何判断用户号码方 是否接收完全的。本实施例中,预先将VoIP应用中的所有用户号码划分为前 缀和后缀两部分,再将后缀号码特征相同的用户号码所具有的前缀划分到同一 前缀组中,这样,该前缀组就唯一对应一个后缀号码特征。例如,假设当前 VoIP应用中所有用户号码包括如下所示的"021+八位市话号码","021+十一 位手机号码","0311+八位市话号码,,和"0311+十一位手才几号码"的这四大 类021,[6|7|8]***,**** 021 13* **** ****0311, [6j7|8]***,**** 0311 13* **** ****如果这里将用户号码的区号作为前缀,将除区号外的其它部分作为后缀, 那么,按照上述划分原则对上述四大类用户号码进行划分"021,[6|7j8]***,****,,和"0311, [6|7|8]***,****"这两大类用户号码的后 缀号码特征相同,都是"[6|7|8]***,****",因此,将该两大类用户号码的前缀 划分到一个前缀组,假设为前缀组1,那么,前缀组1中就包括"021"和"0311" 两个前缀,该前缀组1对应的后缀号码特征为"[6|7|8]***,****";而"021,13*,****,****"和"0311,13*,****,****"这两类用户号码的后缀 号码特征都是"13*,****,****,,,因此,可以将它们的前缀划分到同一个前缀组,^假设为前缀组2,那么,前缀组2也包4舌"021"和"0311"两个前缀, 但该前缀组2对应的后缀号码特征为"13*,****,****"。按照上述划分原则,得到两个前缀组。可以看出,不同前缀组中可能包括 相同的前缀,同一前缀可能同时属于多个前缀组。但是,不同前缀组却分别对应不同的后缀号码特征,即每个前缀组只能唯一对应一个后缀号码特征。本实施例中语音网关处号码收集的流程如图5所示,包括以下步骤步骤51,语音网关接收用户拨入的号码序列,在每接收到用户拨入的一 位号码后,开始新一豸仑的号码匹配,进入步骤52;步骤52,判断当前一轮的号码匹配中,是否有未进行匹配处理的前缀组, 如果是,则进入步骤53;否则,进入步骤58;步骤53,从未进行匹配处理的前缀组中选择一个前缀组,进入步骤54;步骤54,判断步骤53中所选择的前缀组中,是否存在在当前一轮的号码 匹配中尚未进行匹配处理的前缀,如果是,则进入步骤55;否则,返回步骤 52;步骤55,从步骤53中所选择的前缀组中,选^t奪一个在当前一轮的号码匹 配中尚未进^f亍匹配处理的前缀,进入步骤56;步骤56,从当前接收到的用户拨入的号码序列和步骤55中所选择的前缀 的第一位开始,逐位进行匹配如果该前缀的每一位都与所述号码序列中的对应位相同,则判断匹配成 功,进入步骤57;如果该前缀的长度大于所述号码序列,且所述号码序列中的每一位都与该 前缀中的对应位相同,则判断当前一轮的号码匹配中存在部分匹配,返回步骤 54;如果该前缀和所述号码序列中存在不相同的对应位,则该前缀匹配失败, 返回步骤54;步骤57,根据步骤56中匹配成功的前缀所属前缀组,获取该前缀组对应 的后缀号码特征(这里,称作第一后缀号码特征);将所述号码序列截去所述 匹配成功的前缀后得到剩余部分;判断所述剩余部分是否与所述第一后缀号码缀号码特征所定义的第一后缀相匹配如果所述剩余部分与所述第一后缀的长度相等,且所述剩余部分与所述第 一后缀的对应位都匹配,则判断本次用户号码接收完全,停止接收用户拨号并 携带所述号码序列发起呼叫;如果所述第一后缀的长度大于所述剩余部分,且所述剩余部分中的每一位 都与所述第 一后缀中的对应位相匹配,则判断当前一轮的号码匹配中存在部分匹配,返回步骤52;如果所述剩余部分中存在与所述第一后缀不相匹配的对应位,则后缀匹配 失败,返回步骤52;步骤58,判断当前一轮的号码匹配中是否存在部分匹配的情况若是, 则返回步骤51;若否,则停止接收用户拨号并终止呼叫。这样,按照上述流程,语音网关一直接收用户拨入的号码,并在每接收到 用户新拨入的一位号码后,开始进行新一轮的号码匹配对所有前缀组中的每 个前缀都与当前接收到的号码序列中的对应部分相匹配,直到判断用户号码接 收完全时停止接收用户拨号并发起呼叫,或者直到所有前缀组中的前缀都匹配 完且当前一轮号码匹配中不存在部分匹配的情形时,停止接收用户拨号并终止 呼叫。最后,基于以上号码收集方法的实施例,本发明还提供了一种语音网关的 实施例,在VoIP应用中收集用户号码。如图6所示,该语音网关60包括号码管理单元61,用于保存各前缀组所包括的前缀以及各前缀组对应的 后缀号码特征,其中,所述前缀组是通过将VoIP应用中的所有用户号码划分 成前缀和后缀两部分后,由后缀号码特征相同的用户号码所具有的前缀所組 成;前缀匹配单元62,用于接收用户拨入的号码序列,并将所述号码管理单 元61保存的前缀分别与所述号码序列中的对应部分进行匹配;后缀匹配单元63,用于将所述号码序列截去所述前缀匹配单元62匹配成 功的前缀后得到剩余部分,并判断所述剩余部分是否与第一后缀号码特征相匹 配,如果匹配,则判断本次用户号码接收完全,其中,所述第一后缀号码特征 是所述匹配成功的前缀所属前缀组对应的后缀号码特征;呼叫单元64,用于在所述后缀匹配单元63判断本次用户号码接收完全时, 携带所述号码序列发起呼叫。这里,所述号码管理单元61,还可以进一步将用户号码中的区号部分划 分为前缀,将用户号码中的市话号码部分、手机号码部分或特服号码部分划分为后缀。所述后缀号码特征具体的可以是后缀的号码长度特征,所述第一后缀 号码特征可以是所述匹配成功的前缀所属前缀组对应的后缀长度,此时,所述
后缀匹配单元63,还可以进一步在所述剩余部分的长度等于所述对应的后缀
长度时,判断本次用户号码接收完全。
这里,所述号码管理单元61,还可以进一步通过将所述前缀划分成至少 两级子前缀,将每个前缀组划分为至少两级子前缀组,使得由该前缀组的各级 子前缀组中的子前缀所形成的所有排列与该前缀组所包括的前缀相同;所述前 缀匹配单元62,进一步用于将每一前缀组的各级子前缀组中所包括的子前缀, 分别与所述号码序列中与该子前缀对应的部分相匹配,如果该前缀组的各级子 前缀组中都存在匹配的子前缀,则判断由匹配的各级子前缀所构成的前缀与所 述号码序列中的对应部分匹配成功。
综上所述,本发明实施例所述在VoIP应用中的号码收集方法及语音网关, 通过将用户号码分组进行管理,在保证不改变用户拨号习惯和当用户拨完号码 立即发起呼叫的情况下,简化了语音网关处的号码规则配置,方便了后期的维 护管理。
本发明所述的一种在VoIP应用中的号码收集方法及语音网关,并不^f义仅 限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领 域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在 不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明 并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
权利要求
1. 一种因特网协议语音VoIP应用中的用户号码的收集方法,其特征在于,包括以下步骤A,在用户拨号的过程中,接收用户拨入的号码序列,并将预先保存的各个前缀组中的前缀分别与所述号码序列中的对应部分相匹配,其中,所述前缀组是通过将VoIP应用中的所有用户号码划分为前缀和后缀两部分后,由后缀号码特征相同的用户号码所具有的前缀所组成;B,将所述号码序列截去步骤A中匹配成功的前缀后得到剩余部分,并判断所述剩余部分是否与第一后缀号码特征相匹配,如果匹配,则判断本次用户号码接收完全,其中,所述第一后缀号码特征是所述匹配成功的前缀所属前缀组对应的后缀号码特征。
2. 如权利要求l所述的方法,其特征在于,所述步骤A具体包括 步骤Al,接收用户拨入的号码序列,在每接收到用户拨入的一位号码后,开始新一4仑的号码匹配,进入步骤A2;步骤A2,判断当前一轮的号码匹配中,是否有未进行匹配处理的前缀组, 如果有,则选择其中一个前缀组,进入步骤A3;否则,判断在当前一轮的号 码匹配中是否存在部分匹配的情况若是,则返回步骤Al,若否,则停止接 收用户拨号并终止呼叫;步骤A3,从步骤A2中所选择的前缀组中选择一个在当前一轮的号码匹 配中尚未进行匹配处理的前缀,进入步骤A4;步骤A4,从所述号码序列和步骤A3中所选择的前缀的第一位开始,逐 位进行匹配如果该前缀的每一位都与所述号码序列中的对应位相同,则判断匹配成 功,进入步骤B;如果该前缀的长度大于所述号码序列,且所述号码序列中的每一位都与该 前缀中的对应位相同,则判断当前一轮的号码匹配中存在部分匹配,并返回步 骤A3;如果该前缀和所述号码序列中存在不相同的对应位,则该前缀匹配失败,判断所述步骤A2所选择的前缀组中是否还存在未进行匹配处理的前缀,如果 是,返回步骤A3,否则返回步骤A2。
3. 如权利要求2所述的方法,其特征在于,所述步骤B中,所述判断所 述剩余部分是否与所述第 一后缀号码特征相匹配具体包括逐位判断所述剩余 部分是否与所述第一后缀号码特征所定义的第一后缀相匹配如果所述剩余部分与所述第一后缀的长度相等,且所述剩余部分与所述第 一后缀的对应位都匹配,则判断本次用户号码^接收完全,停止接收用户拨号并 携带所述号码序列发起呼叫;如果所述第一后缀的长度大于所述剩余部分,且所述剩余部分中的每一位 都与所述第一后缀中的对应位相匹配,则判断当前一轮的号码匹配中存在部分 匹配,返回步骤A2;如果所述剩余部分中存在与所述第一后缀不相匹配的对应位,则返回步骤A2。
4. 如权利要求2所述的方法,其特征在于,所述后缀号码特征是后缀长 度特征,所述第一后缀号码特征是所述匹配成功的前缀所属前缀组对应的后缀 长度,所述步骤B中,所述判断所述剩余部分是否与所述第一后缀号码特征 相匹配具体包括比较所述剩余部分的长度和所述对应的后缀长度的大小若所述剩余部分 的长度小于所述对应的后缀长度,则判断当前一轮的号码匹配中存在部分匹 配,返回步骤A2;若所述剩余部分的长度等于该前缀组对应的后缀长度,则 判断本次用户号码接收完全,停止接收用户拨号并携带所述号码序列发起呼 叫。
5. 如权利要求l所述的方法,其特征在于,所述将VoIP应用中的所有用 户号码划分成前缀和后缀两部分是将VoIP应用中的用户号码中的国内长途区 号部分划分为前缀,将VoIP应用中的用户号码中的市话号码部分划分为后缀。
6. 如权利要求l所述的方法,其特征在于,所述将VoIP应用中的所有用 户号码划分成前缀和后缀两部分是将VoIP应用中的用户号码中的国内长途区 号部分划分为前缀,将VoIP应用中的用户号码中的市话号码部分、手机号码 部分和特服号码部分划分为后缀。
7. 如^f又利要求1至6任一项所述的方法,其特征在于,所述前缀包括至 少两级子前缀,所述前缀组包括至少两l^子前缀组,在每一前缀组中,由该前 缀组的各级子前缀组中的子前缀所形成的所有排列与该前缀组所包括的前缀 相同;所述步骤A中,所述将各个前缀组中的前缀分别与所述号码序列中的对 应部分相匹配是将每一前缀组的各级子前缀组中所包^r的子前缀,分别与所 述号码序列中与该子前缀对应的部分相匹配,如果该前缀组的各级子前缀组中 都存在匹配的子前缀,则判断由匹配的各级子前缀所构成的前缀与所述号码序 列中的对应部分匹配成功。
8. —种语音网关,在VoIP应用中收集用户号码,其特征在于,包括 号码管理单元,用于保存各前缀组所包括的前缀以及各前缀组对应的后缀号码特征,其中,所述前缀组是通过将VoIP应用中的所有用户号码划分成前 缀和后缀两部分后,由后缀号码特征相同的用户号码所具有的前缀所组成; 前缀匹配单元,用于接收用户拨入的号码序列,并将所述号码管理单元保后缀匹配单元,用于将所述号码序列截去所述前缀匹配单元匹配成功的前 缀后得到剩余部分,并判断所述剩余部分是否与第一后缀号码特征相匹配,如 果匹配,则判断本次用户号码接收完全,其中,所述第一后缀号码特征是所述 匹配成功的前缀所属前缀组对应的后缀号码特征。
9. 如权利要求8所述的语音网关,其特征在于,还包括呼叫单元,用于在所述后缀匹配单元判断本次用户号码接收完全时,携带 所述号码序列发起呼叫。
10. 如权利要求8或9所述的语音网关,其特征在于,所述后缀号码特征 是后缀的号码长度特征,所述第一后缀号码特征是所述匹配成功的前缀所属前 缀组对应的后缀长度,所述后缀匹配单元,进一步用于在所述剩余部分的长度等于所述对应的后 缀长度时,判断本次用户号码接收完全。
11. 如权利要求8所述的语音网关,其特征在于,所述号码管理单元,进一步用于通过将所述前缀划分成至少两级子前缀,将每个前缀组划分为至少两级子前缀組,^f吏得由该前缀组的各级子前缀组中的子前缀所形成的所有排列与该前缀组所包括的前缀相同;所述前缀匹配单元,进一步用于将每一前缀组的各级子前缀组中所包括的 子前缀,分别与所述号码序列中与该子前缀对应的部分相匹配,如果该前缀组 的各级子前缀组中都存在匹配的子前缀,则判断由匹配的各级子前缀所构成的 前缀与所述号码序列中的对应部分匹配成功。
12.如权利要求8所述的语音网关,其特4正在于,所述前缀是VoIP应用 中的用户号码的区号部分,所述后缀是VoIP应用中的用户号码中的市话号码 部分、手机号码部分或特服号码部分。
全文摘要
本发明提供了一种在因特网协议语音应用中的号码收集方法及语音网关。本发明所述方法包括步骤A,接收用户拨入的号码序列,并将预先保存的各个前缀组中的前缀分别与所述号码序列中的对应部分相匹配,其中,所述前缀组是通过将VoIP应用中的所有用户号码划分为前缀和后缀两部分后,由后缀号码特征相同的用户号码所具有的前缀所组成;B,将所述号码序列截去步骤A中匹配成功的前缀后得到剩余部分,并判断所述剩余部分是否与第一后缀号码特征相匹配,如果匹配,则判断本次用户号码接收完全,其中,所述第一后缀号码特征是所述匹配成功的前缀所属前缀组对应的后缀号码特征。按照本发明所述方法和语音网关,可简化号码规则的配置,方便后期维护管理。
文档编号H04M7/00GK101252625SQ200810103100
公开日2008年8月27日 申请日期2008年3月31日 优先权日2008年3月31日
发明者灏 黄 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1