<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I’m not sure I fully understand what you are doing with DTMF, sending or receiving, inband or outband, RFC2833 or not, but I notice you are using “start_dtmf”. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If you want FS to recognize non RFC2833 inband DTMF, (typically when only PCMA or PCMU is supported by your old fashioned sip provider), than use mod_spandsp ‘s DTMF detector, it’s better than the standard dtfm detector. Load mod_spandsp and use </span>&lt;action application=&quot;spandsp_start_dtmf&quot; /&gt; <span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>instead of start_dtmf<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>See the wiki for more details on configuring spandsp’s DTMF detector</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] <b>On Behalf Of </b>Anthony Minessale<br><b>Sent:</b> Wednesday, October 03, 2012 23:44<br><b>To:</b> FreeSWITCH Users Help<br><b>Subject:</b> Re: [Freeswitch-users] DTMF delay when using FreeSWITCH<o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>Set the following variable either per leg in dialplan or globally in vars.xml<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>rtp_manual_rtp_bugs=IGNORE_DTMF_DURATION<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>This will pass the dtmf in 2833 on receipt of the first packet.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>If that doesn't work, don't bother going further because we do not put emphasis on realtime dtmf. &nbsp;Asterisk can focus on that and we'll focus on scalability. &nbsp;The suggestions you have seen pretty much cover your options.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>On Wed, Oct 3, 2012 at 2:39 PM, Emrah &lt;<a href="mailto:lists@kavun.ch" target="_blank">lists@kavun.ch</a>&gt; wrote:<o:p></o:p></p><p class=MsoNormal>I am running out of ideas and would really appreciate some input on this.<br><br>Can I optimize this in any way?<br><br>Best,<br>Emrah<o:p></o:p></p><div><div><p class=MsoNormal><br>On Sep 30, 2012, at 12:05 AM, Emrah &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br><br>&gt; When I try this, the delay disappears but FS detects multiple DTMFs where I only send one…<br>&gt; &lt;action application=&quot;export&quot; data=&quot;dtmf_type=none&quot; inline=&quot;true&quot;/&gt;<br>&gt; &lt;action application=&quot;start_dtmf&quot; /&gt;<br>&gt;<br>&gt; start_dtmf_generate adds the delay and so I'm stuck…<br>&gt;<br>&gt; Any suggestion?<br>&gt; On Sep 29, 2012, at 2:29 PM, Emrah &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br>&gt;<br>&gt;&gt; Hi all,<br>&gt;&gt;<br>&gt;&gt; I am now trying to force inband DTMF on my PSTN peers alone. I tried the following with no luck:<br>&gt;&gt; &lt;action application=&quot;start_dtmf&quot; /&gt;<br>&gt;&gt; &lt;action application=&quot;export&quot; data=&quot;dtmf_type=inband&quot; /&gt;<br>&gt;&gt;<br>&gt;&gt; The delay is still there and I get the following output in my console for a single DTMF:<br>&gt;&gt;<br>&gt;&gt; 2012-09-29 19:22:57.357913 [DEBUG] switch_rtp.c:3797 RTP RECV DTMF 2:1040<br>&gt;&gt; 2012-09-29 19:22:57.357913 [DEBUG] switch_ivr_bridge.c:393 Send signal sofia/external/1234567890 [BREAK]<br>&gt;&gt; 2012-09-29 19:22:57.377912 [DEBUG] switch_rtp.c:2736 Send start packet for [2] ts=748000 dur=160/160/1040 seq=27258 lw=748000<br>&gt;&gt; 2012-09-29 19:22:57.397908 [DEBUG] switch_rtp.c:2636 Send middle packet for [2] ts=748000 dur=320/320/1040 seq=27259 lw=748160<br>&gt;&gt; 2012-09-29 19:22:57.417913 [DEBUG] switch_rtp.c:2636 Send middle packet for [2] ts=748000 dur=480/480/1040 seq=27260 lw=748320<br>&gt;&gt; 2012-09-29 19:22:57.437960 [DEBUG] switch_rtp.c:2636 Send middle packet for [2] ts=748000 dur=640/640/1040 seq=27261 lw=748480<br>&gt;&gt; 2012-09-29 19:22:57.457912 [DEBUG] switch_rtp.c:2636 Send middle packet for [2] ts=748000 dur=800/800/1040 seq=27262 lw=748640<br>&gt;&gt; 2012-09-29 19:22:57.477904 [DEBUG] switch_rtp.c:2636 Send middle packet for [2] ts=748000 dur=960/960/1040 seq=27263 lw=748800<br>&gt;&gt; 2012-09-29 19:22:57.497915 [DEBUG] switch_rtp.c:2636 Send end packet for [2] ts=748000 dur=1120/1120/1040 seq=27264 lw=748800<br>&gt;&gt; 2012-09-29 19:22:57.497915 [DEBUG] switch_rtp.c:2636 Send end packet for [2] ts=748000 dur=1120/1120/1040 seq=27265 lw=748800<br>&gt;&gt; 2012-09-29 19:22:57.497915 [DEBUG] switch_rtp.c:2636 Send end packet for [2] ts=748000 dur=1120/1120/1040 seq=27266 lw=748800<br>&gt;&gt; 2012-09-29 19:22:57.497915 [DEBUG] switch_rtp.c:2589 Queue digit delay of 40ms<br>&gt;&gt;<br>&gt;&gt; Any idea would be greatly appreciated.<br>&gt;&gt;<br>&gt;&gt; All the best,<br>&gt;&gt; Emrah<br>&gt;&gt; On Sep 27, 2012, at 3:54 PM, Emrah &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br>&gt;&gt;<br>&gt;&gt;&gt; Hey Ken,<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; I tried pass_rfc2833 with no noticeable change in the delay. It seemed to have made it less accurate though, especially in fast speed sequences.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Can I debug this further and how?<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Thanks!<br>&gt;&gt;&gt; On Sep 27, 2012, at 3:00 PM, Ken Rice &lt;<a href="mailto:krice@freeswitch.org">krice@freeswitch.org</a>&gt; wrote:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; There can be a delay of DTMF in and DTMF out if you are sending long DTMFs<br>&gt;&gt;&gt;&gt; using 2833, FreeSWITCH gets the entire DMTF and duration then regenerates<br>&gt;&gt;&gt;&gt; it...<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; If you don't need to interpret the DTMF you can set a variable to make it<br>&gt;&gt;&gt;&gt; just pass the DTMF through untouched... But this has its own set of caveats<br>&gt;&gt;&gt;&gt; (ie: if whatever is sending you DTMF is broken it just pass broken 2833<br>&gt;&gt;&gt;&gt; DTMF)<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; See <a href="http://wiki.freeswitch.org/wiki/Variable_pass_rfc2833" target="_blank">http://wiki.freeswitch.org/wiki/Variable_pass_rfc2833</a><br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; On 9/27/12 1:49 PM, &quot;Emrah&quot; &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; MC, the issue does not happen with inband DTMF and there is no delay!<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Any idea on how to debug this further? I can't use inband continuously.<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Thanks!<br>&gt;&gt;&gt;&gt;&gt; Emrah<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; On Sep 27, 2012, at 12:46 PM, Emrah &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Never tried with inband DTMFs. Will check.<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Thanks!<br>&gt;&gt;&gt;&gt;&gt;&gt; On Sep 27, 2012, at 12:34 PM, Michael Collins &lt;<a href="mailto:msc@freeswitch.org">msc@freeswitch.org</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Does it happen whether you use RFC2833 or inband DTMFs? Just curious.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; -MC<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Sep 26, 2012 at 3:44 PM, Emrah &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Yes I did.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; BTW, the example in the Wiki contradicts the inline documentation in<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; switch.xml.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &lt;!--<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; The min-dtmf-duration specifies the minimum DTMF duration to use on<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; outgoing events. Events shorter than this will be increased in<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; duration<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; to match min_dtmf_duration. You cannot configure a dtmf duration on<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; a<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; profile that is less than this setting. You may increase this value,<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; but cannot set it lower than 400. This value cannot exceed<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; max-dtmf-duration. --&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; The Wiki shows an example with the value at 100.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; I tried increasing and decreasing it to no avail, it does not seem to<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; interfere with anything I can measure with my ear. :P<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Sep 26, 2012, at 5:56 PM, Cesar Bermudez &lt;<a href="mailto:cesar.bermudez@gmail.com">cesar.bermudez@gmail.com</a>&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; You tried this:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files#DTMF" target="_blank">http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files#DTMF</a><br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Sep 26, 2012 at 3:19 PM, Emrah &lt;<a href="mailto:lists@kavun.ch">lists@kavun.ch</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi guys,<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I am comparing this with an Asterisk and FreeSWITCH installation, using the<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; same route, same codecs, same carrier, same phones and same serversŠ :P<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I experience a delay when pressing DTMFs on the line that uses FreeSWITCH.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I am estimating the delay to be around 500 ms.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; What are the settings I can fine tune to avoid this?<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; All the best,<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Emrah<br><br><o:p></o:p></p></div></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>