You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > 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
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 |
: |
Address Method 0x00 - Individual AEs |
8, 9 |
0x0002 DSP Receiver Request Timeout |
10 |
Checksum |
||
Number of AEs to follow |
|||
AE |
|||
: |
Service Type 0x01 DTMF Receiver 0x02 Energy Detection 0x03 Call Progress Analysis Receiver 0x04 Coin Tone Receiver 0x05 Tone Detector 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) 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
Data[0,1] Digit Timer The maximum amount of time to wait for the digit. 0xFFFF 0x0002
Data[2] Configuration Bits (0 = disabled, 1 = enabled) Bit 0 Report the digit at its falling edge (when the first digit is released). Bit 1 Ignore "#" character as first digit. Bit 2 Report digit duration (the amount of time the digit has been pressed). Bits 3–7 Reserved, must be 0. |
||
|
Data[3,4] Minimum Receive Digit Duration Timer
The minimum amount of time for a digit to be present before it is detected and validated. 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
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 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
Data[4,5] Completion Timer The maximum amount of time to scan for energy. The following values disable this timer: 0xFFFF
|
||
|
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
0x05 Tone Detector Data[0] 0x0E - Tone ID (for 2100 Hz)
|
||
: |
Checksum |