DSP Service Request 0x00BD

SwitchKit Name

DSPServiceRequest

Type

EXS API and SwitchKit API message

Description

DSP Service Request 0x00BD

Use this message to allocate a DSP service on the specified channel. DSP services supported are:

DTMF Reception

Energy Detection

Call Progress Analysis Reception

Coin Tone Reception (DSP-ONE Only)

After this message is sent the CSP sends the Call Processing Event (0x2E) message to report the occurrence of a corresponding Event on the specified channel. However, if the DSP service type is Call Progress Analysis (0x03) the CSP answers with a Call Progress Analysis Result (0x34) message.

 

NOTE: Ringback is detected on the fourth cycle of ringback/silence.

Sent by

Host

SwitchKit Code

C Structure

typedef struct {

unsigned short Span;

UBYTE Channel;

UBYTE ServiceType;

UBYTE Data[222];

} XL_DSPServiceRequest;

C++ Class

class XLC_DSPServiceRequest : public XLC_OneChannelOutbound {

public:

unsigned short getSpan() const;

void setSpan(unsigned short x);

UBYTE getChannel() const;

void setChannel(UBYTE x);

UBYTE getServiceType() const;

void setServiceType(UBYTE 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 (0x00NN)

1, 2

Length (0x0007)

3, 4

Message Type (0x00BD)

3, 4

Message Type (0x00BD)

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)

0x0002 DSP Receiver Request Timeout

10

Checksum

Number of AEs to follow

AE

0x0D Channel

:

Service Type

0x01 DTMF Receiver

0x02 Energy Detection

0x03 Call Progress Analysis Receiver

0x04 Coin Tone Receiver

0x14 DTMF and Dial Pulse Receiver

0x15 Dial Pulse Receiver

0x16 DTMF and Dial Pulse Receiver with Termination of Tone/Announcement

0x17 Dial Pulse Receiver with Termination of Tone/Announcement

0x81 DTMF Receiver, Matrix Based RFC 2833 collection

0xC1 DTMF Receiver, Matrix Based on SUBSCRIBE/NOTIFY

0xE1 DTMF Receiver with Termination of Tone/Announcement

:

Data[0 . . . ]

The meaning of the Data fields depends on the Service Type. See below.

 

0x01 DTMF Receiver (0x01) and

0x16 DTMF and Dial Pulse Receiver with Termination of Tone/Announcement

0x17 Dial Pulse Receiver with Termination of Tone/Announcement

0x81 DTMF Receiver, Matrix Based RFC 2833 Collection

0xE1 DTMF Receiver with Termination of Tone/Announcement

 

The DTMF receiver data instructs the CSP to attach a digit receiver to the specified channel and to start
collecting digits. The call must be in a state other than idle, out of service, or busied out. The CSP sends
Call Processing Event messages with event "digits" for every digit collected. If an error condition occurs,
the CSP sends a Call Processing Event message with the "Status" field indicating the error.


The host application is responsible for instructing the CSP to release the digit receiver when either the
receiver is finished collecting digits or when an error condition occurs. The host accomplishes the release
by sending a DSP Service Cancel message. If the call is disconnected, the CSP releases the digit receiver.

 

Data[0,1] Digit Timer

The maximum amount of time to wait for the digit.
The following values disable this timer:

0xFFFF
0x0000
0x0001

0x0002

 

Data[2] Configuration Bits (0 = disabled, 1 = enabled)

Bit 0 Report the digit at its falling edge (when the first digit is released).
If the bit is not set the digit will be reported at its rising edge (when the
digit is first entered).

Bit 1 Ignore "#" character as first digit.

Bit 2 Report digit duration (the amount of time the digit has been pressed).
Valid only if Configuration Bit Number 0 is 1.

Bits 3–7 Reserved, must be 0.

 

Data[3,4] Minimum Receive Digit Duration Timer
Valid timer values: 0x0000–0xFFFE

 

The minimum amount of time for a digit to be present before it is detected and validated.
If you send the values 0x0000 through 0x0002, the CSP automatically sets the time to 0x0003.

Note: The Minimum Receive Digit Duration Timer field is not valid for dial pulse detection.

For DTMF detection, you may set either the Digit Timer or the Minimum Digit Duration timer to
0xFFFF, but
not both. If you set both timers to 0xFFFF, this message cannot detect digits.

 

Data[5] Termination Digit for Playback/Tone Generation

0xFF Any DTMF termination digit for terminating playback/tone generation

Note: Data[5] used with Service Type 0xE1, 0x16 and 0x17

 

0x02 Energy Detection

Data[0] Sensitivity Level

The loudness is measured by the energy level present for white noise (constant energy) at a
specified dBm level, ranging from 0 dBm (loudest) to -30 dBm (quietest). A sensitivity level of 0
dBm, the least sensitive, would be used in a case where there is a high level of background noise
expected. A sensitivity level of -30 dBm, the most sensitive would be used if there is little
background noise expected.

0x00 0 dBm

0x01 0 5 dBm

0x02 10 dBm

0x03 15 dBm

0x04 20 dBm

0x05 25 dBm

0x06 30 dBm

 

Data[1] Reporting Mode

0x01 Report Initial Energy Detection Only

0x02 Report All Energy Threshold Crossings

 

Data[2,3] Scan Duration

The scan duration must be expressed in 20 ms increments (10 ms units). For example:

0x0002 = 20ms

0x0004 = 40 ms

0x0006 = 60 ms, etc.

 

Odd increments are rounded down (for example, 0x0003 = 20ms). For more information on energy
detection, refer to the API Developer’s Guide: Overview.

 

Data[4,5] Completion Timer

The maximum amount of time to scan for energy. The following values disable this timer:

0xFFFF
0x0000
0x0001
0x0002

 

 

0x03 Call Progress Analysis Receiver

Allows the host to perform interactive CPA on a channel.

Data[0] CPA Class

0x00 North American Default

0x01 Dialtone

0x02 CPC Detection

0x03 Energy Detection

 

 

0x04 Coin Tone Receiver

Data[0,1] Completion Timer

The maximum amount of time to scan for Coin Tones. If the completion timer expires, the CSP releases the Coin Tone receiver. This field may be set to 0xFFFF to disable the timer.

:

Checksum