DSP Service Request 0x00BD

SwitchKit Name

DSPServiceRequest

Type

EXS API and SwitchKit API message

Description

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 Excel platform 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 Excel platform answers with a Call Progress Analysis Result (0x34) message.

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

0x81 DTMF Receiver, Matrix Based RFC 2833 collection

0xC1 DTMF Receiver, Matrix Based on SUBSCRIBE/NOTIFY

:

Data[0 . . . ]

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

 

0x01 DTMF Receiver (0x01) and

0x81 DTMF Receiver, Matrix Based RFC 2833 Collection

 

The DTMF receiver data instructs the Excel platform 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 Excel platform sends
Call Processing Event messages with event "digits" for every digit collected. If an error condition occurs,
the Excel platform sends a Call Processing Event message with the "Status" field indicating the error.


The host application is responsible for instructing the Excel platform 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 Excel platform 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 Excel platform automatically sets the time to 0x0003.

NOTE: 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.

 

 

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 Excel platform releases the Coin Tone receiver. This field may be set to 0xFFFF to disable the timer.

:

Checksum