You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > Outpulse Digits 0x0020
SwitchKit Name
OutpulseDigits
Type
EXS API and SwitchKit API message
Description
Outpulse Digits 0x0020
This message instructs the CSP to outpulse up to two strings of digits to the specified channel. The strings may be in BCD or non-BCD format.
Using non-BCD format allows the host to insert silence between the outpulsing of digits by inserting delay digits (0x10) within the digit string. When a delay digit is encountered in a digit string, the DSP providing the outpulsing will transmit silence for the delay duration. The delay duration is configured by the host in this message. Delay digits may be grouped to provide dynamic delay durations.
Sent by
SwitchKit Code
C Structure
typedef struct {
unsigned short Span;
UBYTE Channel;
UBYTE SignalType;
UBYTE StringCount;
UBYTE StringFormat;
UBYTE StringMode;
unsigned short FirstDigitDuration;
unsigned short DigitDuration;
unsigned short InterDigitDuration;
unsigned short DelayDuration;
UBYTE GenerateEventFlag;
UBYTE StringsData[210];
} XL_OutpulseDigits;
C++ Class
class XLC_OutpulseDigits : public XLC_OneChannelOutbound {
public:
unsigned short getSpan() const;
void setSpan(unsigned short x);
UBYTE getChannel() const;
void setChannel(UBYTE x);
UBYTE getSignalType() const;
void setSignalType(UBYTE x);
UBYTE getStringCount() const;
void setStringCount(UBYTE x);
UBYTE getStringFormat() const;
void setStringFormat(UBYTE x);
UBYTE getStringMode() const;
void setStringMode(UBYTE x);
unsigned short getFirstDigitDuration() const;
void setFirstDigitDuration(unsigned short x);
unsigned short getDigitDuration() const;
void setDigitDuration(unsigned short x);
unsigned short getInterDigitDuration() const;
void setInterDigitDuration(unsigned short x);
unsigned short getDelayDuration() const;
void setDelayDuration(unsigned short x);
UBYTE getGenerateEventFlag() const;
void setGenerateEventFlag(UBYTE x);
const UBYTE *getStringsData() const ;
UBYTE *getStringsData();
void setStringsData(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 (0x0007) |
3, 4 |
Message Type (0x0020) |
3, 4 |
Message Type (0x0020) |
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 |
|
: |
: |
10, 11 |
If the preceding Status field is a positive acknowledgement, this field does not apply. |
: |
Signal Type |
||
|
|
12 |
Checksum |
: |
String Count |
||
: |
String Format |
||
: |
String Mode |
||
: |
First Digit Duration MSB, LSB |
||
: |
Digit Duration MSB, LSB |
||
: |
Interdigit Duration MSB, LSB |
||
: |
Delay Duration MSB, LSB |
||
: |
Generate Event Flag |
||
: |
String 1 Digit Count |
||
: |
String 1 Digits |
||
: |
: |
||
: |
String 2 Digit Count |
||
: |
String 2 Digits |
||
: |
: |
||
: |
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 (0x0007) |
3, 4 |
Message Type (0x0020) |
3, 4 |
Message Type (0x0020) |
5 |
Reserved (0x00) |
5 |
Reserved (0x00) |
6 |
Sequence Number |
6 |
Same Sequence Number |
7 |
Logical Node ID |
7 |
Logical Node ID |
: |
AIB Address Method 0x00 - Individual AEs |
8, 9 |
Status (MSB, LSB) |
Number of AEs to follow |
|||
AE |
|||
: |
Signal Type 0x01 DTMF 0x02 MFR1 |
10 |
Checksum |
: |
String Count Number of digit strings to be outpulsed (0x01–0x02) |
||
: |
String Format 0x00 BCD (two digits per byte, delay digits not valid) 0x01 Non-BCD (one digit per byte, delay digits valid) |
||
: |
String Mode This field is valid only if signal type is MFR1. (Set to 0x00 for DTMF) 0x00 The CSP will insert KP and ST framing digits. 0x01 The host will insert framing digits. |
||
: |
First Digit Duration MSB, LSB This field is valid only if signal type is MFR1. (Set to 0x00 for DTMF) A two-byte field identifying the length of time to outpulse the KP signal. |
||
: |
Digit Duration MSB, LSB A two-byte field identifying the length of time to outpulse the digits. |
||
: |
Interdigit Duration MSB, LSB A two-byte field identifying the length of time to wait between each outpulsed digit. |
||
: |
Delay Duration MSB, LSB A two-byte field identifying the length of time to wait when the delay digit (0x10) is encountered |
||
: |
Generate Event Flag 0x00 Do not inform host when outpulsing complete 0x01 Inform host when outpulsing complete with a Call Processing Event message |
||
: |
String 1 Digit Count Number of digits in string to follow (0x01–0x64). This message allows for 100 bytes of digit data which means: if the host specifies string format |
||
: |
String 1 Digits (See table below) |
||
: |
: |
||
: |
String 2 Digit Count |
||
: |
String 2 Digits |
||
: |
: |
||
|
Refer to Interworking TLVs if you have enabled interworking from the VoIP Protocol Configure 0x00EE message. |
||
: |
Checksum |
String NN Digits
Call State |
Pre-5.3 Values |
CSP Call Control CH Values |
Out-of-Service |
0x00 Out-of-Service |
0x00 Out-of-Service |
Idle |
0x01 Reserved |
0x03 In Service Idle |
Connect Wait |
0x02 Reserved |
0x04 Incoming Call, Wait for L5 |
Book Wait |
0x03 Idle |
0x06 Wait For CSA in Incoming Call Wait for Host State |
0x04 Connect Wait |
0x01 Incoming Call |
|
Answer Wait2 |
0x05 Outseize Wait |
0x0E Incoming Call Alerted |
Connect |
0x06 Book Wait |
0x07 Answered |
0x07 Connect |
0x02 Wait For CSA in Incoming Call State |
|
0x08 Release Wait |
0x0C Wait for CSA in Incoming Alerted State |
|
0x09 Clear Wait |
0x0D Wait for CSA in Incoming in Answered State |
|
Clear Wait |
0x0A Busied Out |
0x09 L3 Clear Wait |
0x0B Outseized |
0x0F L3 Clear Wait |
|
Busied Out |
0x0C Hold Acknowledgment Wait |
0x0A Busied out |
0x0D Answer Wait |
0x10 Wait for CSA in Outgoing Cut-thru |
|
Release With Data Wait |
0x0E Answer Wait2 |
0x15 L5 Release Wait |
Outseize Wait |
0x0F Book Wait2 |
0x05 Outgoing Call, L3 Outseize Wait |
Parked |
0x10 Recall Wait |
0x13 Outgoing Call Alerted |
0x11 Purge Response Wait |
0x11 Wait for CSA in Outgoing Alerted State |
|
Outseized |
0x12 Purge Wait |
0x0B Outgoing Call Cut-thru |
0x13 Parked |
0x12 L4 Clear ACK Wait, L3 Clear Received |
|
Release Wait |
0x14 Broadcast Create Wait |
0x08 L4 Clear ACK Wait, L3 Disconnect Received |
0x15 Release With Data Wait |
0x14 L4 Clear ACK Wait, L5 Clear Received |
|
0x16 Incoming Call, L4 Clear ACK Wait (Park Processing) |
||
0x17 Incoming Call Alerted, L4 Clear ACK Wait (ParkProcessing) |
||
0x18 Answered, L4 Clear ACK Wait (Park Processing) |
||
0x19 Outgoing Alerted, L4 Clear ACK Wait (Park Processing) |
||
0x1A Outgoing Cut-thru, L4 Clear ACK Wait (Park Processing) |
||
0x1B Wait for CSA for Internal Routing |
Call State Values in the More Status Field
Digit Transmissions
The following table shows you the hexadecimal equivalents of DTMF and MFR1 digits:
DTMF Digit |
Hex Value |
MFR1 Digit |
Hex Value |
---|---|---|---|
1 |
0x01 |
1 |
0x01 |
2 |
0x02 |
2 |
0x02 |
3 |
0x03 |
3 |
0x03 |
4 |
0x04 |
4 |
0x04 |
5 |
0x05 |
5 |
0x05 |
6 |
0x06 |
6 |
0x06 |
7 |
0x07 |
7 |
0x07 |
8 |
0x08 |
8 |
0x08 |
9 |
0x09 |
9 |
0x09 |
0 |
0x00 |
0 |
0x00 |
* |
0x0E |
KP |
0x0A |
# |
0x0F |
ST |
0x0B |
A |
0x0A |
ST1 |
0x0C |
B |
0x0B |
ST2 |
0x0D |
C |
0x0C |
ST3 |
0x0E |
D |
0x0D |
Delay |
0x10 |
Delay |
0x10 |
|
|