Call Progress Analysis Configuration Query 0x008A

SwitchKit Name

CPAConfigQuery

Type

EXS API and SwitchKit API message

Description

Use this message to query call progress analysis (CPA) configuration information.

Sent by

Host

SwitchKit Code

C Structure

typedef struct {

UBYTE QueryEntity;

UBYTE DataType;

} XL_CPAConfigQuery;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE Data[251];

} XL_CPAConfigQueryAck;

C++ Class

class XLC_CPAConfigQuery : public XLC_OutboundMessage {

public:

UBYTE getQueryEntity() const;

void setQueryEntity(UBYTE x);

UBYTE getDataType() const;

void setDataType(UBYTE x);

};

C++ Class Response

class XLC_CPAConfigQueryAck : public XLC_AcknowledgeMessage {

public:

unsigned short getStatus() const;

void setStatus(unsigned short x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x);

};

 

EXS API Hex Format

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0x0007)

1, 2

Length (0xNNNN)

3, 4

Message Type (0x008A)

3, 4

Message Type (0x008A)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

8

Query Entity

This field indicates the characteristic of call progress analysis (CPA) about which the host is seeking information:

0x01 CPA Tone Group

0x02 CPA Pattern List

0x03 CPA Class

8, 9

Status MSB, LSB

9

Data[0]

This field provides the necessary information to perform the action indicated in the Query Entity field.

 

0x01 CPA Tone Group

Data[0] Tone Group ID


0x02 CPA Pattern List

Data[0] Pattern ID


0x03 CPA Class

Data[0] Class ID

10 ...

Data[0-N]

This set of Data fields represents the CPA information requested by the host. The type and amount of data in the response depends on the value of the Query Entity field in the message.

NOTE: Values in data fields marked with an asterisk (*) represent the number of 10ms units.

 

0x01 CPA Tone Group

Data[0] Number of tones in group

Tone Descriptor 1

Data[1] Tone ID

Data[2] Number of frequencies in tone

Data[3, 4] Frequency

Data[5, 6] Dbm

Data[7, 8] Frequency
(not included if Data[2] is 1)

Data[9, 10] Dbm
(not included if Data[2] is 1)

Response continued below...

10

Checksum

10 (Cont.)

:
Tone Descriptor N

Data[M] Tone ID

Data[M+1] Number of frequencies in tone

Data[M+2, M+3] Frequency

Data[M+4, M+5] Dbm

Data[M+6, M+7] Frequency (not included if Data[M+1] is 1)

Data[M+8, M+9] Dbm (not included if Data[M+1] is 1)

 

0x02 CPA Pattern List

Values in data fields marked with an asterisk (*) represent the number of 10ms units.

Data[0] Reserved

Data[1] Reserved

Data[2] Pattern ID (Value returned upon detection)

Data[3] Tone Group ID

Data[4] Pattern Configuration

0x01 Last Interval Continuous

0x02 Detect Tone After Determination

0x04 Use as Internal Dialtone

Data[5] CPA Result on Pattern Loss (for example, Answer)

Data[6] Interval Cycles to Match

Data[7] Interval Cycles to Report

Data[8] Reserved

Data[9] Interval Descriptor Count

 

Interval Descriptor 1

Data[10] Tone ID (0x00 for silence)

Data[11] Reserved (0x00)

Data[12,13] Minimum filter *

Data[14,15] Maximum filter *

:

Interval Descriptor 8 (All 8 are sent even if not in use)

Data[N] Tone ID (0x00 for silence)

Data[N+1] Reserved (0x00)

Data[N+2, N+3] Minimum filter *

Data[N+4, N+5] Maximum filter *

 

 

0x03 CPA Class

Values in data fields marked with an asterisk (*) represent the number of 10ms units.

Data[0] Mode

Data[1] Advanced Answer Detect

Data[2,3] Start Delay

Data[4,5] Continuous Silence Timeout *

Data[6,7] Time to wait for pattern confirmation *

Data[8,9] Time to wait after confirmation and no report *

Data[10,11] Minimum frequency glitch time *

Data[12,13] Minimum silence glitch time *

Data[14,15] Maximum on timer *

Data[16,17] Maximum off timer *

Data[18,19] Mode Specific 1

Data[20,21] Mode Specific 2

Data[22] Number of patterns in class

Data[23] Pattern ID (First one)

:

Data[N] Pattern ID (Last one)

:

Checksum