<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.6603.0">
<TITLE>SER+Asterisk:Ack lost</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Hi All,</FONT>

<BR><FONT SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I recently started working for a voip&nbsp; company and I am put into testing of ser and asterisk.</FONT>

<BR><FONT SIZE=2 FACE="Arial">The set up is as follows.</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">UA1-------NAT------------SER----------------Asterisk</FONT>

<BR><FONT SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |</FONT>

<BR><FONT SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UA2</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">All the messages(Invites,Oks, ACKs) from the UA1 are passed to the SER, the SER forwards them to the Asterisk, then the asterisk hands it back to the SER and the SER forwards it to UA2. Same works vice a versa too.(I have no clue why the set up is this way!!)</FONT></P>

<P><FONT SIZE=2 FACE="Arial">I have NAThelper/RTP proxy running.</FONT>

<BR><FONT SIZE=2 FACE="Arial">Both UA1 and UA2 are registered to the SER</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">UA1 can make a call to UA2 and both can hear each other.</FONT>

<BR><FONT SIZE=2 FACE="Arial">But UA2 cannot make a call to UA1. Here is what happens.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">UA2 sends invite to SER.The SER changes the headers and 'c' and 'm' field in SDP and forwards it to Asterisk. The Asterisk acting as B2BUA, again changes Call ID and required fields and hands it back to SER.The SER then forwards the invite to UA1.UA1 sends an OK back to SER which the SER gives it to Asterisk.As soon as Asterisk receives OK, it sends an ACK back to SER for UA1, but the SER never forwards this ACK back to UA1.The Asterisk then sends OK to SER for UA2 which SER forwards correctly.But UA1 is still waiting for the ACK&#8230;hence the signalling gets looped.(ringing can be heard).</FONT></P>

<P><FONT SIZE=2 FACE="Arial">&nbsp;&nbsp; The ACK which the Asterisk sends back contains the field Route&lt;sip: 617&#8230;&#8230;@private IP of UA1&gt;</FONT>

<BR><FONT SIZE=2 FACE="Arial">&nbsp;&nbsp; The only places the Asterisk can get this private IP is from the first OK which SER sends Asterisk.And in this OK two fields contain this address, the contact field in header and 'o' in SDP. So my questions are:</FONT></P>

<P><FONT SIZE=2 FACE="Arial">1) What is the route field for.Does it tell the SER where to forward the request?</FONT>

<BR><FONT SIZE=2 FACE="Arial">2) Where does the asterisk pick up the Route field from?(contact header or 'o' field)</FONT>

<BR><FONT SIZE=2 FACE="Arial">3) If this is the problem that what changes do I need to make?</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I hope I have not confused you.Would really appreciate any help.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Thanks,</FONT>

<BR><FONT SIZE=2 FACE="Arial">Hitesh Jain.</FONT>
</P>

</BODY>
</HTML>