5.13. DCHAN_CFG
When using DM3 boards, the DCHAN_CFG data structure is not supported.
When using Springware boards, the DCHAN_CFG data structure contains D-channel configuration block information. The D-channel configuration block sets the configuration of the Digital Subscriber Loop (DSL) for BRI applications.
The structure is defined as follows:
typedef struct {
byte layer2_access; /* Layer 2 or full stack */
byte switch_type; /* Layer 3 switch type */
byte switch_side; /* Network or User side */
byte number_of_endpoints; /* # of logical data links */
byte feature_controlA; /* Firmware feature mask A */
byte feature_controlB; /* Firmware feature mask B */
byte rfu_1; /* Reserved for future use */
byte rfu_2; /* Reserved for future use */
struct {
byte tei_assignment; /* Auto assignment or Fixed TEI terminal */
byte fixed_tei_value; /* TEI value if Fixed TEI terminal */
union {
struct {
byte auto_init_flag; /* Auto initializing term or not */
byte SPID[MAX_SPID_SIZE]; /* SPID for terminal, NULL
terminated string. */
byte rfu_1;
byte rfu_2;
} no_am; /* North America */
} protocol_specific;
} user;
#define RFU_COUNT 8 /* # of reserve for future use bytes */
byte rfu[RFU_COUNT];
union {
struct {
long T302;
long T303;
long T304;
long T305;
long T306;
long T308;
long T309;
long T310;
long T312;
long T322;
} nt;
struct {
long T303;
long T304;
long T305;
long T308;
long T310;
long T312;
long T313;
long T318;
long T319;
} te;
} tmr;
} DCHAN_CFG, *DCHAN_CFG_PTR;
The possible values for the DCHAN_CFG structure are listed below. All components of the DCHAN_CFG structure that pertain to your configuration must be set. There are no default values.
- Note: The T3xx values for defining the Layer 3 timer can be used for BRI/2, BRI/SC and PRI protocols. All of the other values in the structure are applicable only to BRI/SC.
Table 54. DCHAN_CFG Field Descriptions and Values
|
Type
|
Description
|
Values
|
| layer2_access |
Boolean value used to configure the DSL for direct layer 2 access or for full stack access. |
#define LAYER_2_ONLY 0 #define FULL_ISDN_STACK 1
Where:
- LAYER_2_ONLY = ISDN access at layer 2 (If LAYER_2_ONLY is selected, no other parameters are required)·
- FULL_ISDN_STACK = ISDN access at L3 call control
|
| switch_type |
Basic rate protocol (switch type) for DSL. Multiple run-time selectable switch types are available. |
typedef enum { ISDN_INVALID_SWITCH=0x80, ISDN_BRI_5ESS, ISDN_BRI_DMS100, ISDN_BRI_NTT, ISDN_BRI_NET3, ISDN_BRI_NI1, ISDN_BRI_NI2 } IsdnSwitchType;
Where:
- ISDN_BRI_5ESS = ATT 5ESS BRI
- ISDN_BRI_DMS100 = Northern Telecom DMS100 BRI
- ISDN_BRI_NTT = Japanese INS-Net 64 BRI
- ISDN_BRI_NET3 = EuroISDN BRI
- ISDN_BRI_NI1 = National ISDN 1
- ISDN_BRI_NI2 = National ISDN 2
|
| switch_side |
Boolean value defining whether the DSL should be configured as the Network side (NT) or the User side (TE). |
#define USER_SIDE 0 #define NETWORK_SIDE 1
Where:
- USER_SIDE = User side of ISDN protocol
- NETWORK_SIDE = Network side of ISDN protocol
|
| number_of_ endpoints |
Number of logical data links to be supported. |
1 to MAX_DLINK, where MAX_DLINK is currently set to 8. This field only has significance when configuring the DSL as the NETWORK side. |
| feature_controlA |
Firmware feature control field A. This is a bit mask field for setting features in the firmware. |
The
following defines are used to configure the firmware features. The lowest
two bits provide a combination of four possible settings for the TONE
feature.
#define NO_PCM_TONE 0x00#define ULAW_PCM_TONE 0x01#define ALAW_PCM_TONE 0x02#define DEFAULT_PCM_TONE 0x03#define SENDING_COMPLETE_ATTACH 0x04#define USER_PERST_L2_ACT 0x08#define HOST_CONTROLLED_RELEASE 0x10
Where:
- NO_PCM_TONE = Disable firmware from providing
tones and set default encoding according to switch type
- ULAW_PCM_TONE = Provide tones and use ULAW
encoding for B channel tones
- ALAW_PCM_TONE = Provide tones and use ALAW
encoding for B channel tones
- DEFAULT_PCM_TONE = Provide tones and use
default encoding for B channel tones according to the switch type
setting
- SENDING_COMPLETE_ATTACH = Add Sending Complete
IE to SETUP message
- USER_PERST_L2_ACT = Persistent L2 activation
on User side
- HOST_CONTROLLED_RELEASE = Delay RELEASE
reply until host issues gc_ReleaseCall( )
|
| feature_controlB |
Firmware feature control field. This is a bit mask field for setting features in the firmware. |
Currently not used. |
| rfu_1 & rfu_2 |
Reserved for future use. |
Currently not used. |
| tei_assignment |
Applies to User Side only. It specifies if the terminal has a fixed TEI or an auto-assigning TEI. If it is fixed, then "fixed_tei_value" must be specified (see below). |
#define AUTO_TEI_TERMINAL 0 #define FIXED_TEI_TERMINAL 1
Where:
- AUTO_TEI_TERMINAL = auto TEI assigning Term
- FIXED_TEI_TERMINAL = Fixed TEI assigning Term
|
| fixed_tei_value |
Defines the TEI to be used for a fixed TEI assigning terminal. |
0 to 63 (Required when tei_assignment = FIXED_TEI_TERMINAL) |
| auto_init_flag |
Boolean value defining whether or not the terminal is an auto initializing terminal. This field applies only when configuring the DSL as the User side and only to North American protocols. |
#define AUTO_INIT_TERMINAL 0 #define NON_INIT_TERMINAL 1
Where:
- AUTO_INIT_TERMINAL = auto initializing terminal
- NON_INIT_TERMINAL = non-auto initializing term
|
| SPID |
Defines the assigned Service Provider Identifier (SPID) value for terminal initialization. It is only applicable to User side US switches. When you set the SPID, it is assigned to both bearer channels associated with the D channel. |
ASCII digit string limited to the digits 0-9 and limited in length to MAX_SPID_SIZE Where: MAX_SPID_SIZE = (20+1) (Required when auto_init_flag = AUTO_INIT_TERMINAL. Most North American switches require a SPID.) |
| no_am.rfu_1 & rfu_2 |
Reserved for future use. |
Currently not used. |
| rfu[RFU_COUNT] |
Array of fields reserved for future use. |
Specified values are in 10 millisecond increments. For example, a specified value of 100 is equivalent to 1 second. Possible values are:
- 0 = Default value for switch·
- 1 = Default value for switch·
- 0 < n < 1 = Timer value in tens of milliseconds
Note: Incorrect or unreasonable timer settings will result in undesirable effects to calls as well as the call control stack. Before you override the default values, you need to understand the timer meanings and their interdependencies. |
| T3xx (T302, T303, T304, T305, T306, T308, T309, T310, T312, T313, T318, T319, T322) |
Defines the Layer 3 timer values. See Q.931 specification and corresponding switch specifications for exact definitions and default values for these timers. Not all timers are applicable to all of the switches. |
|