You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > PPL Data Query 0x00DE
SwitchKit Name
PPLDataQuery
Type
EXS API and SwitchKit API message
Description
PPL Data Query 0x00DE
Use this message to query the following PPL information for a channel or slot:
PPL Configuration Bytes 1200
PPL Generic Timers
Current PPL Component State
PPL Table
Current Protocol ID
PPL Configuration Bytes 1200
PPL Configuration Bytes 201400
PPL Configuration Bytes 401600
PPL Configuration Bytes 601-800
PPL Configuration Bytes 801-1000
DTMF Timers
Sent by
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 |
|
: |
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
Depends on the component
See PPL Component Addressing |
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 0x02 PPL Generic Timers 0x03 Current PPL Component State 0x04 PPL Table 0x05 Current PPL Component 0x06 Current Protocol ID 0x07 DTMF Timers 0x10 PPL Configuration Bytes 0x11 PPL Configuration Bytes 0x12 PPL Configuration Bytes 0x13 PPL Configuration Bytes 0x14 PPL Configuration Bytes
NOTE: Use values 0x100x14 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 Data[1] Table ID 0x010x0A Data[2, 3] Start of Range Route Table ID: 11024 Resource Group ID: 1256 Complete table: 0xFFFF |
: |
PPL Configuration Entity 0x01 PPL Configuration Bytes 0x02 PPL Generic Timers If the Entity is 0x02 the data following are in two appropriate Developers Guide for the timers. 0x03 Current PPL Component State 0x04 PPL Table 0x06 Current Protocol ID 0x10 PPL Configuration Bytes 1200 0x11 PPL Configuration Bytes 201400 0x12 PPL Configuration Bytes 401600 0x13 PPL Configuration Bytes 601-800 0x14 PPL Configuration Bytes 801-1000
NOTE: Values 0x100x14 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
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* 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: 0x010x400 Resource Group ID: 0x010x100 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 dont 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 dont 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 Data[:] TLV Length Data[:] TLV Value : Data[:] Entry N Length Data[:] Entry N Data
|
||
|
*0x04 Resource Group Table Data[2, 3] Start of Range (MSB, LSB) Route Table ID: 0x010x400 Resource Group ID: 0x010x100 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 |
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
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 CSP 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.
0x2718 Calling Party Number (Connected Number)