<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=us-ascii">
<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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-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-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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">I am having difficulties with customer-bound DTMF being very short &amp; clipped off (and basically unusable, as systems on the customer side aren&#8217;t recognizing the DTMF digits, and I can barely tell that DTMF is there when I listen on a handset).<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">My system set up as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">PSTN &lt;--&gt; Metaswitch &lt;-SIP-&gt; Asterisk &lt;-SIP or IAX2-&gt; CPE<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Asterisk is running Asterisk 10.4.0 on a CentOS 6.2 VM residing on a CentOS 6.3 KVM host.&nbsp; Asterisk has one network interface connected to the Metaswitch without NAT to place/receive calls from the PSTN, and a separate interface to connect
 to CPE equipment.&nbsp; SIP and IAX are bound to both interfaces.&nbsp; Vocal call quality is fine, DTMF is fine from the customer to the PSTN, but DTMF from the PSTN to the customer isn&#8217;t.&nbsp; Asterisk is set to remain in the media path on all calls.&nbsp; The customer facing
 IP address on the Asterisk server is private and is being 1:1 NATed through a MikroTik RB 1100 to a public address that the customers are then connecting to.&nbsp; I have also placed test calls with the &#8220;customer equipment&#8221; inside the same LAN as the Asterisk server&#8217;s
 customer facing IP address (no NAT) with precisely the same symptoms.&nbsp; The same symptoms persist whether the PSTN or the CPE initiate the call.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">My example configs are as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">SIP &#8211;<o:p></o:p></p>
<p class="MsoNormal">[general]<o:p></o:p></p>
<p class="MsoNormal">limitonpeer=yes<o:p></o:p></p>
<p class="MsoNormal">notifyringing=yes<o:p></o:p></p>
<p class="MsoNormal">notifyhold=yes<o:p></o:p></p>
<p class="MsoNormal">allowsubscribe=yes<o:p></o:p></p>
<p class="MsoNormal">disallow=all<o:p></o:p></p>
<p class="MsoNormal">allow=g722<o:p></o:p></p>
<p class="MsoNormal">allow=ulaw<o:p></o:p></p>
<p class="MsoNormal">allow=gsm<o:p></o:p></p>
<p class="MsoNormal">allowoverlap=no<o:p></o:p></p>
<p class="MsoNormal">callevents=yes<o:p></o:p></p>
<p class="MsoNormal">allowguest=no<o:p></o:p></p>
<p class="MsoNormal">directmedia=no<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">bindport=bind_here<o:p></o:p></p>
<p class="MsoNormal">bindaddr=to_this_address<o:p></o:p></p>
<p class="MsoNormal">srvlookup=yes<o:p></o:p></p>
<p class="MsoNormal">maxexpiry=7200<o:p></o:p></p>
<p class="MsoNormal">defaultexpiry=3600<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[authentication] <o:p></o:p></p>
<p class="MsoNormal">[test-voice]<o:p></o:p></p>
<p class="MsoNormal">type=friend<o:p></o:p></p>
<p class="MsoNormal">host=dynamic<o:p></o:p></p>
<p class="MsoNormal">secret=not_my_secret<o:p></o:p></p>
<p class="MsoNormal">context=users<o:p></o:p></p>
<p class="MsoNormal">disallow=all<o:p></o:p></p>
<p class="MsoNormal">allow=ulaw<o:p></o:p></p>
<p class="MsoNormal">nat=yes<o:p></o:p></p>
<p class="MsoNormal">directmedia=no<o:p></o:p></p>
<p class="MsoNormal">qualify=yes<o:p></o:p></p>
<p class="MsoNormal">trunk=no<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">IAX2 &#8211; <o:p></o:p></p>
<p class="MsoNormal">[general]<o:p></o:p></p>
<p class="MsoNormal">bindport=bind_here<o:p></o:p></p>
<p class="MsoNormal">bindaddr=to_this_address<o:p></o:p></p>
<p class="MsoNormal">delayreject=yes<o:p></o:p></p>
<p class="MsoNormal">disallow=all<o:p></o:p></p>
<p class="MsoNormal">allow=g722<o:p></o:p></p>
<p class="MsoNormal">allow=ulaw<o:p></o:p></p>
<p class="MsoNormal">allow=gsm<o:p></o:p></p>
<p class="MsoNormal">jitterbuffer=no<o:p></o:p></p>
<p class="MsoNormal">encryption=yes<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[test-fax1]<o:p></o:p></p>
<p class="MsoNormal">type=friend<o:p></o:p></p>
<p class="MsoNormal">host=dynamic<o:p></o:p></p>
<p class="MsoNormal">username=test-fax1<o:p></o:p></p>
<p class="MsoNormal">secret=not_my_secret<o:p></o:p></p>
<p class="MsoNormal">context=users<o:p></o:p></p>
<p class="MsoNormal">disallow=all<o:p></o:p></p>
<p class="MsoNormal">allow=ulaw<o:p></o:p></p>
<p class="MsoNormal">qualify=yes<o:p></o:p></p>
<p class="MsoNormal">trunk=no<o:p></o:p></p>
<p class="MsoNormal">requirecalltoken=no<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">SIP peers are Zhone ZNID-2xxx series ONTs.&nbsp; IAX peers are ATCOM AG198 ATA gateways, either behind the ONTs (but on the same voice VLAN the ONTs use to talk to Asterisk) or on my Asterisk server&#8217;s local network.&nbsp; The voice VLAN is a different
 subnet than Asterisk is on, but no NAT exists between the subnets.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Thank you,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Noah Engelberth<o:p></o:p></p>
<p class="MsoNormal">System Administration<o:p></o:p></p>
<p class="MsoNormal">MetaLINK Technologies<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>