[asterisk-app-dev] True suppression of DTMF from audio

Richard Frith-Macdonald richard.frith-macdonald at engagehub.com
Tue Feb 25 05:35:21 CST 2020


I am developing apps using ARI which need suppression of DTMF tones in the audio, and I have been told (back in December) that asterisk depends on SIP providers to suppress DTMF tones in the audio stream.
Having sorted out my ARI code to suppress DTMF as I wanted, it turns out that SIP providers are not very good at doing that suppression (leaving audible clicks, or failing to suppress the tones on some calls).

So I'm looking for a way to suppress DTMF somewhat reliably, effectively by temporarily buffering RTP packets and 'emptying' those which contain DTMF audio (replacing the audio data with silence).
If the SIP provider uses RFC4733/RFC2833,  it should be possible to 'empty' the RTP packets around the signalling packets (getting rid of those audible clicks).
If the SIP provider does not reliably use RFC4733/RFC2833, it would be necessary to run signal analysis on each packet to detect those which contain DTMF tones, and 'empty' them.

First of all, has this already been done?  Am I missing some module asterisk already has available that could do this?
If not, what would be the best approach:  trying to direct  RTP through some separate server (eg sipwise/rtpengine) which would implement this, or modifying asterisk to support this?
I am really wondering how hard it would be to implement the buffering (holding back of RTP packets for a fraction of a second within asterisk?
Alternativey, how hard would it be to configure asterisk so that rtp passed through rtpengine before coming in ot asterisk?
Also, does anyone know if this would be workable for most codecs, or would it become horribly messy for anythng other than simple uncompressed codecs where (I assume) we can be sure that it's safe to zero data in a packet to empty it?

Thanks in advance for any help on this.
-- 




Every customer is unique. Engage each one. 


www.engagehub.com 
<http://www.engagehub.com/> 

This communication is sent by Engage Hub and 
contains information which is confidential and privileged and is intended 
for the use of the addressee only. If you are not the intended recipient 
please destroy and contact the sender. Please note that any distribution, 
copying or use of this communication or the information in it is strictly 
prohibited. Any views expressed in this email are those of the individual 
sender and may not necessarily reflect the views of Engage Hub. Engage Hub 
makes no warranties that emails are virus free. This company is registered 
in England and Wales as Brainstorm Mobile Solutions Ltd and trading as 
Engage Hub (registered at Studio 311 Highgate Studios, 53-79 Highgate Road, 
London NW5 1TL. Company Number: 01661467; VAT Number: 214 9845 90) and 
Oxygen8 Communications Limited (registered in Ireland at 1st Floor, 21-22 
Grafton Street, Dublin 2, Ireland. Company No: 350312; VAT Number: 
6370312O).




More information about the asterisk-app-dev mailing list