<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>Hello all,</p>
<p>I'm using Kamailio (on a public IP) as a border proxy that handles NAT traversal (detection and keep alives) for several Freeswitch servers which have public IPs as well. &nbsp;I'm having a problem record-routing SUBSCRIBEs and NOTIFYs for nated UACs. &nbsp;If the UAC is behind NAT, I am adding a Record-Route to the initial SUBSCRIBE and NOTIFY request. &nbsp;This works great until the UAC (in this case a Cisco SPA509G) refreshes the subcription and sends the SUBSCRIBE directly to the Freeswitch server. &nbsp;Since the request doesn't pass through the proxy, Freeswitch then sends NOTIFYs directly to the UAC which only recieves the first NOTIFY as the NAT pinhole is still open from the SUBSCRIBE. &nbsp;The UAC did receive a NOTIFY validating the subscription, and continues to refresh the subscription directly to the freeswitch server. &nbsp;The completely breaks presence.</p>
<p>What is the correct way to ensure all SUBSCRIBE/NOTIFYs pass through the proxy? &nbsp;I have found that I can force this behavior by modifying the Contact header in the 202 Accepted to point back to the proxy but I'm not sure if this is what I "should" be doing.</p>
<p>Thanks for any assistance and please forgive my ignorance when is comes to SIP presence!</p>
<p>Spencer</p>
</body></html>