A pointer to the ISDN_MESSAGE structure is passed to isdnSendMessage in the message argument. In this structure, the application specifies the NAI, the NFAS group number (if duplicate NAI values are configured), and the connection ID of the call that the message concerns. The message to be sent, expressed using one of the message primitives, is also specified. The message primitive appears in the code field in this structure. For more information, refer to the Message primitives section.
When the ISDN_PACKET structure is received by the application, it contains a pointer to an ISDN_MESSAGE structure containing message data. For more information, see ISDN_PACKET structure.
ISDN_MESSAGE is defined as follows:
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;