Mr.Chan

导航

一个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,表示释放呼叫的原因,从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数据通讯问题,最终的路由器配置如下: 

大连路由器的配置: 
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间的数据通讯能力。

posted on 2005-04-22 10:25  cunshen  阅读(538)  评论(0)    收藏  举报