You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > Outpulse Digits 0x0020

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

Host

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 | Status MSB, LSB
: | : | 10, 11 | State 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 0x0D Channel
: | 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. The typical duration is 100 ms (0x000A).
: | Digit Duration MSB, LSB A two-byte field identifying the length of time to outpulse the digits. The typical duration is 80 ms (0x0008).
: | Interdigit Duration MSB, LSB A two-byte field identifying the length of time to wait between each outpulsed digit. The typical duration is 80 ms (0x0008).
: | Delay Duration MSB, LSB A two-byte field identifying the length of time to wait when the delay digit (0x10) is encountered in the digit string. The typical duration is 40 ms (0x0004); it should not be less than 20 ms (0x0002). When determining the delay duration, keep in mind that the inter-digit duration will apply between digit delays.
: | Generate Event Flag 0x00 Do not inform host when outpulsing complete 0x01 Inform host when outpulsing complete with a Call Processing Event message specifying event type as "outpulsing complete."
: | 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 as BCD, it may outpulse two BCD strings of length 100 each, and if the host specifies string format as Non-BCD, it may outpulse one string of 100 digits, or two strings with the sum of digits in both strings equal to 100.
: | 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 |  |

Digital Signal Processor
A computer, attached to the Excel platform through an RS-232 or Ethernet link, from which you run the telecommunications application that controls the Excel platform.
Range of channels provided by T1 or E1 transmission service. A physical span is a group of channels taking up a single physical wire. A logical span is a group of channels taking up less than a single logical wire, or carried over more than one physical wire.
A group of data bits in a specific format, with a flag at each end to indicate the beginning and the end of the frame.
See Address Information Block.
Most Significant Bit
Least Significant Bit
The condition of a component at a given instant. The current "context" of a PPL object, such as Idle, Seizing, Answered. In PPL files, a State is represented by a circle.
Message delimiter (SS7 bit pattern - 01111110)
In PPL, a condition that, when met, drives a state machine (PPL Component) from one state to another, by invoking an associated Primitive. In PPL files, an Event is marked by an arrow and text.
Setting up, monitoring, and tearing down calls.
See Converged Services Administrator.
Outgoing call setup during real-time call processing on a specific channel.
Positive acknowledgment to a message