Tone Query 0x005A

SwitchKit Name

TransmitToneQuery

Type

EXS API and SwitchKit API message

Description

Tone Query 0x005A

This message is used to query the transmit and receive tones assigned to a DSP, as well as the frequency and power levels of the tones.

NOTE: A Tone Query message in the middle of several Tone Configure messages shows the configuration as updated even when the Update All Flag is not set.

Sent by

Host Application

SwitchKit Code

C Structure

typedef struct {

UBYTE QueryEntity;

UBYTE QueryValue[252];

} XL_TransmitToneQuery;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE Data[251];

} XL_TransmitToneQueryAck;

C++ Class

class XLC_TransmitToneQuery : public XLC_OutboundMessage {

public:

UBYTE getQueryEntity() const;

void setQueryEntity(UBYTE x);

const UBYTE *getQueryValue() const;

UBYTE *getQueryValue();

void setQueryValue(UBYTE *x);

};

C++ Class Response

class XLC_TransmitToneQueryAck : public XLC_AcknowledgeMessage {

public:

unsigned short getStatus() const;

void setStatus(unsigned short x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(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 (0x00NN)

1, 2

Length (0x00NN)

3, 4

Message Type (0x005A)

3, 4

Message Type (0x005A)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

8

Query Entity

8, 9

Status (MSB, LSB)

9

Data[0]

10

Data[0]

:

:

:

:

:

Data[n]

:

Data[n]

:

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 (0x00NN)

1, 2

Length (0x00NN)

3, 4

Message Type (0x005A)

3, 4

Message Type (0x005A)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

8

Query Entity

0x01 Call Progress Transmit Tone Frequency
and Power (per Tone ID)

0x02 Tone IDs (per DSP)

0x03 Global dBm level (per Tone Type)
0x04 Call Progress Receive Tone Frequency
and Power (per Tone ID)

8, 9

Status (MSB, LSB)

0x04 Tone Not Found
Returned if the queried tone is not found in the
CPA database.

9

Data[0]

The value of the message Data fields are dependent on the Query Entity, as shown below:

 

0x01 Call Progress Transmit Tone Frequency
and Power per Tone ID

Data[0] Tone ID Value (1–C)

Data[1] 0x00

Data[2] 0x00

 

 

 

 

 

 

 

 

 

 

0x02 Call Progress Transmit Tone IDs per DSP

For the MFDSP and DSP-ONE Cards:

Data[0] DSP card slot number (0–15)

Data[1] SIMM number (0–3)

Data[2] DSP number (0–3)

 

 

0x03 Global dBm level per Tone Type

Data[0] Tone Type (2–5)

Data[1] 0x00

Data[2] 0x00

10

Data[0]

The value of the response Data fields are dependent on the Entity, as shown below.

 

0x01 Frequency and Power

Data[0] Entity

Data[1] Tone ID

Data[2] Number of Frequencies making up tone

Data[3] Reserved

Data[4] Frequency Value[0] Hz, MSB

Data[5] Frequency Value[0] Hz, LSB

Data[6] Frequency dBm[0], MSB

Data[7] Frequency dBm[0], LSB

:

Data[...] Frequency Value[n] Hz, MSB

Data[...] Frequency Value[n] Hz, LSB

Data[...] Frequency dBm[n], MSB

Data[n] Frequency dBm[n], LSB

 

0x02 Call Progress Transmit Tone IDs

Data[0] Entity

Data[1] Number of Tone IDs supported per DSP

Data[2] DSP Channel Number

Data[3] Tone ID

:

Data[...] DSP Channel Number

Data[n] Tone ID

 

 

 

 

0x03 Global dBm Level

The value of the data bytes depends on the tone
type as shown below.

 

For Tone Type 2 (DTMF)

Data[0] Entity

Data[1] Tone Type

Data[2] dBm level for low-band frequency
component, MSB

Data[3] dBm level for low-band frequency
component, LSB

Data[4] dBm level for high-band frequency
component, MSB

Data[5] dBm level for high-band frequency
component, LSB

 

For Tone Types 3–5

Data[0] Entity

Data[1] Tone Type

Data[2] dBm level, MSB

Data[3] dBm level, LSB

 

0x04 Call Progress Receive Tone Frequency and
Threshold per Tone ID

 

Data[0] Tone ID Value (0x0 - 0x11)

Data[1] Tone Group (0x0 - 0x09)

Data[2] Reserved

 

 

0x04 Call Progress Tone Receive Frequency and
Threshold

 

Data [0] Query entity

Data [1] Tone ID (0x0 - 0x11)
Data [2] Number of frequencies making up the
tone (1 or 2)
Data [3] Tone group
Data [4] Frequency value [0] Hz, MSB
Data [5] Frequency value [0] Hz, LSB
Data [6] CPA receiver detection threshold,
dBm, MSB
Data [7] CPA receiver detection threshold,
dBm, LSB
: :

Data [n++] Frequency value [n] Hz, MSB
Data [n++] Frequency value [n] Hz, LSB
Data [n++] CPA receiver detection threshold, dBm,
MSB
Data [n++] CPA receiver detection threshold, dBm,
LSB

:

Data[n]

:

Data[n]

:

Checksum

:

Checksum

 

Example: Query Call Progress Transmit Tone Frequency and Power

This is an example of a message to query Call Progress Transmit Tone Frequency and Power per Tone ID for Tone ID Number 4 configured in the example for the Tone Configure message.

Byte

Message Field

Value

0

Frame

0xFE

1, 2

Length

0x0009

3, 4

Message Type

0x005A

5

Reserved

0x00

6

Sequence Number

SN

7

Logical Node ID

0xFF

8

Query Entity

0x01

9

Data[0]: Tone ID Value

0x04

10

Data[1]

0x00

11

Data[2]

0x00

12

Checksum

CS

Byte

Response Field

Value

0

Message Frame

0xFE

1, 2

Length

0x0013

3, 4

Message Type

0x005A

5

Reserved

0x00

6

Sequence Number

SN

7

Logical Node ID

0xFF

8, 9

Status (MSB, LSB)

0x0010

10

Data[0]: Entity

0x01

11

Data[1]: Tone ID being queried

0x04

12

Data[2]: Number of frequencies making up tone

0x02

13

Data[3]: Reserved

0x00

14, 15

Data[4, 5]: Frequency Value[0] Hz (MSB, LSB)

0x01B8

16, 17

Data[6, 7]: Frequency dBm[0] (MSB, LSB)

0xFFF3

18, 19

Data[8, 9]: Frequency Value[n] Hz (MSB, LSB)

0x010E

20, 21

Data[10, 11]: Frequency dBm[n] (MSB, LSB)

0xFFF3

22

Checksum

CS

Example: Query Call Progress Transmit Tone IDs

This is an example of a message to query Call Progress Transmit Tone IDs.

Byte

Message Field

Value

0

Frame

0xFE

1, 2

Length

0x0009

3, 4

Message Type

0x005A

5

Reserved

0x00

6

Sequence Number

SN

7

Logical Node ID

0xFF

8

Query Entity

0x02

9

Data[0]: MFDSP Card Slot Number

0x01

10

Data[1]: SIMM Number

0x02

11

Data[2]: DSP Number

0x03

12

Checksum

CS

Byte

Response Field

Value

0

Message Frame

0xFE

1, 2

Length

0x000N

3, 4

Message Type

0x005A

5

Reserved

0x00

6

Sequence Number

SN

7

Logical Node ID

0xFF

8, 9

Status (MSB, LSB)

0x0010

10

Data[0]: Entity

0x02

11

Data[1]: Number of Tone IDs Supported

0x0C

12

Data[2]: DSP Channel Number

0x0B

13

Data[3]: Tone ID Value

0x0C

:

:

:

N

Checksum

CS