Table of Contents Index NMS Glossary Previous Page Next Page Version


Chapter 4

Data Structures


4.1 Introduction
4.2 Messaging Structures
4.2.1 IMGT_MESSAGE Structure
4.2.2 IMGT_MSG_PACKET Structure
4.2.3 IMGT_CONFIG Structure
4.3 Primitive-related Structures IMGT_B_CHANNEL_STATUS_CO 43

IMGT_B_CHANNEL_STATUS_RQ 44

IMGT_RESTART_IN 45

IMGT_SERVICE_CO 46

IMGT_SERVICE_IN 47

IMGT_SERVICE_RQ 48

4.1 IntroductionTop of Page

The NMS ISDN Management API uses data structures to configure the ISDN protocol stack, send messages to the protocol stack, and receive messages from the protocol stack. This chapter presents the IMGT data structures in detail.

Structures and definitions directly related to API functions are defined in the imgtdef.h header file. Structures and definitions related to primitive codes are defined in the imgtsvc.h header file.

4.2 Messaging StructuresTop of Page

The following section describes the structures used to convey messages and message data between the ISDN protocol stack and the application: IMGT_MESSAGE, IMGT_MSG_PACKET, and IMGT_CONFIG.

For more information on sending and receiving IMGT messages, refer to
Chapter 2.

4.2.1 IMGT_MESSAGE StructureTop of Page

A pointer to the IMGT_MESSAGE structure is passed to imgtSendMessage in the message argument. In this structure, the application specifies the NAI and the message to be sent, expressed using one of the message primitives documented in this chapter. (The message primitive appears in the code field in this structure.)

When the IMGT_MSG_PACKET structure is received by the application, it contains an IMGT_MESSAGE structure containing message data. For more information, see Section 4.2.2, IMGT_MSG_PACKET Structure.

IMGT_MESSAGE is defined as follows:

typedef struct

{

BYTE nai;

BYTE code;

WORD nfas_group;

} IMGT_MESSAGE;

4.2.2 IMGT_MSG_PACKET StructureTop of Page

When a message is sent from the protocol stack to the application, it is sent in an IMGT_MSG_PACKET structure. IMGT_MSG_PACKET contains an IMGT_MESSAGE structure (containing the message) and a data area containing the message header. A pointer to the IMGT_MSG_PACKET structure is included in the CTA_EVENT structure returned by ctaWaitEvent.

For more information about receiving Natural Access events, see the Natural Access Developer's Reference Manual.

IMGT_MSG_PACKET is defined as follows:

typedef struct IMGT_MSG_PACKET

{

WORD data_size; /* Size of the data to follow */

IMGT_MESSAGE message; /* IMGT message identification */

BYTE databuff[4]; /* Data included in packet >=0 */

} IMGT_MSG_PACKET;

4.2.3 IMGT_CONFIG StructureTop of Page

To initiate an IMGT session, an application must send an IMGT_CONFIG data structure to the IMGT manager. This data structure contains masks that indicate which message types the application wishes to receive. This data structure is sent to the manager as a parameter in the imgtStart function. The data structure is defined as follows:

typedef struct IMGT_CONFIG

{

DWORD size; /* Size of this structure */

DWORD imgt_mask; /* Message mask */

DWORD trap_mask; /* Reserved for future use */

DWORD mon_mask; /* Reserved for future use */

WORD nfas_group; /* NFAS group number */

BYTE bpads[6]; /* Only required for configurations with duplicate

NAI values on a board */

} IMGT_CONFIG;

imgt_mask in this structure is a bit mask which defines the management events that the application wants to receive:
Mask

Description

IMGT_SERVICE_MASK

If this bit is set, the application receives a notification whenever a SERVICE message is received on the trunk.

IMGT_RESTART_MASK

If this bit is set, the application receives a notification whenever a RESTART message is received on the trunk.

4.3 Primitive-related StructuresTop of Page

This section describes the primitives that can be sent in an IMGT message and the structures associated with these primitives. The tables show which fields are implemented for which variants.

Note: In the following tables, E10 is the same variant as 5ESS. IMGT_B_CHANNEL_STATUS_CO

Purpose

Returned to the application in response to a B channel status request, with an attached buffer containing an imgt_service structure.

Related structure

struct imgt_service

{

BYTE type; /* Either trunk or a individual B Channel */

BYTE nai; /* Network Access Identifier */

BYTE BChannel; /* B Channel */

BYTE status; /* Either IMGT_IN_SERVICE, IMGT_MAINTENANCE,
or IMGT_OUT_OF_SERVICE */

};

Field

Description

4ESS

E10

NI2

DMS100

ETSI

VN6

HKG

AUSTEL1

NTT

KOREA

TAIWAN

QSIG

type

PREFERENCE_TRUNK

PREFERENCE_BCHANNEL


x


x


x

nai

Network Access Identifier

x

x

x

Bchannel

B channel number

x

x

x

status

B channel status:

IMGT_IN_SERVICE

IMGT_MAINTENANCE

IMGT_OUT_OF_SERVICE

x

x

x

Details

For this message, type will always be PREFERENCE_BCHANNEL.

IMGT_B_CHANNEL_STATUS_RQ

Purpose

The application requests the status of a B channel.

Related structure

struct imgt_service

{

BYTE type; /* either trunk or a individual B Channel */

BYTE nai; /* Network Access Identifier */

BYTE BChannel; /* B Channel */

BYTE status; /* either IMGT_IN_SERVICE, IMGT_MAINTENANCE,
or IMGT_OUT_OF_SERVICE */

};

Field

Description

4ESS

E10

NI2

DMS100

ETSI

VN6

HKG

AUSTEL1

NTT

KOREA

TAIWAN

QSIG

type

Not applicable

nai

Network Access Identifier

x

x

x

BChannel

B channel number

x

x

x

status

B channel status: Not applicable

Details

For this message, type must be PREFERENCE_BCHANNEL.

User must fill in the nai and BChannel fields into the imgt_service data structure. All other fields are ignored.

IMGT_RESTART_IN

Purpose

Indicates that the ISDN stack has received a RESTART message from the remote end.

Related structure

struct imgt_restart

{

BYTE type; /* Indicates restart either for the entire trunk

or a individual B Channel */

BYTE nai; /* NAI for RESTART indication */

BYTE BChannel; /* B Channel if type is PREFERENCE_BCHANNEL */

BYTE pad;

};

Field

Description

4ESS

E10

NI2

DMS100

ETSI

VN6

HKG

AUSTEL1

NTT

KOREA

TAIWAN

QSIG

type

PREFERENCE_TRUNK

PREFERENCE_BCHANNEL

x
x

x
x

x
x

x
x

x
x

x
x

x
x

x
x

x
x

x
x

x
x

x
x

nai

Network Access Identifier

x

x

x

x

x

x

x

x

x

x

x

x

BChannel

B channel number

x

x

x

x

x

x

x

x

x

x

x

x

Details

For the DMS variant, the reception of a RESTART message for a single B channel resets the status of that B channel to in service. A RESTART message for the entire interface resets the status of all the B channels on that trunk to in service.

If type is set to PREFERENCE_TRUNK, the BChannel field should be ignored.

IMGT_SERVICE_CO

Purpose

Returned in response to either a management or a call control request to put the channel in or out of service.

Related structure

struct imgt_service

{

BYTE type; /* Either trunk or a individual B Channel */

BYTE nai; /* Network Access Identifier */

BYTE BChannel; /* B Channel */

BYTE status; /* Either IMGT_IN_SERVICE, IMGT_MAINTENANCE,
or IMGT_OUT_OF_SERVICE */

};

Field

Description

4ESS

E10

NI2

DMS100

ETSI

VN6

HKG

AUSTEL1

NTT

KOREA

TAIWAN

QSIG

type

PREFERENCE_TRUNK

PREFERENCE_BCHANNEL


x

x
x


x

nai

Network Access Identifier

x

x

x

BChannel

B channel number

x

x

x

status

B channel status:

IMGT_IN_SERVICE

IMGT_MAINTENANCE

IMGT_OUT_OF_SERVICE

x

x

x

Details

If type is set to PREFERENCE_TRUNK, the BChannel field should be ignored.

IMGT_SERVICE_IN

Purpose

Indicates the ISDN stack has received a SERVICE message from the remote end.

Related structure

struct imgt_service

{

BYTE type; /* Either trunk or a individual B Channel */

BYTE nai; /* Network Access Identifier */

BYTE BChannel; /* B Channel */

BYTE status; /* Either IMGT_IN_SERVICE, IMGT_MAINTENANCE,
or IMGT_OUT_OF_SERVICE */

};

Field

Description

4ESS

E10

NI2

DMS100

ETSI

VN6

HKG

AUSTEL1

NTT

KOREA

TAIWAN

QSIG

type

PREFERENCE_TRUNK

PREFERENCE_BCHANNEL


x

x
x


x

nai

Network Access Identifier

x

x

x

BChannel

B channel number

x

x

x

status

B channel status:

IMGT_IN_SERVICE

IMGT_MAINTENANCE

IMGT_OUT_OF_SERVICE

x

x

x

Details

If type is set to PREFERENCE_TRUNK, the BChannel field should be ignored.

IMGT_SERVICE_RQ

Purpose

The application requests a SERVICE message to be sent to the remote end.

Related structure

struct imgt_service

{

BYTE type; /* Either trunk or a individual B Channel */

BYTE nai; /* Network Access Identifier */

BYTE BChannel; /* B Channel */

BYTE status; /* Either IMGT_IN_SERVICE, IMGT_MAINTENANCE,
or IMGT_OUT_OF_SERVICE */

};

Field

Description

4ESS

E10

NI2

DMS100

ETSI

VN6

HKG

AUSTEL1

NTT

KOREA

TAIWAN

QSIG

type

PREFERENCE_TRUNK

PREFERENCE_BCHANNEL


x

x
x


x

nai

Network Access Identifier

x

x

x

BChannel

B channel number

x

x

x

status

B channel status:

IMGT_IN_SERVICE

IMGT_MAINTENANCE

IMGT_OUT_OF_SERVICE

x

x

x



Table of Contents Index NMS Glossary Previous Page Next Page Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2001, Natural MicroSystems, Inc. All rights reserved.