专家教你配置ISDN拨号完成数据建立

网络 通信技术
从Cause code输出信息中我们可以看到,ISDN拨号网络认为没有提供数据呼叫的能力,而在用ISDN拨号做市内数据呼叫是正常的。

专家教你配置ISDN拨号完成数据建立,ISDN拨号设置主要从联接无线路由器和设置ISDN拨号两点介绍路由器的异同,轻轻松松就能完成ISDN拨号设置,没什么难的。赶快进入无线的世界中来吧。

在平常工作中接触的客户或同仁中,经常听说在做长途ISDN拨号是不能建立连接。本人有幸在Cisco网络设备中解决了这个问题,下面将我在工程中遇到的大连到深圳ISDN拨号的问题分析以及解决方法提供出来同大家分享:

下面的配置大连Cisco路由器建立数据呼叫的初始配置:
interface BRI2/0
ip address 10.1.1.1
255.255.255.252
encapsulation ppp
dialer map ip 10.1.1.2 name SZ-Center broadcast 0755XXXXXXX
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
!
dialer-list 1 protocol ip permit

通过ping :
10.1.1.2触发ISDN拨号,发现不能成功建立连接。为了确定故障原因,通过Debug
dialer发现正常触发呼叫,这样,就需要检查电路呼叫是否正常建立,通过在大连Cisco 路由器上Debug isdn q931,获得如下的输出信息:
5w0d: ISDN BR2/0: TX -》 SETUP pd = 8 callref = 0x03
5w0d: Bearer Capability i = 0x8890
5w0d: Channel ID i = 0x83
5w0d: Called Party Number i = 0x80, '07553296145',
Plan:Unknown, Type:Unknown
5w0d: ISDN BR2/0: RX 《- SETUP_ACK pd = 8 callref = 0x83
5w0d: Channel ID i = 0x89
5w0d: ISDN BR2/0: RX 《- DISCONNECT pd = 8 callref = 0x83
5w0d: Cause i = 0x83C1 - Bearer capability not implemented
5w0d: ISDN BR2/0: TX -》 RELEASE pd = 8 callref = 0x03
5w0d: Cause i = 0x80C1 - Bearer capability not implemented
5w0d: ISDN BR2/0: RX 《- RELEASE_COMP pd = 8 callref = 0x83
在上面的输出显示中:Setup中的Bearer Capability

为8890,其中88表示是CTITT标准的、无限制的数据通讯,90表示是一个电路模式的,速度为64K的通讯。Setup_Ack表示交换机接收到呼叫建立信令。DISCONNECT表示从交换机收到一个释放连接信令,在这个信令中包含了一个Cause Code,表示释放呼叫的原因。#p#

从Cause code输出信息中我们可以看到,ISDN拨号网络认为没有提供数据呼叫的能力,而在用ISDN拨号做市内数据呼叫是正常的,因此,可认为是大连到深圳的ISDN线路中间通过了公共电话交换网中继,而ISDN拨号网络不知道如何将数据呼叫转换成语音呼叫,导致交换机拒绝这个连接,为了确认呼叫没有传送到深圳路由器上,在深圳路由器上用Debug isdn q931没有任何输出输出。

为了确认ISDN拨号是否具有长途呼叫功能,通过ISDN拨号拨打深圳一个固定电话,能正常建立通讯。问题的原因在路由器使用了数据呼叫的Bearer Capability,对此,对大连路由器配置作出变动,将数据呼叫作为语音呼叫来建立,配置如下:
interface BRI2/0
ip address 10.1.1.1 255.255.255.252
encapsulation ppp
dialer map ip 10.1.1.2 name SZ-Center class voice-call broadcast 0755xxxxxxx
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
dialer-list 1 protocol ip permit
!
map-class dialer voice-call
dialer voice-call

作出如下配置变动后,同样呼叫建立不成功,为了找到建立不成功的原因,同样在在大连路由器上用Debug isdn q931命令来看ISDN拨号建立过程,结果如下:
5w0d: ISDN BR2/0: TX -》 SETUP pd = 8 callref = 0x1E
5w0d: Bearer Capability i = 0x8090A2
5w0d: Channel ID i = 0x83
5w0d: Called Party Number i = 0x80, '07553296145',
Plan:Unknown, Type:Unknown
5w0d: ISDN BR2/0: RX 《- RELEASE_COMP pd = 8 callref = 0x9E
5w0d: Cause i = 0x82E404 - Invalid inFORMation element contents

在上面的Debug输出信息中,Setup中的Bearer Capability是8090A2,其中80表示是一个CTITT标准的语音,90表示是一个电路模式、传输速率为64K,A2表示64K传输的内容是G.711 [10] μ-law的语音呼叫,当建立这个呼叫时,直接被交换机拒绝,Cause Code显示交换机不能识别这个Bearer Capability。为了确定ISDN拨号在进行普通语音呼叫时采用的Bearer Capability信息,通过一个普通电话呼叫ISDN拨号,同样在Cisco路由器上Debug isdn q931信息,得到如下输出:
5d02h: ISDN BR2/0: RX 《- SETUP pd = 8 callref = 0x28
5d02h: Sending Complete
5d02h: Bearer Capability i = 0x9090A3
5d02h: Channel ID i = 0x89
5d02h: Progress Ind i = 0x8281 - Call not end-to-end ISDN, may have in-band info
5d02h: Calling Party Number i = 0x2183, '041164641754', Plan:ISDN, Type:National
5d02h: Called Party Number i = 0xA1, '041187740294', Plan:ISDN, Type:National
5d02h: ISDN BR2/0: Event: Received a call with a bad bearercap from 041164641754 on B1
5d02h: ISDN BR2/0: RX 《- RELEASE pd = 8 callref = 0x28
5d02h: Cause i = 0x8A9F - Normal, unspecified
5d02h: ISDN BR2/0: RX 《- RELEASE pd = 8 callref = 0x28
5d02h: Cause i = 0x8A9F - Normal, unspecified

从上面的Debug信息中,看到ISDN拨号在建立语音呼叫的时候他采用的9090A3,其中***个90表示的是CTITT标准的3.1KHz的语音,第二个90表示电路模式的,传输速度为64K的通讯,而A3表示64K通道传输的格式是G.711 A-law编码方式。

由于通常路由器却省是不接收语音呼叫的,事件信息5d02h: ISDN BR2/0: Event: Received a call with a bad bearercap from 041164641754 on B1就表示路由器不接受这个呼叫,这样,确认这个Cisco IOS软件在做语音呼叫的时候说采用北美标准进行呼叫的。

ISDN拨号交换机是不提供G.711 [10] μ-law和G.711 A-law的转换的(当然转换也不能通讯的,因为路由器的64K通道传输的是数据而不是G.711 [10] μ-law或G.711 A-law语音编码,交换机也没法进行转换)。

因此,必须让路由器在呼叫时欺骗ISND交换机使它认为传送的是G.711 A-law的语音数据,通过更换Cisco IOS版本,找到Cisco IOS Enterprise Plus 12.1.5T10,在做语音呼叫是采用的A3的Bearer Capability,这样,在大连路由器上的ISDN端口上配置isdn outgoing-voice 3.1khz-audio命令。

大连路由器在呼叫出去时,其Bearer Capability信息就是9090A3了,ISDN拨号交换机就认为是一个普通语音呼叫,通过ISDN拨号和七号信令的转换,就可以在深圳接收到大连的ISDN拨号,这样,这个呼叫建立过程就完全成功。

由于路由器确省是拒绝语音呼叫的,在深圳路由器的ISDN端口上配置isdn incoming-voice data,让路由器接受语音呼叫,并把他当作数据呼叫来处理,这样就成功实现大连到深圳的ISDN数据连接,该方法同样适合武汉到深圳、广州到上海等地ISDN数据通讯问题,最终的路由器配置如下: #p#

大连路由器的配置:
interface BRI2/0
ip address 10.1.1.1 255.255.255.252
encapsulation ppp
dialer map ip 10.1.1.2 name SZ-Center class voice-call broadcast 0755XXXXXXX
dialer-group 1
isdn switch-type basic-net3
isdn outgoing-voice info-transfer-capability 3.1khz-audio # if no this command ,Bearer Capability will change to 8090A3
ppp authentication chap
!
dialer-list 1 protocol ip permit
!
map-class dialer voice-call
dialer voice-call

深圳路由器的配置:
interface BRI2/0
ip address 10.1.1.2 255.255.255.252
encapsulation ppp
dialer map ip 10.1.1.1 name DL-Center broadcast
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
isdn incoming-voice data # let cisco route accept voice call as data call
!
dialer-list 1 protocol ip permit

通过上面的分析及排除故障的过程,长途ISDN不能进行数据呼叫的主要问题是由于全国ISDN拨号干不是全连接网络,有些城市间的ISDN呼叫是通过公共交换电话网来中继的,导致数据通讯不能被提供。

对于这个问题,我们完全可以通过更改路由器的配置和更换路由器IOS软件版本来使路由器产生数据呼叫的时候使用适合国内语音呼叫的Bearer Capability,这样就可以欺骗ISDN拨号交换机来实现长途的ISDN拨号的数据通讯能力。

责任编辑:佟健 来源: chinaunix
相关推荐

2010-06-11 12:47:34

UML视图

2011-06-09 09:59:16

2010-07-09 10:37:00

视频服务器DIY

2012-11-12 10:48:36

2009-12-29 13:46:06

2010-09-15 13:45:01

2015-06-04 10:43:54

OpenStack 环最小化

2010-07-14 14:30:13

2010-01-12 13:43:55

华为交换机H3C限速

2010-08-05 09:02:49

2009-12-21 09:52:03

2018-07-19 05:13:38

2009-12-07 14:26:47

WCF异步调用

2017-03-10 08:35:49

数字化

2015-05-26 17:56:58

2016-10-09 20:08:58

2010-07-30 14:53:35

路由器设置

2015-09-11 09:51:44

数据保护

2009-11-26 09:35:54

VS2003安装包

2009-12-04 13:05:54

Visual Stud
点赞
收藏

51CTO技术栈公众号