Version


typedef struct ISDN_MESSAGE
{
nai_t nai; /* Network access interface index */
ent_id_t from_ent; /* Message source */
ent_id_t to_ent; /* Message destination */
sapi_t to_sapi; /* Destination Service Access Point */
union {
add_t conn_id; /* Connection identifier for the ACU layer */
add_t crv; /* Call Reference value for the NS layer. Not used */
add_t ces; /* Connection Endpoint suffix (DL later upper half) */
add_t tei; /* Terminal Endpoint ID (DL layer lower half). Not used */
add_t chani; /* Physical layer channel identifier. Not used */
} add;
code_t code; /* Primitive code unique only between two entities */
WORD inf0; /* Information location 0 */
WORD inf1; /* Information location 1 */
WORD inf2; /* Information location 2 */
WORD inf3; /* Information location 3 */
WORD inf4; /* Information location 4 */
WORD data_size; /* Size of data to follow */
WORD nfas_group; /* NFAS group number, if multiple NAI values are */
/* configured */
DWORD userid; /* User ID */
} ISDN_MESSAGE;

typedef struct ISDN_PACKET
{
ISDN_MESSAGE message; /* ISDN message identification information */
BYTE data[4]; /* Data included in packet (>=0 */
} ISDN_PACKET;

|
For...
|
Specify...
|
|---|---|
|
ACU stack mode
|
ISDN_PROTOCOL_PARMS_Q931CC
|
|
LAPD stack mode
|
ISDN_PROTOCOL_PARMS_LAPD
|
|
Channelized stack mode
|
ISDN_PROTOCOL_PARMS_CHANNELIZED
|

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]; /* */
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 inidates na presubscribes
to service */
BYTE aoc_d_presubscribed; /* On/Off, ON inidates na presubscribes
to service */
BYTE aoc_e_presubscribed; /* On/Off, ON inidates 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;

typedef struct ISDN_PROTOCOL_PARMS_LAPD
{
DWORD size; /* Size of this structure */
timer_val_t t101;
timer_val_t t102;
timer_val_t t198; /* Observation period for Frame error count */
WORD rate; /* Data rate */
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 (dlint.h) */
BYTE tei[3]; /* tei values:
0 : broadcast
1-63 : Non automatic TEI assignment
127 : Automatic TEI assignment */
BYTE bpad[1]; /* for 8 bytes alignment */
/* size is now 32 bytes */
WORD nfas_group; /* NFAS group number if duplicate NAI values */
BYTE bpad1[2]; /* for 8 bytes alignment */
/* size is now 32 bytes */
} ISDN_PROTOCOL_PARMS_LAPD;

Version