I'm not sure what could be causing the ghost signals... Have you tried
isolating the DTMF detection code outside of the sipxtapi environment, and
feeding it similar audio?

The MpDtmfDetector class implements the Goertzel frequency detection
algorithm.

Basically the way I understand it, it calculates the energies for the 8
different tones (4 row, 4 column),
finds the row frequency with the highest energy, saves it off
finds the column frequency with highest energy, saves it off

Checks if selected row frequency is above an energy floor level
Ditto for column frequency
If both pass, then it goes on and does a few checks that I'm not quite clear
what they do ("Normal Twist check" and "Reverse Twist Check") -- I presume
they help prevent false positives.

Then a signal to noise check happens -- if the two frequencies identified
are too close in energy level to the other frequencies detected, then a tone
is not detected.

Once that is all done -- all the tests pass, and the two identified
frequencies are then used to look up their DTMF digit and store it off for
later retrieval.

Take a look at the sources:
http://scm.sipfoundry.org/viewvc/sipX/main/sipXmediaLib/src/mp/MpDTMFDetector.cpp?view=markup

On Tue, Nov 10, 2009 at 8:14 PM, Daniel Sigurgeirsson <
danielb...@hotmail.com> wrote:

>  Hi all,
>
> (Keith is probably best suited to answer this, but I wanted the discussion
> to be open...)
>
> I'm actually using Jaro's experimental version of sipxtapi, and I noticed
> that the latest branch there includes the SimpleDtmfDetector which is used
> to detect inband DTMF. I also noticed that this class was written by Keith,
> hence I'm asking this question here. The point is that I needed the inband
> DTMF version some time ago, and therefore I went with the experimental
> branch which at that time included an inband DTMF detector written by
> Stipus. A few months ago I started to receive complaints from certain users,
> the application seemed to be receiving "ghost" DTMF signals at random times
> (mostly the digit 1).  Recently I switched to the detector written by Keith,
> and apparently these "ghost" signals are less common now, but not completely
> gone.
>
> So my question is: what could possibly be causing these ghost signals? The
> users (which are doctors working in hospitals) claim that there are not
> necessary any external devices beeping around them, at least not at all
> occasions.
>
> Any ideas? Unfortunately these ghost signals are not easily reproduced, so
> any debugging must be done by logging and hoping that these signals will
> reveal themselves quickly (and also hoping that the presence of logging
> doesn't create a Heisenbug!).
>
> Regards,
> Daníel
>
> ------------------------------
> Windows Live: Make it easier for your friends to see what you’re up to on
> Facebook.<http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_2:092009>
>
> _______________________________________________
> sipxtapi-dev mailing list
> sipxtapi-dev@list.sipfoundry.org
> List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/
>
_______________________________________________
sipxtapi-dev mailing list
sipxtapi-dev@list.sipfoundry.org
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to