[Freeswitch-dev] Detecting in-band DTMF Digits in Openzap?

Moises Silva moises.silva at gmail.com
Tue Aug 11 07:08:24 PDT 2009

On Tue, Aug 11, 2009 at 1:17 AM, Alex Green <alexg at etherstack.com> wrote:

> Thanks Moises, do I need to do a flush_dtmf() or set values for DTMF
> on/off period, or anything else?

I think default on/off times are good enough, but I suppose you may have to
play with it. As of flushing, sounds like a good idea to do when the call
starts, but that depends on your applications, if you are certain of
consuming all DTMF always, then is not needed.

Are you using hw dtmf? are you using Sangoma boards?

I noticed that openzap behavior will be different from an API point of view
when using hardware DTMF than when using software DTMF, since the callbacks
(for span and channel) are currently not available when using hardware DTMF.
That sounds like a bug to me, the behavior should be available regardless of
the backend system used for DTMF. I will fix that asap.

> zap_channel_dequeue_dtmf() correctly identifies the digit, but if the
> digit is held down it is detected more than once. I am using a frame
> size of 160 for the read.

More than once like in twice? 3 times, 4 times? ad infinitum if the digit is
hold? I'd need to debug to try to figure out where that comes from. If you
are using hardware dtmf in wanpipe boards you can go to
src/ozmod/ozmod_wanpipe/ozmod_wanpipe.c and search for WP_TDMAPI_EVENT_DTMF,
then uncomment the log line there to see if the digit is detected twice by
the drivers.

If using software DTMF, some logging in zap_channel_read when calling
teletone_dtmf_detect() can be added to check if its detecting it twice.

Moises Silva
Software Developer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
t. 1 905 474 1990 x 128 | e. moy at sangoma.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20090811/95c366d1/attachment.html 

More information about the FreeSWITCH-dev mailing list