[VoiceOps] ACME behaviour with Bad NAT Firewalls

Mark Holloway mh at markholloway.com
Thu Jun 9 01:06:09 EDT 2011

Jon is correct in that you may want to test "nat-traversal always" when the SIP-Via and transport addresses do not match. In fact, this is recommended (by Broadsoft) if you are using Broadworks as the SIP Registrar platform fronted by an SD.  That being said, Jon also has a valid point that SIP ALG for IP PBX's has a known track record of compatibility issues.  In some cases basic inbound/outbound call flow may work but calls forwarded or transferred to the PSTN may likely experience one way audio.  There are some compensation measures that can be addressed on Cisco Pix/ASA firewalls that deal with this, but in most cases it's an unfortunate fact of life that the ITSP cannot force a customer to use a specific firewall and therefore has to go through rigorous testing and support for SIP Trunking validation on their network.  This is where a true B2BUA may provide much better results and eliminate most the headache that is associated with testing/supporting SIP Trunking from an IP PBX into a Softswitch.  On the surface most would think an IP PBX may be treated like any other SIP-HNT device or perhaps a SIP ALG would provide full interoperability, but this is usually not the case.

On Jun 8, 2011, at 9:12 PM, Jon Radel wrote:

> On 6/8/11 11:36 PM, Ujjval Karihaloo wrote:
>> Hi All:
>>   We have seen many PBX NAT’ed behind a Firewall that does not do the Sip ALG correctly. Most cases putting the Private IP in the Contact header and the ACME responds back to the Private IP.
>> Example call inbound to the PBX, the PBX sends a 200 OK (as call is answered) with a Private IP in the contact header. ACME sends the ACK back to the Private IP blackholing it.
>> I have seen SBC’s that do adjust to the Layer 3 IP:port if they notice Private IPs in the SIP signaling. Is there a setting on ACME to do that?
> Read up on
> nat-traversal always
> in the sip interface section of the config. I will note, however, that that looks for the Contact-URI and topmost VIA to match and to be different than the source address in layer 3 (IP), rather than looking for RFC 1918 addresses.  Of course, given that there are umpteen hundred knobs to twist on an Acme, there's probably some way of getting it to do this only for RFC 1918 addresses, but I'm not sure there's value in doing that and certainly couldn't tell you how to do it.  My understanding is that "nat-traversal always" is the "normal" way of doing what you appear to need.
> As an operational note, we've had more problems with various customer firewalls doing pretty bad jobs with SIP, such as the one that worked fine until somebody transferred a call at which point the firewall just dropped all sorts of vital packets on the floor, than we've ever had just letting our Acmes do NAT traversal.  Our standard recommendation is to turn all SIP aware proxies, fix-up, etc. off.
> --Jon Radel
> _______________________________________________
> VoiceOps mailing list
> VoiceOps at voiceops.org
> https://puck.nether.net/mailman/listinfo/voiceops

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://puck.nether.net/pipermail/voiceops/attachments/20110608/9deebce6/attachment-0001.html>

More information about the VoiceOps mailing list