The ISDN_PROTOCOL_PARMS_Q931CC data structure configures the protocol stack for Q.931 call control. A pointer to this structure is passed as an argument to isdnStartProtocol.
Refer to ISDN_PROTOCOL_PARMS_Q931CC parameters for more information on the default values of the parameters in this structure.
The structure is defined as:
typedef struct ISDN_PROTOCOL_PARMS_Q931CC
{
DWORD size; /* Size of the structure */
/* NAI when interfacing the physical layer
should be the same as the 'nai' */
WORD rate; /* Data rate */
WORD t309; /* T309 in use flag */
union{ /* These structures contain sets of values */
timer_val_t at5[AT5_T_LAST]; /* for ISDN timers. The actual set used */
timer_val_t at9[AT9_T_LAST]; /* depends upon the country variant */
timer_val_t dms[DMS_T_LAST]; /* specified with the 'country' argument */
timer_val_t ni1[NI1_T_LAST]; /* in the isdnStartProtocol call. The */
timer_val_t ni2[NI2_T_LAST]; /* structures should be set to 0 in */
timer_val_t au1[AU1_T_LAST]; /* order to use the built-in defaults */
timer_val_t hkt[HKT_T_LAST]; /* defined by the network signaling */
timer_val_t ntt[NTT_T_LAST]; /* layers of the ISDN protocol stack. */
timer_val_t bt2[BT2_T_LAST]; /* Timers are specified in milliseconds. */
timer_val_t bv1[BV1_T_LAST]; /*CAUTION: The values of these timers */
timer_val_t ets[ETS_T_LAST]; /* may be controlled by local */
timer_val_t qsi[QSI_T_LAST]; /* regulatory authorities: */
timer_val_t swd[SWD_T_LAST]; /* changing these values may */
timer_val_t tr6[TR6_T_LAST]; /* invalidate regulatory */
timer_val_t vn2[VN2_T_LAST]; /* approvals. Check with the */
timer_val_t vn3[VN3_T_LAST]; /* local authority for more */
timer_val_t vn6[VN6_T_LAST]; /* specific information on */
/* any limitations. */
timer_val_t foo[24]; /* 24 is more then the rest, will align
the union on an 8 byte boundary. */
} timers;
/* Available services */
BYTE services_list[CC_MX_SERVICES+1];
BYTE bpad[2]; /* Padding for 8 bytes alignment */
timer_val_t t101;
timer_val_t t102;
timer_val_t t198; /* Observation period for Frame error count*/
WORD max_FEC_errors; /* Maximum number of FEC during t198 */
/* When to assign/remove a TEI */
WORD tei_time_assignment; /* TEI time assignment at : CONFIGURATION,
NA ACTIVATION or USAGE time (isdndl.h) */
WORD tei_time_removal; /* TEI time removal at : NA DEACTIVATION,
POWER DOWN (isdndl.h) */
WORD wpad[3]; /* Padding for 8 bytes alignment */
BYTE tei[3]; /* TEI values:
0 : Broadcast
1-63 : Non automatic TEI assignment
127 : Automatic TEI assignment */
BYTE digitstoroute; /* Number of digits needed to route when
using overlap receiving */
BYTE bpad1[4]; /* Padding for 8 bytes alignment */
/* Call control behaviour */
WORD in_calls_behaviour; /* Incoming calls behaviour */
WORD out_calls_behaviour; /* Outgoing calls behaviour */
/* Network signaling behavior */
WORD ns_behaviour;
/* Automatic call unit behaviour */
WORD acu_behaviour;
BYTE qsig_source_party_nb_type; /* Used for network node
addressing in SS */
BYTE qsig_source_type_of_nb; /* Used for network node
addressing in SS */
BYTE qsig_source_addr[CC_QSIG_MX_ADDR_SIZE+1];
BYTE aoc_s_presubscribed; /* On/Off, ON indicates na presubscribes
to service */
BYTE aoc_d_presubscribed; /* On/Off, ON indicates na presubscribes
to service */
BYTE aoc_e_presubscribed; /* On/Off, ON indicates na presubscribes
to service */
BYTE bpad2[1]; /* Padding for 8 bytes alignment */
WORD nfas_group; /* NFAS group number if duplicate NAI values */
BYTE bpad3[2]; /* Padding for 8 bytes alignment */
WORD rfu1; /* Reserved for future use MUST BE 0 */
WORD rfu2; /* Reserved for future use MUST BE 0 */
WORD w2pad[2]; /* Padding for 8 bytes alignment */
} ISDN_PROTOCOL_PARMS_Q931CC;