<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=359360611-02082007><FONT face=Arial size=2>Hello
all,</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial size=2>I need some advice
from all you NAT experts. Assume that we have two OpenSER proxies serving two
different domains and they both use nathelper. Also assume that their
configuration is identical and looks roughly like:</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New" size=2>route
{</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2>...</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2> record_route();</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><FONT face="Courier New"><FONT size=2><SPAN
class=359360611-02082007> if
(nat_uac_test("23")) {<BR></SPAN><SPAN
class=359360611-02082007>
if (method!="REGISTER" && </SPAN><SPAN
class=359360611-02082007>!is_present_hf("Record-Route"))
{</SPAN></FONT></FONT></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2>
fix_nated_contact();</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2>
}</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007></SPAN><SPAN class=359360611-02082007><FONT
face="Courier New" size=2>
}</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2>
t_on_reply("1");</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face="Courier New"
size=2>}</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>onreply_route[1]
{<BR> if (nat_uac_test("<SPAN
class=359360611-02082007>23</SPAN>"))
{<BR>
fix_nated_contact();<BR> };<BR><SPAN
class=359360611-02082007></SPAN>}<BR></FONT></DIV></SPAN>
<DIV><SPAN class=359360611-02082007><FONT face=Arial size=2>clientA and clientB
are both behind NAT. <A href="mailto:clientA@domainA">clientA@domainA</A> sends
an INVITE to <A href="mailto:clientB@domainB">clientB@domainB</A> through
proxyA:</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial size=2><A
href="mailto:clientA@domainA">clientA@domainA</A> -----> ProxyA
-----> ProxyB ------> <A
href="mailto:clientB@domainB">clientB@domainB</A></FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial size=2>ProxyA detects that
clientA is behind NAT and fixes the contact. ProxyB finds the Record-Route
header, so it does not fix the contact. My question is about how to handle
the 200 OK. With this configuration both proxies detect that clientB is behind
NAT and the contact gets fixed twice. Is there a way to avoid
this?</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial size=2>thank
you</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2>George</FONT></SPAN></DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=359360611-02082007><FONT face=Arial
size=2></FONT></SPAN> </DIV></BODY><!--[object_id=#altectelecoms.gr#]--><FONT face=Tahoma size=2><FONT color=#0000ff>
<H1><FONT face="Arial Greek" color=#c0c0c0 size=2><SPAN lang=EN-GB>Disclaimer</SPAN></FONT></H1>
<P class=MsoNormal style="MARGIN: 5pt 0cm; mso-layout-grid-align: none"><SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-language: EN-US">The information in this e-mail and any attachments is confidential. It is intended solely for the attention and use of the named addressee(s). If you are not the intended recipient, or person responsible for delivering this information to the intended recipient, please notify the sender immediately. Unless you are </SPAN><SPAN lang=EN-GB style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-GB; mso-fareast-language: EN-US">the</SPAN><SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-language: EN-US"> intended recipient or his/her representative you are not authorized to, and must not, read, copy, distribute, use or retain this message or any part of it. E-mail transmission cannot be</SPAN><SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-GB; mso-fareast-language: EN-US"> </SPAN><SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-language: EN-US">guaranteed to be secure or error-free as information could be</SPAN><SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-GB; mso-fareast-language: EN-US"> </SPAN><SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-language: EN-US">intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses.</SPAN><SPAN lang=EN-GB style="FONT-SIZE: 8pt; COLOR: #999999; FONT-FAMILY: Arial; mso-ansi-language: EN-GB; mso-fareast-language: EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P></FONT></FONT></HTML>