[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