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