目录

简介

先决条件

要求

使用的组件

规则

背景信息

配置

网络图

配置

验证

故障排除

故障排除命令

相关信息

简介

本文详细介绍Cisco AS5400平台上时分复用(TDM)交换的理论和配置。

先决条件

要求

假设读者对ISDN呼叫信令和TDM网络上同步时钟源的分布有基本的了解。本文档提供了一些有关TDM时钟的背景信息。熟悉Cisco IOS®配置和调试命令也很有帮助。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Cisco AS5400、AS5350和AS5850平台

- 带IP Plus功能集的思科IOS软件版本12.2.2XB5

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

背景信息

TDM交换的基础是所有已配置接口共享的同步时钟源。如果不同端口的时钟参考不同，接入服务器会注册时钟滑移，这在语音呼叫中可能不明显，但几乎肯定会导致传真或调制解调器呼叫失败。因此，与之同步的外部设备(PBX或中心局(CO)交换机)接入服务器接口与通用主时钟参考是至关重要的。大多数电信或服务提供商订用或发起第1层时钟参考，并在其网络中传播此参考。因此，在大多数情况下，时钟即使在不同的服务提供商之间也能保持同步。如果接入服务器上所有已配置的T1/E1接口保持同步，则接口出错的可能性很小。

TDM交换基于来电的拨号号码识别服务(DNIS)来路由呼叫。一旦接入服务器收到传入ISDN Q.931设置消息，它便可确定呼叫的发送位置，在传出接口上选择适当的承载信道，并发送ISDN Q.931设置消息以向下游设备发出新呼叫的存在信号。终端设备发送ISDN Q.931连接消息后，接入服务器会交叉连接背板上的脉冲码调制(PCM)流。如前段所述，两个相连网络必须具有相同的时钟同步，以确保PCM音频流或数字数据从一个接口无错地切换到另一个接口。网络图显示了根据在已配置的普通老式电话服务(POTS)拨号对等体上进行的匹配，在特定PRI接口上传入并通过其他接口交换出去的ISDN呼叫的一般概念。如有必要，可使用IOS转换规则来操纵被叫/主叫号码。

配置

AS5400平台通常安装为拨入数据、语音、传真或调制解调器接入服务器。要终止语音类型呼叫（语音、传真或调制解调器），接入服务器需要安装适当的任何服务、任何端口(ASAP)数字信号处理器(DSP)资源。

如果调制解调器、传真或语音呼叫实际上不需要在接入服务器上终止，但出于某种原因需要切换回备用端口，则可以将AS5400配置为在纯TDM应用中工作，在该应用中，语音呼叫交换通过ISDN D信道信令控制。数据或语音呼叫可以根据DNIS（被叫号码）切换到另一个接口。实际上，接入服务器成为TDM语音/数据交换机。此功能通常称为TDM交换，但其他名称（如发夹、长号或拨号修饰）也应用于该技术。通常，术语是可互换的，对于本文档，术语是TDM交换。没有与ISDN一起传递的双音多频(DTMF)或多频(MF)信令音。呼叫控制通过高级数据链路控制(HDLC)封装的D通道消息完成。因此，在TDM操作模式下，无需语音呼叫的DSP资源。

接入服务器使用传入DNIS（被叫号码）匹配传出POTS拨号对等体目标模式，并将呼叫路由到适当的端口。也可以使用IOS转换规则来控制呼叫路由决策的被叫号码和主叫号码。

TDM交换的应用可以包括充当小型ISDN数据/语音交换（使用ISDN网络侧协议仿真）的接入服务器，或通过备用运营商进行呼叫重路由（最低成本）。

本文档介绍如何配置AS5400以对语音和数据呼叫执行TDM交换。根据在DNIS上为传入呼叫（在ISDN Q.931设置消息中提供）所做的匹配，呼叫从一个接口切换到备用接口。该技术还适用于使用TDM背板（如AS5350和AS5850）的其他平台。

本部分提供有关如何配置本文档所述功能的信息。

注意：使用命令查找工具(仅限注册客户)可查找有关本文档中使用的命令的详细信息。

网络图

本文档使用以下网络设置：

配置

为了允许接入服务器执行TDM交换，必须启用资源池并将可用的承载信道资源放入池中。然后，此承载信道池与DNIS组关联，这允许特定资源池与特定传入被叫号码或任何传入被叫号码相关联。此输出显示了一个示例：

AS5400

!

resource-pool enable

!

resource-pool group resource TDM_Voice

range limit 124

!--- Up to 124 speech channels can be switched.

!

resource-pool group resource TDM_Data

range limit 124

!--- Up to 124 data channels can be switched.

!

!

resource-pool profile customer TDM_Switching

limit base-size all

limit overflow-size 0

resource TDM_Voice speech

!--- Resources for speech calls.

!

resource TDM_Data digital

! resources for data calls

!

dnis group default

!--- Default DNIS group matches all called numbers.

!

必须启用资源池功能，才能允许TDM交换。定义了名为TDM_Voice的资源组，允许最多124个可用于语音呼叫的信道。另一个名为TDM_Data的资源组允许最多124个信道进行数据呼叫。这些数字源自系统上E1或T1端口的最大数量。例如，8端口E1卡有30个承载信道，每个接口（31个信道）有1个信令信道，用于8个端口。总数为248（31乘8）。 此处分配一半用于数据，一半用于语音呼叫。

然后，资源组TDM_Voice被放置到名为TDM_Switching的配置文件中，呼叫类型被定义为语音，而资源组TDM_Data被定义为数字。这有效地允许具有语音和数据承载能力的呼叫通过接入服务器。dnis group default命令允许匹配所有传入的被叫号码。可以定义与更具体被叫号码匹配的DNIS组。有关详细信息，请参阅适用于语音和数据服务的通用端口资源池配置指南。

如果需要，可以操纵被叫号码，以在呼叫进入特定端口时预置接入代码。例如：

AS5400

!

translation-rule 1

Rule 1 ^.% 555

!--- Match on any string, prepend with 555.

!

voice-port 6/0:D

translate called 1

!--- Apply translation rule 1 to port 6/0 so any !--- incoming call is prepended with 555.

compand-type a-law

!

voice-port 6/3:D

compand-type a-law

!--- The translated called number is matched on POTS dial-peers !--- to determine where it should be routed.

dial-peer voice 1 pots

description - enable DID (single stage dialing) on port 6/0

incoming called-number .

direct-inward-dial

port 6/0:D

!

dial-peer voice 2 pots

description - reroute calls from 6/0 to 6/3

destination-pattern 55598842304

port 6/3:D

prefix 0401890165

!

当呼叫进入端口6/0时，其前缀为555。如果原始被叫号码为98842304，则转换后的号码变为55598842304，并与拨号对等体2匹配。呼叫随后在端口6/3上发出。由于它是显式匹配，因此原始被叫号码将被删除，而prefix命令将其替换为0401890165。

数据呼叫交换的工作方式相同。POTS拨号对等体匹配被叫号码，并将其转发到其他端口。例如，如果呼入的端口6/4的被叫号码为5551000，则使用新的被叫号码5552000将呼出端口6/7。同样，如果呼入的端口6/7的被叫号码为5552000，则使用新的被叫号码5551000将呼出的端口6/4切出。

AS5400

!

dial-peer voice 3 pots

description - enable DID on port 6/4

incoming called-number

direct-inward-dial

port 6/4:D

!

dial-peer voice 4 pots

description - enable DID on port 6/7

incoming called-number

direct-inward-dial

port 6/7:D

!

dial-peer voice 12 pots

description - reroute calls from 6/4 to 6/7

destination-pattern 5551000

port 6/7:D

prefix 5552000

!

dial-peer voice 13 pots

description - reroute calls from 6/7 to 6/4

destination-pattern 5552000

port 6/4:D

prefix 5551000

!

验证

使用本部分可确认配置能否正常运行。

命令输出解释程序（仅限注册用户）(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

- show run — 显示作为TDM交换机运行的接入服务器的完整配置。

multi-5-19#show run

Building configuration...

Current configuration : 3110 bytes

!

! Last configuration change at 13:18:39 UTC Wed Jun 19 2002

! NVRAM config last updated at 20:45:12 UTC Sat Jan 8 2000

!

version 12.2

service timestamps debug datetime msec localtime

service timestamps log uptime

no service password-encryption

!

hostname multi-5-19

!

enable password cisco

!

!

!

resource-pool enable

!

resource-pool group resource TDM_Voice

range limit 124

!

resource-pool group resource TDM_Data

range limit 124

!

resource-pool profile customer TDM_Switching

limit base-size all

limit overflow-size 0

resource TDM_Data digital

resource TDM_Voice speech

dnis group default

dial-tdm-clock priority 1 6/0

!

!

!

!

ip subnet-zero

ip cef

!

isdn switch-type primary-net5

!

!

!

!

!

!

!

fax interface-type fax-mail

mta receive maximum-recipients 0

!

controller E1 6/0

pri-group timeslots 1-31

!

controller E1 6/1

!

controller E1 6/2

!

controller E1 6/3

pri-group timeslots 1-31

!

controller E1 6/4

pri-group timeslots 1-31

!

controller E1 6/5

!

controller E1 6/6

!

controller E1 6/7

pri-group timeslots 1-31

!

translation-rule 1

Rule 1 ^.% 555

!

translation-rule 2

Rule 2 ^.% 666

!

!

!

interface FastEthernet0/0

no ip address

duplex auto

speed auto

!

interface FastEthernet0/1

no ip address

duplex auto

speed auto

!

interface Serial0/0

no ip address

shutdown

clockrate 2000000

!

interface Serial0/1

no ip address

shutdown

clockrate 2000000

!

interface Serial6/0:15

no ip address

isdn switch-type primary-net5

isdn incoming-voice modem

no cdp enable

!

interface Serial6/3:15

no ip address

isdn switch-type primary-net5

isdn incoming-voice modem

no cdp enable

!

interface Serial6/4:15

no ip address

isdn switch-type primary-net5

isdn protocol-emulate network

no cdp enable

!

interface Serial6/7:15

no ip address

isdn switch-type primary-net5

isdn protocol-emulate network

no cdp enable

!

interface Group-Async0

physical-layer async

no ip address

!

ip classless

!

no ip http server

!

!

!

call rsvp-sync

!

voice-port 6/0:D

translate called 1

compand-type a-law

!

voice-port 6/3:D

translate called 2

compand-type a-law

!

voice-port 6/4:D

compand-type a-law

!

voice-port 6/7:D

compand-type a-law

!

!

mgcp profile default

!

dial-peer cor custom

!

!

!

dial-peer voice 1 pots

incoming called-number

direct-inward-dial

port 6/0:D

!

dial-peer voice 2 pots

incoming called-number

direct-inward-dial

port 6/3:D

!

dial-peer voice 10 pots

destination-pattern 55598842304

port 6/3:D

prefix 94344600

!

dial-peer voice 11 pots

destination-pattern 66698842305

port 6/0:D

prefix 94344600

!

dial-peer voice 3 pots

incoming called-number

direct-inward-dial

port 6/4:D

!

dial-peer voice 4 pots

incoming called-number

direct-inward-dial

port 6/7:D

!

dial-peer voice 12 pots

destination-pattern 5551000

port 6/7:D

prefix 5552000

!

dial-peer voice 13 pots

destination-pattern 5552000

port 6/4:D

prefix 5551000

!

!

line con 0

line aux 0

line vty 0 4

password cisco

login

!

scheduler allocate 10000 400

ntp master

end

multi-5-19#

故障排除

使用本部分可排除配置故障。

故障排除命令

命令输出解释程序（仅限注册用户）(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

排除ISDN中继故障时，可以使B信道忙。在CAS中继的控制器配置模式下发出ds0 busyout X命令。

Router(config-controller)#ds0 busyout X

要占线CCS或PRI ISDN中继，请在接口配置模式下使用isdn service b_channel X state 2命令。

对于T1:

Router(config)#interface serial 0:23

对于E1:

Router(config)#interface serial 0:15

Router(config-if)#isdn service b_channel X state 2

有效状态为0=Inservice、1=Maint、2=Outofservice,X是CCS和CAS配置中的B通道编号。

show isdn service命令可用于查找每个B信道的状态。

注意：在使用debug命令之前，请参阅有关Debug命令的重要信息。

正常的ISDN和IOS转换规则调试可用于排除TDM交换故障。

- debug translation detailed — 显示有关IOS转换规则操作的信息，以便监控被叫号码或主叫号码的数字操作。

- debug isdn q931 — 显示有关本地路由器（用户端）和网络之间ISDN网络连接（第3层）的呼叫建立和拆卸的信息。

这些命令输出是调试转换详细（IOS转换规则调试）的跟踪，以及为交换到端口6/3的端口6/0上的语音呼叫启用的调试isdn q931。

multi-5-19#debug translation detailed

*Jan 1 00:20:53.215: ISDN Se6/0:15: RX <- SETUP pd = 8 callref = 0x1D79

*Jan 1 00:20:53.215: Bearer Capability i = 0x8090A3

*Jan 1 00:20:53.215: Channel ID i = 0xA18395

*Jan 1 00:20:53.215: Called Party Number i = 0x80, '98842304',

Plan:Unknown, Type:Unknown

!--- Receive a setup message on interface 6/0:15 for a !--- speech call with a called number of 98842304. !--- Speech call is indicated by the bearer capability of 0x8090A3 : !--- 64 Kbps A-law PCM audio/speech.

!--- IOS Translation rule number 1 prepends '555' to the original !--- called number when it passes through port 6/0.

*Jan 1 00:20:53.219: xrule_checking

*Jan 1 00:20:53.219: xrule_checking calling , called 98842304

*Jan 1 00:20:53.219: xrule_checking peer_tag 0, direction 1, protocol 6

*Jan 1 00:20:53.219: xrule_translation

*Jan 1 00:20:53.219: xrule_translation callednumber 98842304, strlen 8

*Jan 1 00:20:53.219: xrule_translation callednumber 98842304 xruleCalledTag=1

*Jan 1 00:20:53.219: xrule_translation called Callparms Numpertype 0x80, match_type 0x0

*Jan 1 00:20:53.219: xrule_translation Xrule index 1, Numpertype 0x9

*Jan 1 00:20:53.219: dpMatchString, target_number 98842304, match_number ^.%

*Jan 1 00:20:53.219: dpMatchString match_tmp , match_len 0

*Jan 1 00:20:53.219: dpMatchString beginning_replace 0, match_tmp ,target 98842304

*Jan 1 00:20:53.219: dpMatchString 1. target 98842304,match_tmp

*Jan 1 00:20:53.219: dpMatchString 1.1 compare_len 0, target 98842304, match_tmp

*Jan 1 00:20:53.219: dpMatchString 5. match_len=compare_len 0, target 98842304

*Jan 1 00:20:53.219: replace_string

*Jan 1 00:20:53.219: replace_string match ^.%, replace 555

*Jan 1 00:20:53.219: translation_format replace_rule ^.%, strip_proceeding 0

*Jan 1 00:20:53.219: replace_string match_tmp ^.%, strip_proceeding 0

*Jan 1 00:20:53.219: replace_string match_tmp

*Jan 1 00:20:53.219: replace_string direction 1, callparty 2

*Jan 1 00:20:53.219: replace_string direction 1, callparty 2, target 98842304

*Jan 1 00:20:53.219: replace_string match_tmp ,replace 555

*Jan 1 00:20:53.219: replace_string2.replace1,target98842304,current98842304,match_tmp

*Jan 1 00:20:53.219: replace_string2.1 compare_len 0,match_len 0

*Jan 1 00:20:53.219: replace_string 3. replace1 , compare_len 0

*Jan 1 00:20:53.219: replace_string 4. replace1 5,compare_len -1,replace 55

*Jan 1 00:20:53.219: replace_string 4. replace1 55,compare_len -2,replace 5

*Jan 1 00:20:53.219: replace_string 4. replace1 555,compare_len -3,replace

*Jan 1 00:20:53.219: replace_string 5.replace1 555, compare_len -3,match_len 0

*Jan 1 00:20:53.219: replace_string 6. replace1 555,compare_len -3,current 98842304

*Jan 1 00:20:53.219: replace_string 7. replace1 5559

*Jan 1 00:20:53.219: replace_string 7. replace1 55598

*Jan 1 00:20:53.219: replace_string 7. replace1 555988

*Jan 1 00:20:53.219: replace_string 7. replace1 5559884

*Jan 1 00:20:53.219: replace_string 7. replace1 55598842

*Jan 1 00:20:53.219: replace_string 7. replace1 555988423

*Jan 1 00:20:53.219: replace_string 7. replace1 5559884230

*Jan 1 00:20:53.219: replace_string 7. replace1 55598842304

*Jan 1 00:20:53.219: replace_string buffer 55598842304

*Jan 1 00:20:53.219: xrule_translation index 1,xrule_number 55598842304, callparty 2

*Jan 1 00:20:53.219: xrule_translation Return rc = 0

*Jan 1 00:20:53.219: xrule_checking Return rc = 0

*Jan 1 00:20:53.223: ISDN Se6/0:15: TX -> CALL_PROC pd = 8 callref = 0x9D79

*Jan 1 00:20:53.223: Channel ID i = 0xA98395

!--- Send a call proceeding back to the ISDN.

*Jan 1 00:20:53.227: ISDN Se6/3:15: TX -> SETUP pd = 8 callref = 0x0005

*Jan 1 00:20:53.227: Bearer Capability i = 0x8090A3

*Jan 1 00:20:53.227: Channel ID i = 0xA9839F

*Jan 1 00:20:53.227: Called Party Number i = 0x80, '0401890165', Plan:Unknown, Type:Unknown

!--- Match has been made on outgoing POTS dial-peer !--- and a new call is sent out on 6/3:15.

*Jan 1 00:20:53.371: ISDN Se6/3:15: RX <- CALL_PROC pd = 8 callref = 0x8005

*Jan 1 00:20:53.371: Channel ID i = 0xA1839F

*Jan 1 00:20:53.371: ISDN Se6/3:15: RX <- ALERTING pd = 8 callref = 0x8005

!--- Receive alerting on the second (outgoing) call leg.

*Jan 1 00:20:53.375: ISDN Se6/0:15: TX -> ALERTING pd = 8 callref = 0x9D79

*Jan 1 00:20:53.375: Progress Ind i = 0x8188 - In-band info or appropriate now available

!--- Send alerting on the first (incoming) call leg.

*Jan 1 00:21:00.095: ISDN Se6/3:15: RX <- CONNECT pd = 8 callref = 0x8005

*Jan 1 00:21:00.095: ISDN Se6/3:15: TX -> CONNECT_ACK pd = 8 callref = 0x0005

*Jan 1 00:21:00.099: ISDN Se6/0:15: TX -> CONNECT pd = 8 callref = 0x9D79

*Jan 1 00:21:00.247: ISDN Se6/0:15: RX <- CONNECT_ACK pd = 8 callref = 0x1D79

!--- Both calls connect.

*Jan 1 00:21:00.247: ISDN Se6/0:15: CALL_PROGRESS:CALL_CONNECTED call id 0x5, bchan 20, dsl0

*Jan 1 00:21:37.591: ISDN Se6/0:15: RX <- DISCONNECT pd = 8 callref = 0x1D79

*Jan 1 00:21:37.591: Cause i = 0x8290 - Normal call clearing

!--- Receive a disconnect on incoming call leg.

*Jan 1 00:21:37.595: ISDN Se6/0:15: TX -> RELEASE pd = 8 callref = 0x9D79

*Jan 1 00:21:37.599: ISDN Se6/3:15: TX -> DISCONNECT pd = 8 callref = 0x0005

*Jan 1 00:21:37.599: Cause i = 0x8090 - Normal call clearing

!--- Send a disconnect on the outgoing call leg.

*Jan 1 00:21:37.631: ISDN Se6/0:15: RX <- RELEASE_COMP pd = 8 callref = 0x1D79

*Jan 1 00:21:37.723: ISDN Se6/3:15: RX <- RELEASE pd = 8 callref = 0x8005

*Jan 1 00:21:37.723: Cause i = 0x8290 - Normal call clearing

*Jan 1 00:21:37.723: ISDN Se6/3:15: TX -> RELEASE_COMP pd = 8 callref = 0x0005

!--- Both calls have cleared.

这是debug isdn q931命令的命令输出。这些跟踪显示从端口6/4到端口6/7的ISDN数据呼叫。

Jun 19 13:36:02.091: ISDN Se6/4:15: RX <- SETUP pd = 8 callref = 0x0005

Jun 19 13:36:02.091: Bearer Capability i = 0x8890

Jun 19 13:36:02.091: Channel ID i = 0xA9839F

Jun 19 13:36:02.095: Called Party Number i = 0x81, '5551000', Plan:ISDN, Type:Unknown

!--- Call comes in on port 6/4 for 5551000. Bearer Capability !--- is 0x8890, which indicates 64 K data call.

Jun 19 13:36:02.095: ISDN Se6/4:15: TX -> CALL_PROC pd = 8 callref = 0x8005

Jun 19 13:36:02.095: Channel ID i = 0xA9839F

Jun 19 13:36:02.099: ISDN Se6/7:15: TX -> SETUP pd = 8 callref = 0x0085

Jun 19 13:36:02.099: Bearer Capability i = 0x8890

Jun 19 13:36:02.099: Channel ID i = 0xA98381

Jun 19 13:36:02.099: Called Party Number i = 0x81, '5552000', Plan:ISDN, Type:Unknown

!--- Redirect the call out on port 6/7, (new) called !--- number is 5552000 with data bearer capability.

Jun 19 13:36:02.155: ISDN Se6/7:15: RX <- CALL_PROC pd = 8 callref = 0x8085

Jun 19 13:36:02.155: Channel ID i = 0xA98381

Jun 19 13:36:02.159: ISDN Se6/7:15: RX <- CONNECT pd = 8 callref = 0x8085

Jun 19 13:36:02.159: Channel ID i = 0xA98381

!--- Second call leg connects.

Jun 19 13:36:02.159: ISDN Se6/7:15: TX -> CONNECT_ACK pd = 8 callref = 0x0085

Jun 19 13:36:02.163: ISDN Se6/4:15: CALL_PROGRESS:CALL_CONNECTED call id 0x7,bchan 30, dsl 2

Jun 19 13:36:02.163: ISDN Se6/4:15: TX -> CONNECT pd = 8 callref = 0x8005

!--- First call leg connects.

Jun 19 13:36:02.215: ISDN Se6/4:15: RX <- CONNECT_ACK pd = 8 callref = 0x0005

Jun 19 13:38:12.783: ISDN Se6/4:15: RX <- DISCONNECT pd = 8 callref = 0x0005

Jun 19 13:38:12.783: Cause i = 0x8090 - Normal call clearing

!--- Remote device drops the call, first call leg disconnects.

Jun 19 13:38:12.787: ISDN Se6/4:15: TX -> RELEASE pd = 8 callref = 0x8005

Jun 19 13:38:12.787: ISDN Se6/7:15: TX -> DISCONNECT pd = 8 callref = 0x0085

Jun 19 13:38:12.787: Cause i = 0x8290 - Normal call clearing

!--- Second call leg is dropped.

Jun 19 13:38:12.807: ISDN Se6/7:15: RX <- RELEASE pd = 8 callref = 0x8085

Jun 19 13:38:12.851: ISDN Se6/4:15: RX <- RELEASE_COMP pd = 8 callref = 0x0005

!--- Both calls have cleared.

相关信息

- 用于语音和数据服务的通用端口资源池

- 语音技术支持

- 语音和统一通信产品支持

- Cisco IP 电话故障排除

- 技术支持和文档 - Cisco Systems