本文档介绍Cisco IOS®中的语音源组(VSG)功能,该功能允许网关或Cisco Unified Border Element(CUBE)识别源并控制VoIP呼叫的路由。
如果您遇到要通过阻止来自非法IP地址的呼叫信令来实施收费欺诈的情况,则可以使用Cisco IOS 15.1(2)T中引入的收费欺诈防御功能。有关详细信息,请参阅IOS版本15.1(2)T中的“Toll-Fraud Prevention Feature(防止长途电话欺诈)”文章。
但是,如果您有较旧版本的Cisco IOS,或需要这些附加控制,则应考虑VSG功能:
VSG功能允许您识别VoIP呼叫的源,以便为呼叫提供所选服务。这些服务包括号码转换、入站拨号对等体匹配和呼叫接受/拒绝控制。此外,此功能允许您以收费欺诈应用无法的方式控制(允许)呼叫的路由。例如,您可以将语音转换与VSG关联,以便在呼叫到达入站拨号对等体之前控制主叫/被叫号码。此功能非常强大,因为具有相同拨号的呼叫可以通过不同的入站拨号对等体路由。
VSG使用Cisco IOS访问控制列表(ACL)来完成识别。
配置标准IOS ACL以指定接受和处理呼叫的源的IP地址。然后,ACL在关联的VSG中引用。
如果源(传入呼叫)的IP地址在ACL中没有条目,则网关不会将VSG与呼叫关联。这意味着呼叫不受VSG下配置的任何操作影响。
如果要拒绝来自特定IP地址的呼叫,则该IP地址必须包含在ACL下的deny语句中。
或者,配置deny any 语句以拒绝来自未明确允许或拒绝的任何IP地址的呼叫。
传入呼叫被拒绝的原因代码可在VSG下配置。默认情况下,disconnect-cause为no-service。这转换为H.323呼叫的Session Initiation Protocol(SIP)呼叫的500内部服务器错误和ReleaseComplete ,其原因代码为63(Service或选项不可用,未指定)。
用户定义的断开原因包括:
载波ID属性在VSG上配置,以便匹配相关ACL的呼叫使用载波ID进行标记。这允许基于源的IP地址,通过不同运营商路由具有相同被叫号码的呼叫(在出站端)。例如,如果您有两组IP地址,则来自一组地址的呼叫可以流经一个VSG,并可以用一个运营商ID标记,而来自另一组的呼叫(对同一被叫号码)可以用不同的运营商ID标记。示例如下:
voice source-group foo
access-control 98
carrier-id source carrier1
voice source-group bar
access-control 99
carrier-id source carrier2
dial-peer voice 100 pots
carrier-id source carrier1
...
dial-peer voice 200 pots
carrier-id source carrier2
...
ip access-control standard 98
permit 1.1.1.1
ip access-control standard 99
permit 2.2.2.2
deny any any
使用之前的配置,来自1.1.1.1的呼叫通过拨号对等体100路由,来自2.2.2.2的呼叫通过拨号对等体200路由。
中继组标签的工作方式与载波ID类似。传入VoIP呼叫使用已配置的中继组进行标记,然后使用中继组在呼叫通过出站支路路由时选择适当的拨号对等体。
这仅适用于H.323协议,用于将传入H.323呼叫的源区域与VSG匹配。源区域ID在使用H.323V4信令协议并源自H.323网守的传入H.323呼叫中携带。
您可以在IPIPGW上配置多个VSG,其中每个VSG允许或禁止来自不同IP地址集的呼叫。
当有多个VSG时,请小心将deny any ONLY添加到最后一个VSG的ACL中。否则,如果中间ACL已deny any,则如果来自另一个ACL中明确允许的任何IP地址的呼叫在ACL后面加上deny any,则该ACL仍将被拒绝。例如,以下是两个VSG:
voice source-group foo
access-list 98
voice source-group bar
access-list 99
以下是VSG的ACL:
ip access-list standard 98
permit 1.1.1.1
deny any
ip access-list standard 99
permit 2.2.2.2
deny any
在本例中,来自2.2.2.2的呼叫被拒绝,因为允许IP地址的ACL在ACL(98)之后,带有deny any。
您可以使用此命令确认呼叫被拒绝。
Router#test source-group ip-address 2.2.2.2
A source-group is found with ip address=2.2.2.2
An ip address 2.2.2.2 is rejected with disc-cause="no-service"
要允许呼叫,必须从访问列表98中删除deny any。
ip access-list standard 98
permit 1.1.1.1
您可以再次使用test source-group ip 2.2.2.2命令,以验证来自相关IP地址的呼叫是否不再被拒绝。
Router#test source-group ip-address 2.2.2.2
A source-group is found with ip address=2.2.2.2
test source-group <VSG>命令可用于基本验证 — 来自给定IP地址的呼叫是否将由VSG处理。
如上节所述,test source-group <VSG>命令对于发现是否允许或拒绝给定呼叫非常有用。此外,如果允许呼叫,此命令还会显示哪个VSG将路由?来电.同样,如果呼叫将被拒绝,则显示拒绝原因。除IP地址外,此命令还根据其他属性查找路由VSG。
另一个故障排除帮助是debug voice source-group debug命令。例如,当H.323呼叫被拒绝(使用默认原因代码)时,调试会生成以下输出:
092347: .Apr 7 10:53:46.132: SIPG:src_grp_check_config() src_grp or src_grp
acl is defined
092348: .Apr 7 10:53:46.136: %VOICE_IEC-3-GW: H323: Internal Error (H323
Interworking Error): IEC=1.1.127.5.21.0 on callID 264
以下是VSG的一些重要注意事项: