You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > Call Progress Analysis Pattern Configure 0x00B2
Call Progress Analysis Pattern Configure 0x00B2
SwitchKit Name
CPAPatternConfig
Type
EXS API and SwitchKit API message
Description
Use this message to add, delete, or change a call progress analysis (CPA) pattern.
Sent by
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 (0x0007) |
3, 4 |
Message Type (0x00B2) |
3, 4 |
Message Type (0x00B2) |
5 |
Reserved (0x00) |
5 |
Reserved (0x00) |
6 |
Sequence Number |
6 |
Same Sequence Number |
7 |
Logical Node ID |
7 |
Logical Node ID |
8, 9 |
|||
10 |
Checksum |
||
8 |
Update All Flag |
||
9 |
Pattern ID |
||
10 |
Action |
||
11 |
Data [0] |
||
: |
Data [n] |
||
: |
Checksum |
SwitchKit Code
Configuration
CPAPatternConfig (
Node = integer,
UpdateFlag = integer,
Pattern = integer,
Action = integer,
Data = byte array);
C Structure
typedef struct {
UBYTE UpdateFlag;
UBYTE Pattern;
UBYTE Action;
UBYTE Data[250];
} XL_CPAPatternConfig;
C++ Class
class XLC_CPAPatternConfig : public XLC_OutboundMessage {
public:
UBYTE getUpdateFlag() const;
void setUpdateFlag(UBYTE x);
UBYTE getPattern() const;
void setPattern(UBYTE x);
UBYTE getAction() const;
void setAction(UBYTE x);
const UBYTE *getData() const;
UBYTE *getData();
void setData(UBYTE *x);
};
EXS API Hex Format - Detailed
MESSAGE (White) |
RESPONSE (Gray) |
||
Byte |
Field Description |
Byte |
Field Description |
0 |
Frame (0xFE) |
0 |
Frame (0xFE) |
1 |
Length, MSB Length, LSB (N) |
1 |
Length, MSB (0x00) Length, LSB (0x07) |
2 |
2 |
||
3 |
Message Type, MSB (0x00) Message Type, LSB (0xB2) |
3 |
Message Type, MSB (0x00) Message Type, LSB (0xB2) |
4 |
4 |
||
5 |
Reserved (0x00) |
5 |
Reserved (0x00) |
6 |
Sequence Number |
6 |
Same Sequence Number |
7 |
Logical Node ID |
7 |
Logical Node ID |
8, 9 |
Status MSB, LSB |
||
10 |
Checksum |
||
8 |
Update All Flag 0x00 Store new configuration but do not use it. Use this value if you are sending more configuration messages. You use this value for
0x01 Use new configuration immediately.
This field indicates whether or not you are going to update all fields with the configuration you are defining in this and previous messages. For example, suppose you are updating several characteristics of call progress analysis.
The Call Progress Analysis Configuration Query message reports configuration changes even when the Update All Flag is not set; however, detection does not happen until the flag is set to 0x01. |
||
9 |
Pattern ID The number of the pattern to add, delete, or change. The following are the default IDs. Because you can modify the patterns, your pattern IDs may not correspond to this list. 0x01 Ringback 0x02 Double Ringback 0x03 Busy 0x04 Reorder 0x05 PBX Intercept 0x06 SIT Intercept 0x07 Vacant Code 0x08 Reorder-SIT 0x09 No Circuit LEC 0x0A Reorder-Carrier 0x0B No Circuit-Carrier 0x0C PBX Dialtone 0x0D Standard Dialtone 0x0E CPC Detection |
||
10 |
Action 0x01 Add/Replace Pattern 0x02 Delete Pattern 0x03 Change Pattern Parameter |
||
11 . . . |
Data[0-N] This set of data fields provides the necessary information to perform the action indicated in the Action field. Valid entries for this field are listed below by Action field value.
0x01 Add/Replace Pattern Data[0] Pattern ID (Value to be returned upon detection) Data[1] Tone Group ID Data[2] Pattern Configuration This data byte is a bit mask you use to set the configuration options of Bit 0 Last Interval Continuous 1 Detect Tone After Determination 2 Use as Internal Dialtone 37 Reserved
Data[3] CPA Report on Pattern Loss (for example, Answer) Data[4] Interval Cycles to Match Data[5] Interval Cycles to Report Data[6] Reserved Data[7] Interval Descriptor Count (maximum is 8) |
||
|
Interval Descriptor 1 Data[8] Tone ID (0x00 for silence) Data[9] Reserved (0x00) Data[10,11] Minimum filter (given in 10ms units) Data[12,13] Maximum filter (given in 10ms units) : Interval Descriptor N 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
|
||
|
0x02 Delete Pattern Data[0] Pattern ID to Delete
0x03 Change Pattern Parameter Data[0] Parameter to Change 0x01 Pattern ID 0x02 Tone Group ID 0x03 Pattern Configuration 0x04 CPA Result on Pattern Loss (for example, Answer) 0x05 Interval Cycles to Match 0x06 Interval Cycles to Report 0x07 Reserved 0x08 Interval Data
for all Parameters except 0x03 and 0x08 Data[1] New Parameter Value (
|
||
|
for Parameter 0x03 Data[1] New Pattern Configuration This data byte is a bit mask you use to set the configuration options of a pattern. Bit 0 Last Interval Continuous 1 Detect Tone After Determination 2 Use as Internal Dialtone 37 Reserved
for Parameter 0x08 Data[1 ] Interval Descriptor Count Data[2] Interval Index Data[3] Tone ID Data[4] Reserved (0x00) Data[56] Minimum Filter (given in 10ms units) Data[78] Maximum Filter (given in 10ms units) |
||
: |
Checksum |
Example Message
This example shows changing the "Interval Sequences to detect before reporting pattern" of Ringback to "2."
Byte |
Message |
Values |
0 |
Message Frame |
0xFE |
1 |
Length, MSB |
0x00 |
2 |
Length, LSB |
0x0A |
3 |
Message Type, MSB |
0x00 |
4 |
Message Type, LSB |
0xB2 |
5 |
Reserved |
0x00 |
6 |
Sequence Number |
0x01 |
7 |
Logical Node ID |
0xFF |
8 |
Update All Flag |
0x01 |
9 |
Pattern ID |
0x01 (Ringback) |
10 |
Action |
0x03 (Change Parameter) |
11 |
Data[0] Parameter |
0x06 (Interval Cycles to Report) |
12 |
Data[1] Value |
0x02 |
13 |
Checksum |
0xC1 |