




5.4. Cadenced Tone Generation
Cadenced tone generation is an enhancement to Global Tone Generation that enables you to generate a signal with up to 4 single- or dual-tone elements, each with its own on/off duration creating the signal pattern or cadence.
Cadenced tone generation is accomplished with the dx_playtoneEx( ) function and the TN_GENCAD data structure.
You can define your own custom cadenced tone or take advantage of the built-in set of standard PBX Call Progress Signals.
5.4.1. How To Generate a Custom Cadenced Tone
A custom cadenced tone is defined by specifying in a TN_GENCAD data structure the repeating elements of the signal (the cycle) and the number of desired repetitions.
The cycle can consist of up to 4 segments, each with its own tone definition and cadence. A segment consists of a TN_GEN single- or dual-tone definition (frequency, amplitude, & duration) followed by a corresponding off-time (silence duration) that is optional. The dx_bldtngen( ) function can be used to set up the TN_GEN components of the TN_GENCAD structure. The tone duration, or on-time, from TN_GEN (tg_dur) and the offtime from TN_GENCAD are combined to produce the cadence for the segment. The segments are seamlessly concatenated in ascending order to generate the signal cycle.
Use the following procedure to generate a custom cadenced tone.
- Identify the repeating elements of the signal (the cycle).
- Use a TN_GENCAD structure to define the segments in the cycle:
- Start with the first tone element in the cycle and identify the single- or dual-tone frequencies, amplitudes, and duration (on-time).
- Use the dx_bldtngen( ) function to specify this tone definition in tone[0] (the first TN_GEN tone array element) of the TN_GENCAD structure.
- Identify the off-time for the first tone element and specify it in offtime[0]. If the first tone element is followed immediately by a second tone element, set offtime[0] = 0.
- Define the next segment of the cycle in tone[1] and offtime[1] the same way as above, and so on, up to the maximum of 4 segments or until you reach the end of the cycle.
- Use the TN_GENCAD to define the parameters of the cycle:
- Specify the number of segments in the cycle (numsegs).
- Specify the number of cycle repetitions (cycles).
- Set the termination conditions in a DV_TPT structure.
- Call the dx_playtoneEx( ) function and use the tngencadp parameter to specify the custom cadenced tone that you defined in the TN_GENCAD.
For an illustration of this procedure, see Figure 13. Example of Custom Cadenced Tone Generation.
Figure 13. Example of Custom Cadenced Tone Generation
5.4.2. How To Generate a Non-Cadenced Tone
Either the dx_playtoneEx( ) or the dx_playtone( ) function can generate a non-cadenced tone.
- See the dx_playtone( ) function for information on how to generate a non-cadenced signal. The following non-cadenced call progress signals could be generated by the dx_playtone( ) function if you defined them in a TN_GEN: Dial Tone, Executive Override Tone, and Busy Verification Tone Part A.
- The dx_playtoneEx( ) can also generate a non-cadenced tone by using a TN_GENCAD that defines a single segment.
If you want to generate a continuous, non-cadenced signal, use a single segment and zero off-time, and specify 1) an infinite number of cycles, 2) an infinite on-time, or 3) both. (You must also specify the appropriate termination conditions in a DV_TPT structure or else the tone will never end). For example:
cycles = 255;
numsegs = 1;
offtime[0] = 0;
tone[0].tg_dur = -1
5.4.3. TN_GENCAD Data Structure - Cadenced Tone Generation
TN_GENCAD is a voice library data structure (DXXXLIB.H) that defines a cadenced tone that can be generated by using the dx_playtoneEx( ) function.
The TN_GENCAD data structure contains a tone array with 4 elements that are TN_GEN data structures (Tone Generation Templates). For details on TN_GEN and TN_GENCAD, see the chapter on data structures in the Voice Software Reference: Programmer's Guide.
For examples of TN_GENCAD, refer to the Dialogic definitions of the standard call progress signals (Table 4. TN_GENCAD Definitions for Standard PBX Call Progress Signals).
5.4.4. How To Generate a Standard PBX Call Progress Signal
Use the following procedure to generate a standard PBX call progress signal from the predefined set of standard PBX call progress signals:
- Select a call progress signal from ??Table 2 and note the signal ID (see also Figure 14. Standard PBX Call Progress Signals).
- Set the termination conditions in a DV_TPT structure.
- Call the dx_playtoneEx( ) function and specify the signal ID for the tngencadp parameter. For example:
dx_playtoneEx(dxxxdev, CP_BUSY, tpt, EV_SYNC)
5.4.5. Predefined Set of Standard PBX Call Progress Signals
The following information is describes the predefined set of standard PBX call progress signals that are provided by Dialogic:
Table 3. Standard PBX Call Progress Signals
Name
|
Meaning
|
Signal ID (tngencadp)
|
Dial Tone
|
Ready for dialing
|
CP_DIAL
|
Reorder Tone (Paths-Busy, All-Trunks-Busy, Fast Busy)
|
Call blocked: resources unavailable
|
CP_REORDER
|
Busy Tone (Slow Busy)
|
Called line is busy
|
CP_BUSY
|
Audible Ring Tone 1 (Ringback Tone)
|
Called party is being alerted
|
CP_RINGBACK1
|
Audible Ring Tone 2 1 (Slow Ringback Tone)
|
Called party is being alerted
|
CP_RINGBACK2
|
Special Audible Ring Tone 1 1
|
Called party has Call Waiting feature and is being alerted
|
CP_RINGBACK1_CALLWAIT
|
Special Audible Ring Tone 2 1
|
Called party has Call Waiting feature and is being alerted
|
CP_RINGBACK2_CALLWAIT
|
Recall Dial Tone
|
Ready for additional dialing on established connection
|
CP_RECALL_DIAL
|
Intercept Tone
|
Call blocked: invalid
|
CP_INTERCEPT
|
Call Waiting Tone 1 2
|
Call is waiting: single burst
|
C_CALLWAIT1
|
Call Waiting Tone 2 2
|
Call is waiting: double burst
|
CP_CALLWAIT2
|
Busy Verification Tone (Part A)
|
Alerts parties that attendant is about to enter connection
|
CP_BUSY_VERIFY_A
|
Busy Verification Tone (Part B)
|
Attendant remains connected
|
CP_BUSY_VERIFY_B
|
Executive Override Tone
|
Overriding party about to be bridged onto connection
|
CP_EXEC_OVERRIDE
|
Confirmation Tone
|
Feature has been activated or deactivated
|
CP_FEATURE_CONFIRM
|
Stutter Dial Tone (Message Waiting Dial Tone)
|
Message waiting; ready for dialing
|
CP_STUTTER_DIAL or
CP_MSG_WAIT_DIAL
|
1 Either of the two Audible Ring Tones can be used but are not intended to be intermixed in a system. When using the Special Audible Ring Tone (1 or 2), it should correspond to the Audible Ring Tone (1 or 2) that is used.
2 The two Call Waiting Tones (1 & 2) can be used to differentiate between internally and externally originated calls. Call Waiting Tone 2 is defined as a double burst in this implementation, although "multiple" bursts are permissible.
|
Figure 14. Standard PBX Call Progress Signals
Figure 14. Standard PBX Call Progress Signals - continued
Table 4. TN_GENCAD Definitions for Standard PBX Call Progress Signals
|
SIGNAL_ID
|
|
Cycle Definition
|
Segment Definitions
|
Number
of
Cycles1
|
Number of
Segments
in Cycle
|
Frequency
#1 (Hz)
|
Frequency
#2 (Hz)
|
Amplitude
#1 (dB)
|
Amplitude
#2 (dB)
|
On-Time2
(10 ms)
|
Off-Time
(10 ms)
|
cycles
|
numsegs
|
tg_freq1
|
tg_freq2
|
tg_ampl1
|
tg_ampl2
|
tg_dur
|
offtime
|
|
CP_DIAL
|
|
1
|
1
|
350
|
440
|
-17
|
-17
|
-1
|
0
|
|
CP_REORDER
|
|
255
|
1
|
480
|
620
|
-21
|
-21
|
25
|
25
|
|
CP_BUSY
|
|
255
|
1
|
480
|
620
|
-21
|
-21
|
50
|
50
|
|
CP_RINGBACK1
|
|
255
|
1
|
440
|
480
|
-16
|
-16
|
100
|
300
|
|
CP_RINGBACK2
|
|
255
|
1
|
440
|
480
|
-16
|
-16
|
200
|
400
|
|
CP_RINGBACK1_CALLWAIT
|
|
255
|
2
|
440
440
|
480
0
|
-16
-16
|
-16
0
|
100
20
|
0
300
|
|
CP_RINGBACK2_CALLWAIT
|
|
255
|
2
|
440
440
|
480
0
|
-16
-16
|
-16
0
|
200
20
|
0
400
|
|
CP_RECALL_DIAL
|
|
1
|
4
|
350
350
350
350
|
440
440
440
440
|
-17
-17
-17
-17
|
-17
-17
-17
-17
|
10
10
10
-1
|
10
10
10
0
|
|
CP_INTERCEPT
|
|
255
|
2
|
440
620
|
0
0
|
-14
-14
|
0
0
|
25
25
|
0
0
|
|
CP_CALLWAIT1
|
|
1
|
2
|
440
440
|
0
0
|
-23
-23
|
0
0
|
20
20
|
1000
0
|
|
CP_CALLWAIT2
|
|
1
|
4
|
440
440
440
440
|
0
0
0
0
|
-23
-23
-23
-23
|
0
0
0
0
|
20
20
20
20
|
20
1000
20
0
|
|
CP_BUSY_VERIFY_A
|
|
1
|
1
|
440
|
0
|
-14
|
0
|
175
|
0
|
|
CP_BUSY_VERIFY_B
|
|
255
|
1
|
440
|
0
|
-14
|
0
|
60
|
900
|
|
CP_EXEC_OVERRIDE
|
|
1
|
1
|
440
|
0
|
-14
|
0
|
300
|
0
|
|
CP_FEATURE_CONFIRM
|
|
1
|
3
|
350
350
350
|
440
440
440
|
-17
-17
-17
|
-17
-17
-17
|
10
10
10
|
10
10
0
|
|
CP_STUTTER_DIAL or
CP_MSG_WAIT_DIAL
|
|
255
|
1
|
350
|
440
|
-17
|
-17
|
125
|
25
|
1 255 specifies an infinite number of cycles (cycles)
2 -1 specifies an infinite tone duration (tg_dur)
|
5.4.6. Important Considerations for Using the Predefined Call Progress Signals
- Signal definitions are based on the TIA/EIA Standard: Requirements
for Private Branch Exchange (PBX) Switching Equipment, TIA/EIA-464-B, April
1996 (Telecommunications Industry Association in association with the Electronic
Industries Association, Standards and Technology Department, 2500 Wilson Blvd.,
Arlington, VA 22201). To order copies, contact Global Engineering Documents
in the USA at 1-800-854-7179 or 1-303-397-7956.
- A separate Line Lockout Warning Tone, which indicates that the
station line has been locked out because dialing took too long or the station
failed to disconnect at the end of a call, is not necessary and is not recommended.
You can use the Reorder tone over trunks; or the Intercept, Reorder, or Busy
tone over stations.
- For signals that specify an infinite repetition of the signal cycle
(cycles = 255) or an infinite duration of a tone (tg_dur = -1),
you must specify the appropriate termination conditions in the DV_TPT structure
used by dx_playtoneEx( ).
- There may be more than one way to use TN_GENCAD to generate a given
signal. For example, the 3 bursts of the Confirmation Tone can be created
through one cycle containing 3 segments (as in the Dialogic implementation)
or through a single segment that is repeated in 3 cycles.
- To generate a continuous, non-cadenced signal , you can use dx_playtoneEx( )
and TN_GENCAD to specify a single segment with zero off-time and with an infinite
number of cycles and/or an infinite on-time.
Alternatively, you could use dx_playtone( ) and TN_GEN
to generate a non-cadenced signal. The following non-cadenced call progress
signals could be generated by the dx_playtone( )
function if you defined them in a TN_GEN: 1) Dial Tone, 2) Executive Override
Tone, and 3) Busy Verification Tone Part A.
- Note that the Intercept Tone consists of alternating single tones.
- Although the TIA/EIA Standard describes the Busy Verification Tone
as one signal, the 2 segments are separate tones/events: Part A is a single
burst almost 3 times longer than Part B and it alerts the parties before the
attendant intrudes; Part B is a short burst every 9 seconds continuing as
long as the interruption lasts. The TIA/EIA Standard does not define an off-time
between Part A and B. Therefore, the application developer is responsible
for implementing the timing between the two parts of this signal.
- The TIA/EIA Standard specifies the range of permissible power levels
per frequency for 1) the Central Office trunk interface and 2) all other interfaces
(including off-premise stations and tie trunks). The Dialogic implementation
adopted the approximate middle value in the acceptable range of power levels
for applying the signals to the CO trunk interface. These power levels were
more restrictive than those for the other interfaces. According to the following
statement in the TIA/EIA Standard, additional requirements and considerations
may apply:
"Studies have shown that the lower level tones that are transmitted over
trunks should be 6 dB hotter at the trunk interface (than at the line interface)
to compensate for increased loss on the end-to-end connection. In the case
of tones used at higher levels, the 6-dB difference is not used since power
at trunk interfaces must be limited to -13 dBm0 total when averaged over any
3-second interval to prevent carrier overload. Maximum permissible powers
listed are consistent with this requirement taking into account the allowable
interruption rates for the various tones. Uninterrupted tones, such as Dial
Tone and Intercept Tone, shall be continuously limited to -13 dBm."





Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation
All rights reserved
This page generated January, 2001