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/