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