ISDN_PROTOCOL_PARMS_Q931CC structure

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;