# Making switch connections for ISDN Software

To allow an application access to ISDN channels, several switch connections must be made. In the board keyword file, if Clocking.HBus.ClockMode=StandAlone, these settings are automatically made when the board boots.

If Clocking.HBus.ClockMode is set to any other value, the application must set these values using the NaturalAccess Switching API or swish utility.

The application must make the following connections:

- On each trunk, streams and timeslots carrying D channel information to and from the HDLC controller (if any) must be connected to streams and timeslots accessible by the ISDN protocol stack. These connections must be full duplex. They must be made before the ISDN protocol stack is initialized. Initialization is described in Initializing an ISDN Software protocol stack instance.

- The streams and timeslots carrying voice information to and from the trunk must be connected to the streams and timeslots carrying voice information to and from the DSP resources. The connections must be full duplex.

The connections differ depending upon whether the NetworkInterface.T1E1.SignalingType keyword is set to PRI
or RAW. Specifically, if NetworkInterface.T1E1.SignalingType=RAW, no connections are made between the HDLC controller and signaling streams. This setting is for trunks that are included in NFAS groups and do not have a D channel in operation. For more information about these keywords and about NFAS, see the Dialogic® NaturalAccess™ ISDN Software Installation Manual.

Connections are listed in MVIP-95 nomenclature unless otherwise specified.

Note: Because on CG boards framer signaling is hard wired to the HDLCs, you cannot switch framer signaling to the HDLCs.

The following table lists the default connections:

Board | Default connections
--- | ---
Four-trunk T1 | If NetworkInterface.T1E1[x]. SignalingType=PRI Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..22 => 17:0..22, 16:0..22 => 1:0..22 Trunk 2: 4:0..22 => 17:24..46, 16:24..46 => 5:0..22 Trunk 3: 8:0..22 => 17:48..70, 16:48..70 => 9:0..22 Trunk 4: 12:0..22 => 17:72..94, 16:72..94 => 13:0..22 Full duplex, between HDLC controller and signaling streams (AG boards only): Trunk 1: 2:0 => 21:0, 20:0 => 3:0 Trunk 2: 6:0 => 23:0, 22:0 => 7:0 Trunk 3: 10:0 => 25:0, 24:0 => 11:0 Trunk 4: 14:0 => 27:0, 26:0 => 15:0 If NetworkInterface.T1E1[x]. SignalingType=RAW Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..23 => 17:0..23, 16:0..23 => 1:0..23 Trunk 2: 4:0..23 => 17:24..47, 16:24..47 => 5:0..23 Trunk 3: 8:0..23 => 17:48..71, 16:48..71 => 9:0..23 Trunk 4: 12:0..23 => 17:72..95, 16:72..95 => 13:0..23
Four-trunk E1 | If NetworkInterface.T1E1[x]. SignalingType=PRI Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..29 => 17:0..29, 16:0..29 => 1:0..29 Trunk 2: 4:0..29 => 17:30..59, 16:30..59 => 5:0..29 Trunk 3: 8:0..29 => 17:60..89, 16:60..89 => 9:0..29 Trunk 4: 12:0..29 => 17:90..119, 16:90..119 => 13:0..29 Full duplex, between HDLC controller and signaling streams (AG boards only): Trunk 1: 2:0 => 21:0, 20:0 => 3:0 Trunk 2: 6:0 => 23:0, 22:0 => 7:0 Trunk 3: 10:0 => 25:0, 24:0 => 11:0 Trunk 4: 14:0 => 27:0, 26:0 => 15:0 If NetworkInterface.T1E1[x]. SignalingType=RAW Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..30 => 17:0..30, 16:0..30 => 1:0..30 Trunk 2: 4:0..30 => 17:31..61, 16:30..61 => 5:0..30 Trunk 3: 8:0..30 => 17:62..92, 16:60..92 => 9:0..30 Trunk 4: 12:0..30 => 17:93..123, 16:90..123 => 13:0..30 NetworkInterface.T1E1[x]. SignalingType is usually set to RAW only for trunks that are included in NFAS groups and do not have a D channel in operation. NFAS is not supported on E1 trunks, so you would probably not use this configuration.
Two-trunk T1 | If NetworkInterface.T1E1[x]. SignalingType=PRI Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..22 => 17:0..22, 16:0..22 => 1:0..22 Trunk 2: 4:0..22 => 17:24..46, 16:24..46 => 5:0..22 Full duplex, between HDLC controller and signaling streams (AG boards only): Trunk 1: 2:0 => 21:0, 20:0 => 3:0 Trunk 2: 6:0 => 23:0, 22:0 => 7:0 If NetworkInterface.T1E1[x]. SignalingType=RAW Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..23 => 17:0..23, 16:0..23 => 1:0..23 Trunk 2: 4:0..23 => 17:24..47, 16:24..47 => 5:0..23
Two-trunk E1 | If NetworkInterface.T1E1[x]. SignalingType=PRI Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..29 => 17:0..29, 16:0..29 => 1:0..29 Trunk 2: 4:0..29 => 17:30..59, 16:30..59 => 5:0..29 Full duplex, between HDLC controller and signaling streams (AG boards only): Trunk 1: 2:0 => 21:0, 20:0 => 3:0 Trunk 2: 6:0 => 23:0, 22:0 => 7:0 If NetworkInterface.T1E1[x]. SignalingType=RAW Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..30 => 17:0..30, 16:0..30 => 1:0..30 Trunk 2: 4:0..30 => 17:30..61, 16:30..61 => 5:0..30 NetworkInterface.T1E1[x]. SignalingType is usually set to RAW only for trunks that are included in NFAS groups and do not have a D channel in operation. NFAS is not supported on E1 trunks, so you would probably not use this configuration.
Four trunk BRI | If NetworkInterface.T1E1[x]. SignalingType=PRI Full duplex, between trunk voice information and DSP resources: Trunk 1: 0:0..1 => 5:0..1, 4:0..1 => 1:0..1 Trunk 2: 0:2... 3 => 5:2..3, 4:2..3 => 1:2..3 Trunk 3: 0:4..5 => 5:4..5, 4:4..5 => 1:4..5 Trunk 4: 0:6..7 => 5:6..7, 4:6..7 => 1:6..7 If NetworkInterface.T1E1[x]. SignalingType=RAW None.

The isdncta demonstration program shows how an application makes these connections.