<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    the ACK for non-2xx replies is hop-by-hop, meaning that kamailio
    will generate one when the reply is received, will send back the
    reply and when the ack comes from upstream, it will absorb it.<br>
    <br>
    In this case it seems that ack is not matching any invite
    transaction and thus is not known where to send it.<br>
    <br>
    Can you send the invite, reply and the ack requests taken with ngrep
    for such case? Maybe is something broken in the content of the
    message.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    On 5/18/11 11:23 PM, Carl Wagner wrote:
    <blockquote cite="mid:4DD438B6.8040809@verbalworld.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 12px;" lang="x-western">Hi, <br>
        <br>
        I have Kamailio set up to act as a proxy and load balancer.&nbsp;
        Most things are working correctly but for some reason I can't
        get Kamailio to proxy an ACK to a 486 Busy. <br>
        I assume that it is something wrong that I have done in the
        kamailio.cfg file but I am not seeing it. <br>
        <br>
        Does the t_check_trans() return false because the call state is
        Busy? <br>
        <br>
        Please let me know if you need other logs or information. <br>
        <br>
        Thanks in advance, <br>
        Carl <br>
        <br>
        <br>
        <br>
        ================== Call flow:&nbsp; (from ngrep)&nbsp;
        ====================== <br>
        <br>
        Asterisk&nbsp;&nbsp;&nbsp;&nbsp; Kamailio&nbsp;&nbsp;&nbsp;&nbsp; Provider <br>
        &nbsp;INVITE---------&gt; <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INVITE---------&gt; <br>
        &lt;----------100 Trying <br>
        &lt;---------100 Trying <br>
        &lt;----------486 Busy <br>
        &lt;---------486 Busy <br>
        ACK-------------&gt; <br>
        ====== Kamailio does not proxy the ACK here ======= <br>
        &lt;----------486 Busy <br>
        &lt;---------486 Busy <br>
        ACK-------------&gt; <br>
        &lt;----------486 Busy <br>
        &lt;---------486 Busy <br>
        <br>
        <br>
        === kamailio.cfg snippet <br>
        ... <br>
        route <br>
        { <br>
        &nbsp;&nbsp; route(REQINIT);&nbsp; # remove malformed messages <br>
        <br>
        &nbsp;&nbsp; # handle requests within SIP dialogs <br>
        &nbsp;&nbsp; route(WITHINDLG); <br>
        &nbsp; ... <br>
        } <br>
        <br>
        ###################################################################

        <br>
        # Handle requests within SIP dialogs (request has a TO: Tag) <br>
        route[WITHINDLG] <br>
        { <br>
        &nbsp;&nbsp; if (has_totag()) <br>
        &nbsp;&nbsp; { <br>
        xlog("L_INFO", "&nbsp; WITHINDLG: SIP Request: [$rm] ruri=[$ru]&nbsp;
        (from [$fu] to [$tu], Call-ID=[$ci], CSeq=[$cs])\n"); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (loose_route()) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp; # not loose_route <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( is_method("ACK") ) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( t_check_trans() )&nbsp; # see if a message is
        related to a transaction <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ACK without matching transaction ... ignore and
        discard <br>
        xlog("L_INFO", "&nbsp; WITHINDLG: has TO: tag AND loose_route is NOT
        true and is_method = ACK and t_check_trans=FALSE\n"); <br>
        <br>
        # not forwarded here!!!&nbsp;&nbsp; Tried both t_relay and forward. <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # $var(a) = t_relay(); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $var(a) = forward(); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog ("L_INFO", "&nbsp; WITHINDLG: (ReturnCode =
        [$var(a)] exiting)\n"); <br>
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit; <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply("404","Not here"); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit; <br>
        &nbsp;&nbsp; } <br>
        } <br>
        <br>
        ============= End of kamailio.cfg ================ <br>
        <br>
        <br>
        ============= /var/log/messages - snippit of the message
        ========== <br>
        <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;: ======== processing new message <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;: MAIN: SIP Request: [ACK] ruri=[<a
          moz-do-not-send="true" class="moz-txt-link-abbreviated"
          href="mailto:sip:+13031112222@2.3.4.5">sip:+13031112222@2.3.4.5</a>]&nbsp;

        (from [<a moz-do-not-send="true"
          class="moz-txt-link-abbreviated"
          href="mailto:sip:+13031112222@3.4.5.6">sip:+13031112222@3.4.5.6</a>]
        to [<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
          href="mailto:sip:+13031112222@2.3.4.5">sip:+13031112222@2.3.4.5</a>],

        Call-ID=[<a moz-do-not-send="true"
          class="moz-txt-link-abbreviated"
          href="mailto:21a30b9168e0a8c963d47ca1361cef77@3.4.5.6">21a30b9168e0a8c963d47ca1361cef77@3.4.5.6</a>])

        CSeq=[102] <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;:&nbsp;&nbsp; WITHINDLG: SIP Request: [ACK] ruri=[<a
          moz-do-not-send="true" class="moz-txt-link-abbreviated"
          href="mailto:sip:+13031112222@2.3.4.5">sip:+13031112222@2.3.4.5</a>]&nbsp;

        (from [<a moz-do-not-send="true"
          class="moz-txt-link-abbreviated"
          href="mailto:sip:+13031112222@3.4.5.6">sip:+13031112222@3.4.5.6</a>]
        to [<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
          href="mailto:sip:+13031112222@2.3.4.5">sip:+13031112222@2.3.4.5</a>],

        Call-ID=[<a moz-do-not-send="true"
          class="moz-txt-link-abbreviated"
          href="mailto:21a30b9168e0a8c963d47ca1361cef77@3.4.5.6">21a30b9168e0a8c963d47ca1361cef77@3.4.5.6</a>],

        CSeq=[102]) <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;:&nbsp;&nbsp; WITHINDLG: has TO: tag <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;:&nbsp;&nbsp; WITHINDLG: has TO: tag AND loose_route is NOT
        true and is_method = ACK and t_check_trans=FALSE <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;:&nbsp;&nbsp; WITHINDLG:&nbsp;&nbsp;&nbsp; the ACK to a 486 was not being
        processed so I am adding t_relay here <br>
        May 18 11:21:05 kam0 /usr/sbin/kamailio[21282]: INFO:
        &lt;script&gt;:&nbsp;&nbsp; WITHINDLG: (ReturnCode = [1] exiting) <br>
        <br>
        <br>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a></pre>
  </body>
</html>