You are here: CSP Developer’s Guide: Overview > 9 Configuring the DSP-ONE Card > Call Progress Tone Pattern Reception
Call Progress Tone Pattern Reception
Overview
Call progress tone patterns are audible signals that indicate the progress or disposition of a telephone call. The busy signal, ringback, and dial tone are all examples of call progress tone patterns. The act of receiving and interpreting call progress tone patterns is called Call Progress Analysis (CPA).
International Call
Progress Analysis
The CSP can generate and receive Call Progress (CP) Tones, such as dial tone and line busy tone. The system software has long handled the frequencies used in North American phone systems. The CSP can now transmit and receive other tones, including a 400 Hz tone used outside of North America.
When a CP-receiver activates, it detects call progress patterns that are part of a Call Progress Analysis (CPA) Class. The CP-receiver ignores any CP-receive tones that are not part of a pattern in this CPA Class. This scenario allows the receiver to skip over tones that are not of interest, reducing the chance of receiving false Call Progress Analysis Result API messages.
Call Progress Tone Patterns
For information about how call progress tone patterns are formed, refer to the section, Call Progress Tone Pattern Transmission.
For call progress analysis, the CSP groups patterns into classes to facilitate management of CPA receivers. These CPA classes help assign call progress tone patterns to CPA receivers. When the host assigns a DSP resource to scan for call progress tones, the host specifies a class of patterns. The DSP resource then scans for the patterns defined in that class.
Example: You could place all progress tones used in a single country into one class. You could then assign this class to a DSP chip for call progress analysis for that country. The host can modify and create classes, using the CPA Pattern Configure message.
Default Call Progress Analysis Tone Patterns and Classes
All of the tones supported by the CSP are shown in Tones supported by the CSP. The group of tone IDs may use up to 16 frequencies. A pattern is formed when the tones below are played at specific intervals.
Table 9-11 Tones supported by the CSP
Tone ID |
Frequency Count |
Frequency 0 (Hz) |
Frequency 1 (Hz) |
---|---|---|---|
0x00 |
1 |
0 |
|
0x01 |
2 |
350 |
440 |
0x02 |
2 |
440 |
480 |
0x03 |
1 |
440 |
|
0x04 |
1 |
480 |
|
0x05 |
2 |
480 |
620 |
0x06 |
1 |
620 |
|
0x07 |
1 |
914 |
|
0x08 |
1 |
985 |
|
0x09 |
1 |
1371 |
|
0x0A |
1 |
1429 |
|
0x0B |
1 |
1777 |
|
0x0C |
1 |
2000 |
|
0x0D |
1 |
1700 |
|
0x0E |
1 |
2100 |
|
0x0F |
1 |
425 |
|
0x10 |
1 |
500 |
|
0x11 |
1 |
1100 |
|
0x12 |
1 |
1398 |
|
0x13 |
1 |
1820 |
|
Default Tone Patterns for CPA
The default tone patterns for call progress analysis appear in Default tone patterns for call progress analysis. To modify or create new patterns, use the CPA Pattern Configure message.
Table 9-12 Default tone patterns for call progress analysis
Value |
CPA Tone Pattern |
0x01 |
Ringback |
0x02 |
Double Ringback |
0x03 |
Busy |
0x04 |
Reorder |
0x05 |
PBX Intercept |
0x06 |
SIT Intercept A |
0x07 |
Vacant Code |
0x08 |
Reorder-LEC |
0x09 |
No Circuit-LEC |
0x0A |
Reorder-Carrier |
0x0B |
No Circuit-Carrier |
0x0C |
PBX Dial Tone |
0x0D |
Standard Dial Tone |
0x0E |
CPC Detection |
0x14 |
SIT Intercept B |
CPA Pattern Parameters
The parameters associated with a CPA pattern appear in Parameters associated with CPA patterns.
Table 9-13 Parameters associated with CPA patterns
Pattern ID |
Description |
---|---|
Configuration Bits |
Pattern-specific configuration (see CPA Pattern Configure message) 0x01 = Last Interval Continuous (for pattern ending with continuous tone) 0x02 = Detect Tone After Determination (for reporting Intercept Tones) 0x04 = Use As Internal Dial Tone (to detect dial tone without invoking Call Progress Analysis) |
CPA Result on |
Call Progress Analysis Result to report when a pattern has been matched but discontinues before "interval cycles to report". (CPA Result message). |
Interval Cycles |
The number of times an Interval Sequence must be repeated before declaring the pattern valid |
Interval Cycles |
The number of times an Interval Sequence must be repeated before reporting a Call Progress Result to the host |
Interval Descriptor Count |
The number of Interval Descriptors in the pattern |
Interval Descriptor |
An Interval Descriptor consists of the Tone ID, Min. Filter, and Max. Filter, where: Tone ID – A valid Tone ID Minimum/Maximum Filter (MSB, LSB) – Minimum and maximum duration for this tone interval - A tone is determined as valid if the on and off cycles fall within the minimum and maximum times. |
An Interval Descriptor is a list of the tones and intervals that constitute a pattern. The CSP uses the Interval Descriptor to confirm that a specific pattern has been detected.
Reporting Call Progress Tones
Detected call progress tones can be reported to the host in the following two ways:
• During call setup, with the outseize instruction of Do Call Progress Analysis
• Interactively, by assigning a CPA Receiver with the DSP Service Request message.
Maximum number for call progress tone detection lists the maximum quantities for call progress tone detection in the CSP.
Table 9-14 Maximum number for call progress tone detection
Tone Specification |
System Maximum |
---|---|
Patterns |
30 |
Classes |
15 |
Patterns per class |
15 |
Frequencies per tone |
2 |
Receiving Call Progress Tone Patterns
The algorithm for detecting call progress tones has the following two phases:
1. Pattern Detection – The first phase recognizes the pattern, based on the tones and cadences received.
2. Pattern Match – The second phase counts tone intervals, to confirm the presence of a pattern. The number of intervals to match is specified by the pattern’s Interval Cycles to Match parameter.
The algorithm does not move to the second phase until the pattern is identified. Configurable timers determine the maximum time to remain in each phase.
The CSP scans for call progress tones in the specified class, and reports them in the CPA Result message. CPA terminates upon reporting a result.
Off-hook Detection
When CPA is initiated with the DSP Service Request message, detection of off-hook is reported if the signaling interface supports it.
The parameter values for each call progress analysis tone pattern are shown in Table 9-15, Table 9-16, Default Parameters for 0x08 to 0x13 - Part 1, and Default Parameters for 0x08 to 0x13 - Part 2. To modify these values, use the CPA Pattern Configure message.
• You can configure the CPA receivers to detect a fax machine that the CSP has called. When the connection is made, the fax machine sends back a pattern containing Tone 0x0E (2100 Hz) continuously for approximately 2.3 seconds.
• To configure the CPA receivers to detect this signal, use the CPA Pattern Configure message to create a new pattern, consisting of Tone 0x0E continuously ON for a minimum of 2 seconds.
• You would then add this pattern to a CPA Class using the CPA Pattern Configure message (described next). Whenever CPA is performed using that CPA Class, the CPA receiver scans for the fax signal.
Table 9-15 Default Parameters for 0x00 to 0x07 - Part 1
|
Pattern |
|
|
|
---|---|---|---|---|
Ringback |
Double |
Busy |
Reorder |
|
Pattern ID |
0x01 |
0x02 |
0x03 |
0x04 |
Tone Group ID |
0x00 |
0x00 |
0x00 |
0x00 |
Configuration Bits |
0x00 |
0x00 |
0x00 |
0x00 |
CPA Result on Pattern Loss |
0x80 |
0x80 |
0x03 |
0x04 |
Interval Cycles To Match |
1 |
1 |
1 |
1 |
Interval Cycles to Report |
3 |
3 |
1 |
1 |
Interval Descriptor Count |
2 |
4 |
2 |
2 |
Tone Interval 0 Tone ID |
|
|
|
|
Reserved |
0x00 |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
600 |
420 |
420 |
200 |
Maximum Filter (ms) |
2200 |
580 |
580 |
300 |
Tone Interval 1 Tone ID |
|
|
|
|
Reserved |
0x00 |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
2800 |
200 |
420 |
200 |
Maximum Filter (ms) |
5000 |
400 |
580 |
300 |
Tone Interval 2 Tone ID |
|
|
|
|
Reserved |
|
0x00 |
|
|
Minimum Filter (ms) |
|
420 |
|
|
Maximum Filter (ms) |
|
580 |
|
|
Tone Interval 3 Tone ID |
|
|
|
|
Reserved |
|
0 |
|
|
Minimum Filter (ms) |
|
2000 |
|
|
Maximum Filter (ms) |
|
2500 |
|
|
Table 9-16 Default Parameters for 0x00 to 0x07 - Part 2
|
Pattern |
||
---|---|---|---|
PBX |
SIT |
Vacant |
|
Pattern ID |
0x05 |
0x06 |
0x07 |
Tone Group ID |
0x00 |
0x00 |
0x00 |
Configuration Bits |
0x02 |
0x02 |
0x02 |
CPA Result on Pattern Loss |
0x05 |
0x06 |
0x07 |
Interval Cycles To Match |
1 |
1 |
1 |
Interval Cycles to Report |
1 |
1 |
1 |
Interval Descriptor Count |
2 |
3 |
3 |
Tone Interval 0 Tone ID |
|
|
|
Reserved |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
100 |
200 |
300 |
Maximum Filter (ms) |
300 |
350 |
460 |
Tone Interval 1 Tone ID |
|
|
|
Reserved |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
100 |
200 |
200 |
Maximum Filter (ms) |
300 |
350 |
350 |
Tone Interval 2 Tone ID |
|
|
|
Reserved |
|
0x00 |
0x00 |
Minimum Filter (ms) |
|
300 |
300 |
Maximum Filter (ms) |
|
460 |
460 |
Table 9-17 Default Parameters for 0x08 to 0x13 - Part 1
Elements |
Pattern |
|
|
|
Reorder LEC |
No Circuit LED |
Reorder |
No Circuit Carrier |
|
Pattern ID |
0x08 |
0x09 |
0x0A |
0x0B |
Tone Group ID |
0x00 |
0x00 |
0x00 |
0x00 |
Configuration Bits |
0x02 |
0x02 |
0x02 |
0x02 |
CPA Result on Pattern Loss |
0x08 |
0x09 |
0x0A |
0x0B |
Interval Cycle To Match |
1 |
1 |
1 |
1 |
Interval Cycle to Report |
1 |
1 |
1 |
1 |
Interval Descriptor Count |
3 |
3 |
3 |
3 |
Tone Interval 0 Tone ID |
0x07 |
0x08 |
0x08 |
0x07 |
Reserved |
0x00 |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
200 |
300 |
200 |
300 |
Maximum Filter (ms) |
350 |
460 |
350 |
460 |
Tone Interval 1 Tone ID |
0x00 |
0x0A |
0x09 |
0x09 |
Reserved |
0x00 |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
300 |
300 |
300 |
300 |
Maximum Filter (ms) |
460 |
460 |
460 |
460 |
Tone Interval 2 Tone ID |
0x0B |
0x0B |
0x0B |
0x0B |
Reserved |
0 |
0 |
0 |
0 |
Minimum Filter (ms) |
300 |
300 |
300 |
300 |
Maximum Filter (ms) |
460 |
460 |
460 |
460 |
Table 9-18 Default Parameters for 0x08 to 0x13 - Part 2
Elements |
Pattern |
|||
PBX dial tone |
Standard dial tone |
CPC Detection |
Fax |
|
Pattern ID |
0x0C |
0x0D |
0x0E |
0x13 |
Tone Group ID |
0x00 |
0x00 |
0x00 |
0x00 |
Configuration Bits |
0x01 |
0x05 |
0x01 |
0x00 |
CPA Result on Pattern Loss |
0x0C |
0x0D |
0x0E |
0x13 |
Interval Cycle To Match |
1 |
1 |
1 |
1 |
Interval Cycle to Report |
1 |
1 |
1 |
1 |
Interval Descriptor Count |
7 |
1 |
1 |
2 |
Tone Interval 0 Tone ID |
0x01 |
0x01 |
0x01 |
0x11 |
Reserved |
0x00 |
0x00 |
0x00 |
0x00 |
Minimum Filter (ms) |
80 |
500 |
1500 |
425 |
Maximum Filter (ms) |
120 |
0 |
0 |
575 |
Tone Interval 1 Tone ID |
0x00 |
|
|
0x00 |
Reserved |
0x00 |
|
|
0x00 |
Minimum Filter (ms) |
80 |
|
|
2550 |
Maximum Filter (ms) |
120 |
|
|
3450 |
Tone Interval 2 Tone ID |
0x01 |
|
|
|
Reserved |
0x00 |
|
|
|
Minimum Filter (ms) |
80 |
|
|
|
Maximum Filter (ms) |
120 |
|
|
|
Tone Interval 3 Tone ID |
0x00 |
|
|
|
Reserved |
0x00 |
|
|
|
Minimum Filter (ms) |
80 |
|
|
|
Maximum Filter (ms) |
120 |
|
|
|
Tone Interval 4 Tone ID |
0x01 |
|
|
|
Reserved |
0x00 |
|
|
|
Minimum Filter (ms) |
80 |
|
|
|
Maximum Filter (ms) |
120 |
|
|
|
Tone Interval 5 Tone ID |
0x00 |
|
|
|
Reserved |
0x00 |
|
|
|
Minimum Filter (ms) |
80 |
|
|
|
Maximum Filter (ms) |
120 |
|
|
|
Tone Interval 6 Tone ID |
0x01 |
|
|
|
Reserved |
0x00 |
|
|
|
Minimum Filter (ms) |
500 |
|
|
|
Maximum Filter (ms) |
0 |
|
|
|