Single-frequency user-defined tones not detected
Symptom
Some user-defined single frequency tones are not properly detected when defined using dx_bldst() or dx_bldstcad().
Reason for the problem
On Dialogic boards, all tones are detected using a template that provides two frequencies. When dx_bldst*() is used to define a tone, the second frequency is automatically defined as 0.  Usually when a tone only has a single frequency, the second frequency is 0, so the tone is detected properly.
Sometimes, a single-frequency tone is detected as having two frequencies that are very close to each other. Since the frequencies are both detected, and one is not 0, it does not meet the definition given in dx_bldst*().
For example, if a tone with frequency 550Hz, ontime of 600 +/- 300ms, offtime of 200 +/-Â 50ms and repitition count of 3 is defined using dx_bldstcad(), the application code might look like this:
dx_bldstcad( TID_101, 550, 50, 60, 30, 20, 5, 3 )
This would be passed to the library under the hood via dx_blddtcad() like this:
dx_blddtcad( TID_101, 550, 50, 0, 0, 60, 30, 20, 5, 3 )
If a tone arrives that is detected as having two frequencies at 530Hz and 560Hz, this would not be detected even though both frequencies fall into the range of the single frequency definition.
Fix / Solution
For each single-frequency tone, use two calls to dx_blddtcad(). In one definition, make frequency 2 equal 0. In the second definition, make frequency 2 equal frequency 1.  From the example above, make the following two definitions:
dx_blddtcad( TID_101, 550, 50, 0, 0, 60, 30, 20, 5, 3 )
dx_blddtcad( TID_102, 550, 50, 550, 50, 60, 30, 20, 5, 3 )
If the tone has no cadence (in this example a 550Hz tone with ontime of at least 500ms), the definitions should look like this:
dx_blddtcad(tid_101, 550, 50, 0, 0, 25, -25, 0, 0, 0)Â
dx_blddtcad(tid_102, 550, 50, 550, 50, 25, -25, 0, 0, 0)Â
where on time = 1/2 tone on time
and on time deviation = -1/2 tone on time
Product List
All JCT products.