Thanks for your response.<div>What I found is:</div><div>1. If call is from phone registered to IP (external or internal) - then I do not need any of my modifications - ACK goes through loose_route, or  t_check_trans() is OK and ACK is also OK.</div>
<div>2. If call is from phone registered to name (<a href="http://sip.mycompany.com">sip.mycompany.com</a>) - then t_check_trans is not OK, and I have problems.</div><div>I understand - it is dirty patch. May be best is if I could somehow replace from domain name with IP.</div>
<div><div>At the end - I my dirty solution:</div></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if ( is_method(&quot;ACK|BYE&quot;) ) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>if ( t_check_trans() ) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>t_relay();</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>} else {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>route(ACKBYE);</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>t_relay();</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span># ACK without matching transaction ... ignore and discard</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply(&quot;404&quot;,&quot;Uau Not here&quot;);</div></div><div><br></div><div><div>route[ACKBYE] {</div><div>#!ifdef WITH_MYFORWARD</div><div>xlog(&quot;ACKBYE called -$rm-$td-$si&quot;);</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if(($sht(forw=&gt;$ft))=~&quot;MessageCPIM&quot;){</div><div># Direct messages between clients</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if(($td==&quot;<a href="http://sip.mycompany.com">sip.mycompany.com</a>&quot;)||($si==&quot;MyIP&quot;)){</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>$du=$sht(forw=&gt;$ft);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>xlog(&quot;$du-$rm-$td&quot;);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>#!endif</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>return;</div><div>}</div></div><div><br></div><div><br></div><div>
<br></div><div><br><br><div class="gmail_quote">On Mon, Jan 30, 2012 at 11:12 AM, Anca Vamanu <span dir="ltr">&lt;<a href="mailto:anca.vamanu@1and1.ro">anca.vamanu@1and1.ro</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u>

  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hi Mihaylov,<br>
    <br>
    If your Asterisk servers add a Record-Route header to the initial
    Invite, for in-dialog requests ( ACK, BYE) you should use <b>loose_route()
    </b>function to do the routing. This will make sure the requests go
    the same path as the initial Invite. It is not a good practice to
    manually route these requests. <br>
    <br>
    Regards,<br>
    Anca <br><div><div class="h5">
    <br>
    <br>
    On 01/29/2012 11:10 PM, Stoyan Mihaylov wrote:
    <blockquote type="cite"><span>My whole
        configuration is:</span>
      <div>[Sip clients] &lt; = &gt; Kamailio 3.2 &lt;=&gt;
        Asterisk servers (behind Kamailio)</div>
      <div>Asterisk servers have only local IP addresses, and I
        use t_relay instead of forward.</div>
      <div>Kamailio runs on same server as rtpproxy.</div>
      <div>Everything is fine if clients connect to Kamailio with its IP
        address - global, or if they are behind Kamailio with local
        address.</div>
      <div>When clients connect to Kamailio using <a href="http://sip.ourcompany.com" target="_blank">sip.ourcompany.com</a>,
        then call (video also) is OK, but ACK and BYE do not work.</div>
      <div>BYE receives not here (404), and ACK die somewhere.</div>
      <div>I forward BYE and ACK in case when src_ip==$td to Asterisk
        server.</div>
      <div><br>
      </div>
      <div>If one of clients use IP - then calls initiated from it are
        OK (BYE/ACK - are going correctly - to Asterisk and to other
        client also). But calls from other client have problems with BYE
        and ACK.</div>
      <div><br>
      </div>
      <div>To use <a href="http://sip.ourcompany.com" target="_blank">sip.ourcompany.com</a> - I
        put:</div>
      <div>alias=<a href="http://sip.ourcompany.com" target="_blank">sip.ourcompany.com</a></div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>
        <div>
          route[ACKBYE] {</div>
        <div>#!ifdef WITH_PSTN</div>
        <div><span style="white-space:pre-wrap"> </span>if
          (is_method(&quot;BYE|ACK&quot;))</div>
        <div><span style="white-space:pre-wrap"> </span>{</div>
        <div>
          <span style="white-space:pre-wrap"> </span>xlog(&quot;L_ALERT&quot;,&quot;AB
          $rm $sht(forw=&gt;$ft) $td&quot;);</div>
        <div><span style="white-space:pre-wrap"> </span>if(src_ip==$td){</div>
        <div>#I have to rewrite du - messages loop in Kamailio,
          I store in $sht(forw=&gt;$ft) $du which I use during INVITE.</div>
        <div><span style="white-space:pre-wrap"> </span>$du=$sht(forw=&gt;$ft);</div>
        <div><span style="white-space:pre-wrap"> </span>route(RELAY);</div>
        <div><span style="white-space:pre-wrap"> </span>exit;</div>
        <div><span style="white-space:pre-wrap"> </span>}</div>
        <div><span style="white-space:pre-wrap"> </span>xlog(&quot;L_ALERT&quot;,&quot;ACK,Bye
          Not me&quot;);</div>
        <div><span style="white-space:pre-wrap"> </span>}</div>
        <div>#!endif</div>
        <div>return;</div>
        <div>}</div>
      </div>
      <div><br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br></blockquote></div><br></div>