Another thing regarding this code: there is a function there called 
ShouldSendNotification( ). How exactly does that function work? The class keeps 
a record of the current and last DTMF codes, and a DTMF count (as far as I can 
see). What rules does this function adhere to, and when is a DTMF detected? For 
instance, if the user presses a button and holds it down for some time, thereby 
generating quite a long DTMF signal, how many DTMF notes would this class 
detect as a consequence?
Regards,Daniel

Date: Fri, 13 Nov 2009 18:05:31 -0500
Subject: Re: [sipxtapi-dev] New SimpleDtmfDetector
From: kam...@gmail.com
To: danielb...@hotmail.com
CC: sipxtapi-dev@list.sipfoundry.org

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 offfinds the column frequency with highest energy, saves it off

Checks if selected row frequency is above an energy floor levelDitto for column 
frequencyIf 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.


_______________________________________________

sipxtapi-dev mailing list

sipxtapi-dev@list.sipfoundry.org

List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

                                          
_________________________________________________________________
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/

Reply via email to