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

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 Pattern Loss | Call Progress Analysis Result to report when a pattern has been matched but discontinues before "interval cycles to report". (CPA Result message).
Interval Cycles to Match | The number of times an Interval Sequence must be repeated before declaring the pattern valid
Interval Cycles to Report | 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.

Example:

• 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

Elements | Pattern |  |  |
--- | --- | --- | --- | ---
Ringback | Double Ringback | 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 | 0x02 | 0x02 | 0x05 | 0x05
Reserved | 0x00 | 0x00 | 0x00 | 0x00
Minimum Filter (ms) | 600 | 420 | 420 | 200
Maximum Filter (ms) | 2200 | 580 | 580 | 300
Tone Interval 1 Tone ID | 0x00 | 0x00 | 0x00 | 0x00
Reserved | 0x00 | 0x00 | 0x00 | 0x00
Minimum Filter (ms) | 2800 | 200 | 420 | 200
Maximum Filter (ms) | 5000 | 400 | 580 | 300
Tone Interval 2 Tone ID |  | 0x02 |  |
Reserved |  | 0x00 |  |
Minimum Filter (ms) |  | 420 |  |
Maximum Filter (ms) |  | 580 |  |
Tone Interval 3 Tone ID |  | 0x00 |  |
Reserved |  | 0 |  |
Minimum Filter (ms) |  | 2000 |  |
Maximum Filter (ms) |  | 2500 |  |

Table 9-16 Default Parameters for 0x00 to 0x07 - Part 2

Elements | Pattern
--- | ---
PBX Interception | SIT Interception | Vacant Code
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 | 0x03 | 0x07 | 0x08
Reserved | 0x00 | 0x00 | 0x00
Minimum Filter (ms) | 100 | 200 | 300
Maximum Filter (ms) | 300 | 350 | 460
Tone Interval 1 Tone ID | 0x06 | 0x09 | 0x09
Reserved | 0x00 | 0x00 | 0x00
Minimum Filter (ms) | 100 | 200 | 200
Maximum Filter (ms) | 300 | 350 | 350
Tone Interval 2 Tone ID |  | 0x0B | 0x0B
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 Carrier | 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 |  |  |

Hertz
A tone sent to the caller indicating the progress of the call. Examples include dial tone, busy tone, ringback tone, and comfort noise (digital cellular).
Digital Signal Processor
See Private Branch Exchange.
Most Significant Bit
Least Significant Bit