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 D-channel is configured using the cc_SetDChanCfg( ) function.
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 the configuration must be set. There are no default values.
Table 32. 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:
|
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:
|
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:
|
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:
|
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:
|
fixed_tei_value |
Defines the TEI to be used for a fixed TEI assigning terminal. |
0 to 63 |
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:
|
SPID |
Defines the assigned Service Provider Identifier (SPID) value for terminal initialization. It is only applicable to User side US switches. NOTE: When the SPID is set, it is assigned to both bearer channels associated with the D channel. To subsequently modify SPID assignments, use cc_SetParmEx( ). |
ASCII digit string limited to the digits 0-9 and limited in length to MAX_SPID_SIZE Where: MAX_SPID_SIZE = (20+1) |
no_am.rfu_1 & rfu_2 |
Reserved for future use. |
Currently not used. |
rfu[RFU_COUNT] |
Array of fields reserved for future use. |
Currently not used. |
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 specifica-tions for exact definitions and default values for these timers. Not all timers are applicable to all of the switches. |
Specified values are in 10 millisecond increments. For example, a specified value of 100 is equivalent to 1 second. Possible values are:
NOTE: Incorrect or unreasonable timer settings will result in undesirable effects to calls as well as the call control stack. Before overriding the default values, users needs to understand the timer meanings and their interdependencies. |
Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation