Cisco 路由器可以在 En bloc 或重叠模式下接收 ISDN 呼叫。当配置为 En bloc 时,设置消息应包含路由呼叫所需全部寻址信息。在重叠模式下,设置消息不包含完整地址。要将被叫地址补充完整,需要从呼叫方获得更多消息。
在配置 Cisco 路由器在重叠模式下接收 ISDN 呼叫时,经常犯的一个错误是拨号对等体配置不正确。这会导致被叫号码接收错误,从而导致呼叫失败。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本文读者应该熟悉以下知识:
在 Cisco 路由器上配置 ISDN
拨号对等体和 IP 语音 (VoIP) 基础知识
本文档中的信息基于以下软件和硬件版本:
Cisco IOS® 软件版本 12.2.(7)a
C3640 路由器
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
在 D 通道上配置重叠接收会更改路由器在接收 ISDN 呼叫时的行为方式。路由器以 SETUP ACK 响应设置消息。这会通知网络路由器已准备好,可以接收包含其他呼叫路由元素的更多消息。
当拨号对等体中使用的目标号码长度与所接收的被叫号码长度不同时,会发生此问题。如下所示,目标号码经过汇总反映了以相同数字开始的一个号码范围:
目标号码范围是 5000 至 5600。
可针对目标模式 5 配置拨号对等体。
这种拨号计划在 En bloc 模式下工作正常,但用于重叠接收路由器时,它会尝试在收到足够的数字以与目标号码匹配后再发出呼叫。在本例中,是在收到 5 个数字之后。要防止这种情况的发生,应在目标模式中的数字后放置“T”终止符。这会使路由器在接收每个数字后等待 T302 计时器到期,从而在发出呼叫前收集到完整的号码。
下面是一个导致呼叫失败的配置示例:
! interface Serial3/0:15 no ip address no logging event link-status isdn switch-type primary-qsig isdn overlap-receiving isdn incoming-voice voice isdn send-alerting no cdp enable ! ! voice-port 3/0:15 ! dial-peer cor custom ! ! dial-peer voice 1 voip destination-pattern 5 session target ipv4:10.0.0.1 ! !
debug ISDN Q931 和 debug voip ccapi inout 命令已启用。为清晰起见,我们省略了一些调试。
ECV-3640-2# *Mar 2 01:47:05.705: ISDN Se3/0:15: RX <- SETUP pd = 8 callref = 0x001A *Mar 2 01:47:05.705: Bearer Capability i = 0x8090A3 *Mar 2 01:47:05.709: Channel ID i = 0xA9839B *Mar 2 01:47:05.709: Facility i = 0x91AA068001008201008B0102A11 402025CA002013B300B30090A01050A01030A0104 *Mar 2 01:47:05.713: Facility i = 0x91AA068001008201008B0100A10 C02025CB006042B0C09008400 *Mar 2 01:47:05.713: Calling Party Number i = 0x00, 0x83, '5000', Plan:Unknown, Type:Unknown *Mar 2 01:47:05.717: Called Party Number i = 0x80, '5', Plan:Unknown, Type:Unknown *Mar 2 01:47:05.717: High Layer Compat i = 0x9181 !--- An incoming call with the first digit of called number 5. *Mar 2 01:47:05.729: ISDN Se3/0:15: TX -> SETUP_ACK pd = 8 callref = 0x801A *Mar 2 01:47:05.729: Channel ID i = 0xA9839B *Mar 2 01:47:06.385: ISDN Se3/0:15: RX <- INFORMATION pd = 8 callref = 0x001A *Mar 2 01:47:06.385: Called Party Number i = 0x80, '5', Plan:Unknown, Type:Unknown !--- An information message with the next digit 5. *Mar 2 01:47:06.393: ccCallSetupRequest numbering_type 0x80 *Mar 2 01:47:06.393: ccCallSetupRequest encapType 2 clid_restrict_disable 1 null_orig_clg 0 clid_transparent 0 callingNumber 5000 *Mar 2 01:47:06.393: dest pattern 5, called 55, digit_strip 0 *Mar 2 01:47:06.393: callingNumber=5000, calledNumber=55, redirectNumber= display_info= calling_oct3a=83 !--- The router matches received digits 55 with dial peer 1. *Mar 2 01:47:06.421: ccCallDisconnect (callID=0x25, cause=0x1 tag=0x0) *Mar 2 01:47:06.421: ccCallDisconnect (callID=0x24, cause=0x1 tag=0x0) *Mar 2 01:47:06.425: cc_api_call_disconnect_done(vdbPtr=0x62679168, callID=0x24, disp=0, tag=0x0) !--- The call was disconnected from the remote router, because !--- the number is incomplete as only 55 is sent, this fails to match any dial !--- peers (dial peers at remote router were four digits in length). *Mar 2 01:47:06.433: ISDN Se3/0:15: TX -> DISCONNECT pd = 8 callref = 0x801A *Mar 2 01:47:06.433: Cause i = 0x8081 - Unallocated/unassigned number !--- The call was disconnected because of an unallocated/unassigned number. ECV-3640-2# ECV-3640-2# ECV-3640-2# ECV-3640-2#
在本例中,拨叫的号码是 5678。拨号对等体现在增加了“T”终止符,得到了更正。重叠配置中还对 T302 计时器进行了调整,以反映更为实际的配置。默认计时器是 10 秒,在某些情况下可能太长。
interface Serial3/0:15 no ip address no logging event link-status isdn switch-type primary-qsig isdn overlap-receiving T302 2000 !--- The T302 timer is configured to wait for two seconds. isdn incoming-voice voice isdn send-alerting no cdp enable ! ! voice-port 3/0:15 ! dial-peer cor custom ! ! ! dial-peer voice 1 voip destination-pattern 5T !--- The "T" is added to the dial peer. session target ipv4:10.0.0.1 ! end ECV-3640-2# *Mar 2 21:36:10.132: ISDN Se3/0:15: RX <- SETUP pd = 8 callref = 0x0024 *Mar 2 21:36:10.136: Bearer Capability i = 0x8090A3 *Mar 2 21:36:10.136: Channel ID i = 0xA98386 *Mar 2 21:36:10.136: Facility i = 0x91AA068001008201008B0102A114020262A 002013B300B30090A01050A01030A0104 *Mar 2 21:36:10.140: Facility i = 0x91AA068001008201008B0100A10C020262B 006042B0C09008400 *Mar 2 21:36:10.140: Calling Party Number i = 0x00, 0x83, '5000', Plan:Unknown, Type:Unknown *Mar 2 21:36:10.144: Called Party Number i = 0x80, '5', Plan:Unknown, Type:Unknown *Mar 2 21:36:10.144: High Layer Compat i = 0x9181 !--- An incoming call with the first digit of called number 5. *Mar 2 21:36:10.164: ISDN Se3/0:15: TX -> SETUP_ACK pd = 8 callref = 0x8024 *Mar 2 21:36:10.164: Channel ID i = 0xA98386 *Mar 2 21:36:10.360: ISDN Se3/0:15: RX <- INFORMATION pd = 8 callref = 0x0024 *Mar 2 21:36:10.364: Called Party Number i = 0x80, '6', Plan:Unknown, Type:Unknown !--- An information message with the next digit 6. *Mar 2 21:36:10.660: ISDN Se3/0:15: RX <- INFORMATION pd = 8 callref = 0x0024 *Mar 2 21:36:10.664: Called Party Number i = 0x80, '7', Plan:Unknown, Type:Unknown !--- An information message with the next digit 7. *Mar 2 21:36:10.924: ISDN Se3/0:15: RX <- INFORMATION pd = 8 callref = 0x0024 *Mar 2 21:36:10.924: Called Party Number i = 0x80, '8', Plan:Unknown, Type:Unknown !--- An information message with the next digit 8. *Mar 2 21:36:20.168: ccCallSetupRequest encapType 2 clid_restrict_disable 1 null_orig_clg 0 clid_transparent 0 callingNumber 5000 *Mar 2 21:36:20.172: dest pattern 5T, called 5678, digit_strip 0 *Mar 2 21:36:20.172: callingNumber=5000, calledNumber=5678, redirectNumber= display_info= calling_oct3a=83 !--- The router matches received digits 5678 with dial peer 1. *Mar 2 21:36:20.228: ISDN Se3/0:15: TX -> CALL_PROC pd = 8 callref = 0x8024 *Mar 2 21:36:20.420: cc_api_call_cut_progress(vdbPtr=0x6221F1E8, callID=0x38, prog_ind=0x8, sig_ind=0x1) *Mar 2 21:36:20.440: ISDN Se3/0:15: TX -> ALERTING pd = 8 callref = 0x8024 *Mar 2 21:36:20.440: Progress Ind i = 0x8188 - In-band info or appropriate now available !--- The call is successfully routed and the remote phone is ringing. ECV-3640-2#