天下网吧 >> 网吧方案 >> 方案实例 >> 正文

跨省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,表示释放呼叫的原因,从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间的数据通讯能力。

本文来源:天下网吧 作者:网吧方案

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下