<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 & clipped off (and basically unusable, as systems on the customer side aren’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> </o:p></p>
<p class="MsoNormal">My system set up as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">PSTN <--> Metaswitch <-SIP-> Asterisk <-SIP or IAX2-> CPE<o:p></o:p></p>
<p class="MsoNormal"><o:p> </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. 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. SIP and IAX are bound to both interfaces. Vocal call quality is fine, DTMF is fine from the customer to the PSTN, but DTMF from the PSTN to the customer isn’t. Asterisk is set to remain in the media path on all calls. 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. I have also placed test calls with the “customer equipment” inside the same LAN as the Asterisk server’s
customer facing IP address (no NAT) with precisely the same symptoms. The same symptoms persist whether the PSTN or the CPE initiate the call.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My example configs are as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">SIP –<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> </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> </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> </o:p></p>
<p class="MsoNormal">IAX2 – <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> </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> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">SIP peers are Zhone ZNID-2xxx series ONTs. 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’s local network. 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> </o:p></p>
<p class="MsoNormal">Thank you,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </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> </o:p></p>
</div>
</body>
</html>