PPL Data Query 0x00DE

SwitchKit Name

PPLDataQuery

Type

EXS API and SwitchKit API message

Description

Use this message to query the following PPL information for a channel or slot:

• PPL Configuration Bytes 1–200

• PPL Generic Timers

• Current PPL Component State

• PPL Table

• Current Protocol ID

• PPL Configuration Bytes 1–200

• PPL Configuration Bytes 201–400

• PPL Configuration Bytes 401–600

• PPL Configuration Bytes 601-800

• PPL Configuration Bytes 801-1000

• DTMF Timers

Sent by

Host

SwitchKit Code

C Structure

typedef struct {

UBYTE AddrInfo[30];

unsigned short ComponentID;

UBYTE Entity;

} XL_PPLDataQuery;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE AddrInfo[30];

unsigned short ComponentID;

UBYTE Entity;

UBYTE ConfigData[218];

} XL_PPLDataQueryAck;

C++ Class

class XLC_PPLDataQuery : public XLC_OutboundMessage {

public:

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

XBYTE getSpan() const;

void setSpan(XBYTE x);

UBYTE getChannel() const;

void setChannel(UBYTE x);

UBYTE getSlot() const;

void setSlot(UBYTE x);

XBYTE getV5ID() const;

void setV5ID(XBYTE x);

unsigned short getComponentID() const;

void setComponentID(unsigned short x);

UBYTE getEntity() const;

void setEntity(UBYTE x);

};

C++ Class Response

class XLC_PPLDataQueryAck : public XLC_AcknowledgeMessage {

public:

unsigned short getStatus() const;

void setStatus(unsigned short x);

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

XBYTE getSpan() const;

void setSpan(XBYTE x);

UBYTE getChannel() const;

void setChannel(UBYTE x);

UBYTE getSlot() const;

void setSlot(UBYTE x);

XBYTE getV5ID() const;

void setV5ID(XBYTE x);

unsigned short getComponentID() const;

void setComponentID(unsigned short x);

UBYTE getEntity() const;

void setEntity(UBYTE x);

const UBYTE *getConfigData() const;

UBYTE *getConfigData();

void setConfigData(UBYTE *x);

};

 

 

 

Overview of message

The following table provides an overview of this message. The table following it, provides the detail for each byte.

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0xNNNN)

1, 2

Length (0xNNNN)

3, 4

Message Type (0x00DE)

3, 4

Message Type (0x00DE)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

:

AIB (starting with byte 0)

8, 9

Status MSB, LSB

:

PPL Component ID MSB, LSB

10

AIB

:

PPL Configuration Entity

:

PPL Component ID MSB, LSB

:

Data [0] (if applicable)

:

PPL Configuration Entity

:

:

:

Response Data

:

Checksum

:

:

 

 

:

Checksum

EXS API Hex Format - Detailed

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0xNNNN)

1, 2

Length (0xNNNN)

3, 4

Message Type (0x00DE)

3, 4

Message Type (0x00DE)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

:

AIB

Address Element

 

Depends on the component
being addressed.

 

See PPL Component Addressing
in the API Reference.

8, 9

Status MSB, LSB

Number of AEs to follow

AE

Depends on the component being addressed.

:

PPL Component ID MSB, LSB

See PPL Component IDs in the API Reference.

10

AIB

Same as message

:

PPL Configuration Entity

0x01 PPL Configuration Bytes
1–200

0x02 PPL Generic Timers

0x03 Current PPL Component State

0x04 PPL Table

0x05 Current PPL Component
Extended State

0x06 Current Protocol ID

0x07 DTMF Timers
0x08 GK Status

0x10 PPL Configuration Bytes
1–200

0x11 PPL Configuration Bytes
201–400

0x12 PPL Configuration Bytes
401–600

0x13 PPL Configuration Bytes
601-800

0x14 PPL Configuration Bytes
801-1000

 

NOTE: Use values 0x10–0x14 for ANSI and ITU L3P CIC components. Use the value 0x01 for all other components.

:

PPL Component ID MSB, LSB

:

Data

This field applies to the PPL Table entity only.

0x04 PPL Table

Data[0] Table Type

0x03 Route Table

0x04 Resource Group
Table

Data[1] Table ID 0x01–0x0A

Data[2, 3] Start of Range
(MSB, LSB)

Route Table ID: 1–1024

Resource Group ID: 1–256

Complete table: 0xFFFF

:

PPL Configuration Entity

0x01 PPL Configuration Bytes
1–200

0x02 PPL Generic Timers

0x03 Current PPL Component State

0x04 PPL Table

0x06 Current Protocol ID
0x07 DTMF Timers
0x08 GK Status:
0x00 - undiscovered
0x01 - discovered, unregistered - response
includes IP address (4 bytes) and
port (2 bytes)
0x02 - registered - response includes IP
address (4 bytes) and port (2 bytes)
0xFF - invalid

0x10 PPL Configuration Bytes 1–200

0x11 PPL Configuration Bytes 201–400

0x12 PPL Configuration Bytes 401–600

0x13 PPL Configuration Bytes 601-800

0x14 PPL Configuration Bytes 801-1000

 

NOTE: Values 0x10–0x14 are used for ANSI and ITU L3P CIC components. The value 0x01 is used for all other components.

:

Checksum

:

Response continued below.

 

0x03 Current PPL Component State

0x00 OOS & Span Dead

0x02 TEI Assign Wait (Waiting for Terminal Endpoint Identifier assigned event.)

0x03 D Channel Alive Wait (Try to bring the link up, but network is not responding.)

0x04 Alive

0x05 Wait for Layer 1 Alive

0x06 Wait for D Dead Event (Waiting for D channel OOS event.)

 

0x04 PPL Table

 

Data[0] Table Type

Data [1] Table ID 0x01-0x0A

0x03 Route Table

0x04 Resource Group Table*
NOTE: If Data[1] is 0x04 Resource Group Table, see farther down this table for information

If Data[1] is 0x03 Route Table, Data[2-7] are as immediately follows:

Data[2, 3] Start of Range (MSB, LSB)

Route Table ID: 0x01–0x400

Resource Group ID: 0x01–0x100

Complete Table: 0xFFFF

Data[4, 5] Number of Entries

Data[6] Entry 1 Length

Data[7] Entry 1 Data

Data[00 01] Route Number

Data[02 03] Route Property

0x0001 Mask

0x0002 Range

Data[04 05] Route Group ID

Data[06 07] Criteria Type

 

 

Criteria Type All but Universal

Data[00 08] Criteria Data Length

Data[variable] Criteria data ( actual .rte table data, "0" is ‘don’t care’)

Byte[:]

See NOTE 1 for Data & Mask calcula-tions

 

IF Route Property = 0x01,

Byte[a] = number of bytes in Data

Byte[b] = number of bytes in Mask

 

IF Route Property = 0x02,

Byte[x] = number of bytes in Start Range

Byte[y] = number of bytes in End Range

Byte[z] = number of bytes in Mask

 

Data[:] TLV Count (Number of TLV entries)

Data[:] TLV Tag See TLV Formats

Data[:] TLV Length

Data[:] TLV Value

:

Data[:] Entry N Length

Data[:] Entry N Data

 

Criteria Type Universal

Data[00 08] Criteria Data Length

Data[variable] Criteria data ( actual .rte table data, "0" is ‘don’t care’)

Byte[1] Univ data format

0x01 Raw Bytes

0x02 ASCII Bytes

0x03 BCD Data

Byte[2] Univ data offset

Byte[3-6] Reserved, should be 0

Byte[:]

See NOTE 2 for Data & Mask calcula-tions

 

IF Route Property = 0x01

Byte[a] = number of bytes in Data

Byte[b] = number of bytes in Mask

 

IF Route Property = 0x02,

Byte[x] = number of bytes in Start Range

Byte[y] = number of bytes in End Range

Byte[z] = number of bytes in Mask

 

Data[:] TLV Count

Data[:] TLV Tag
See TLV Formats in the TLV chapter

Data[:] TLV Length

Data[:] TLV Value

:

Data[:] Entry N Length

Data[:] Entry N Data

 

 

*0x04 Resource Group Table
NOTE: If Data[1] is 0x04 Resource Group Table, Data[2-7] are as follows:

Data[2, 3] Start of Range (MSB, LSB)

Route Table ID: 0x01–0x400

Resource Group ID: 0x01–0x100

Complete Table: 0xFFFF

Data[4, 5] Number of Entries

Data[6] Entry 1 Length

Data[7] Entry 1 Data

Data[00 01] Resource Group ID

Data[02 03] Special Instruction (see special instruc. TLV [0x001D])

Data[variable] AIB See AIB Types

:

Data[:] Entry N Length

Data[:] Entry N Data

 

Data 0x05

Data[0, 1] Current State (MSB, LSB)

:

Checksum

NOTE 1

The following information shows calculations for the number of bytes in the Data, Start/End Range, and Mask fields.The actual data within these bytes varies.

 

1. Convert Criteria Data Length to decimal value.

2. If Route Property = 0x01

a = number of bytes in Data = Criteria Data Length / 2

b = number of bytes in Mask = Criteria Data Length / 2

3. If Route Property = 0x02,

x = number of bytes in Start Range = Criteria Data Length / 3

y = number of bytes in End Range = Criteria Data Length / 3

z = number of bytes in Mask = Criteria Data Length / 3

 

NOTE 2

The following information shows calculations for the number of bytes in the Data, Start/End Range, and Mask fields.The actual data within these bytes varies.

1. Convert Criteria Data Length to decimal value.

2. If Route Property = 0x01

a = number of bytes in Data = (Criteria Data Length – 6) / 2

b = number of bytes in Mask = (Criteria Data Length – 6) / 2

3. If Route Property = 0x02,

x = number of bytes in Start Range = (Criteria Data Length – 6) / 3

y = number of bytes in End Range = (Criteria Data Length - 6) / 3

z = number of bytes in Mask = (Criteria Data Length – 6) / 3

If the response data cannot be sent by the Excel platform in one message, you must resend the message, incrementing the range, until a response status of 0xD7 is returned.

Criteria Type entries

0x0001 Address Digits 1

0x0002 Address Digits 2

0x0003 Address Digits 3

0x0004 Address Digits 4

0x0005 User-defined

0x0006 Route Group ID

0x0007 Incoming Span/Channel

0x0010 Incoming Resource Group

0x001A Incoming Node ID

Universal Protocol Data

A Universal Protocol is one of the options that can be used when defining a particular Criteria Type. You must distinguish between UDP and other possible entries to accurately show the data contained in the Route Tables.

0x09CE Build Index Table

0x2718 Calling Party Number (Connected Number)

0x27B0 RTP Payload Type

0x2792 Source IP Address

0x2792 Source IP Address

0x2793 Source RTP Port

0x2794 Destination IP Address

0x2795 Destination RTP Port

0x27B0 RTP Payload Type

0x27B1 RTP Payload Size