<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Sebastian,<br>
    <br>
    thanks for further investigation. Indeed, the avps were not backed
    up/restored when sending self-generated request.<br>
    <br>
    I just committed a patch to tm module in master branch. If you can
    give it a try and report if it works ok, then I will backport to
    3.1.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    On 7/28/11 4:57 PM, Sebastian Damm wrote:
    <blockquote
cite="mid:CABkWSFzLMK0ih4Uxxwm1vrLccqdfm+P=5TW3NhqX-vFFKhYu3w@mail.gmail.com"
      type="cite">Hi Daniel, Hi Klaus,<br>
      <br>
      after hours of searching I think we found the problem. This is
      what our route that actually sends out the packets looks like:<br>
      <br>
      route[2] {<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("........................................... START OF
      ROUTE 2....................................\n");<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("AVP LEG_ID has Value $(avp(s:leg_id))\n");<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(avp(s:dsttype)) = 0;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($rd =~ "pstnout") { $(avp(s:dsttype)) = 2; }<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($rd =~ "media") { $(avp(s:dsttype)) = 1; }<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (isflagset(0)) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(avp(s:dsttype)) = 3;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_on_reply("4");<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(method)="PDDTRACKING";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(ruri)="<a moz-do-not-send="true"
        href="http://sip:store@172.20.21.3:5160">sip:store@172.20.21.3:5160</a>";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(furi)="<a moz-do-not-send="true"
        href="mailto:sip%3Akamailio@sipgate.net">sip:kamailio@sipgate.net</a>";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(hdrs)="Content-Type:
      text/timetracking-csv\r\n";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pv_printf("$uac_req(body)",
      "$ci,$fU,$tU,$TV(Sn),$rm,$rd");<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uac_req_send();<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((!defined ($(avp(s:tariffannouncement))) ||
      !($(avp(s:tariffannouncement)) == "true")) &amp;&amp;
      method=="INVITE" &amp;&amp; defined $(avp(s:cid)) &amp;&amp;
      !($(avp(s:cid)) == "")) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(method)="TIMETRACKING";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(ruri)="<a moz-do-not-send="true"
        href="http://sip:store@172.20.21.3:5160">sip:store@172.20.21.3:5160</a>";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(furi)="<a moz-do-not-send="true"
        href="mailto:sip%3Akamailio@sipgate.net">sip:kamailio@sipgate.net</a>";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $uac_req(hdrs)="Content-Type:
      text/timetracking-csv\r\n";<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pv_printf("$uac_req(body)",
      "$(avp(s:cid)),$ci,$fU,$tU,$TV(Sn),$(avp(s:dsttype)),$rm,$rd");<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uac_req_send();<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("........................................... AFTER
      UAC REQUEST ....................................\n");<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("AVP LEG_ID has Value $(avp(s:leg_id))\n");<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_on_reply("ABC");<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) {<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("L_ERR", "route(2): error to &lt;$tu&gt; from
      &lt;$fu&gt;\n");<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (method=="INVITE" || method=="ACK") {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unforce_rtp_proxy();<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_reply_error();<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>
      }<br>
      <br>
      I probably need to explain that a little. We have another kamailio
      process just for accounting. We do it separately for being
      independent of the database in our "routing Kamailio", because
      there would be the chance of blocked processes, if the database is
      too slow, if we did it in the routing Kamailio.<br>
      <br>
      We try to to measure Post Dial Delay when sending calls out to the
      carrier, and we monitor the time differences for one call each
      time Kamaiio is passed. That's all the other process does. So we
      send handcrafted SIP packages with the needed information with
      uac_req_send(). And it looks like the AVPs get lost at that point.<br>
      <br>
      That's what the log says:<br>
      <br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17684]: ERROR:
      &lt;script&gt;: ........................................... START
      OF ROUTE 2....................................<br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17684]: ERROR:
      &lt;script&gt;: AVP LEG_ID has Value 9962182<br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17684]: ERROR:
      &lt;script&gt;: ........................................... AFTER
      UAC REQUEST ....................................<br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17684]: ERROR:
      &lt;script&gt;: AVP LEG_ID has Value &lt;null&gt;<br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17681]: NOTICE:
      &lt;script&gt;: REPLY START<br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17681]: NOTICE:
      &lt;script&gt;: reply: 100 Trying - F=<a moz-do-not-send="true"
        href="mailto:sip%3Aanonymous@sipgate.de">sip:anonymous@sipgate.de</a>
      T=<a moz-do-not-send="true"
        href="mailto:sip%3A0211XXXXXXXX@sipgate.de">sip:0211XXXXXXXX@sipgate.de</a>
      SRCIP=<a moz-do-not-send="true" href="http://217.116.120.220:5060">217.116.120.220:5060</a><br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17681]: NOTICE:
      &lt;script&gt;: Now in named reply
      route...............................................<br>
      Jul 28 16:41:35 hagi /usr/sbin/kamailio[17681]: ERROR:
      &lt;script&gt;: AVP LEG_ID has Value &lt;null&gt;<br>
      <br>
      <br>
      If I disable the UAC part of route[2], I get the following output:<br>
      <br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17404]: ERROR:
      &lt;script&gt;: ........................................... START
      OF ROUTE 2....................................<br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17404]: ERROR:
      &lt;script&gt;: AVP LEG_ID has Value 5770077<br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17404]: ERROR:
      &lt;script&gt;: ........................................... AFTER
      UAC REQUEST ....................................<br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17404]: ERROR:
      &lt;script&gt;: AVP LEG_ID has Value 5770077<br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17403]: NOTICE:
      &lt;script&gt;: REPLY START<br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17403]: NOTICE:
      &lt;script&gt;: reply: 100 Trying - F=<a moz-do-not-send="true"
        href="mailto:sip%3Aanonymous@sipgate.de">sip:anonymous@sipgate.de</a>
      T=<a moz-do-not-send="true"
        href="mailto:sip%3A0211XXXXXXXXX@sipgate.de">sip:0211XXXXXXXXX@sipgate.de</a>
      SRCIP=<a moz-do-not-send="true" href="http://217.116.120.220:5060">217.116.120.220:5060</a><br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17403]: NOTICE:
      &lt;script&gt;: Now in named reply
      route...............................................<br>
      Jul 28 16:25:20 hagi /usr/sbin/kamailio[17403]: ERROR:
      &lt;script&gt;: AVP LEG_ID has Value 5770077<br>
      <br>
      <br>
      The behavior was different in Kamailio 1.5, and I think using the
      uac module shouldn't destroy AVPs.<br>
      <br>
      <br>
      Am I missing something?<br>
      <br>
      Best regards,<br>
      Sebastian<br>
      <br>
      P.S.: Of course, the named onreply_route is executed AFTER the
      standard onreply_route. I misinterpreted my logs last week.<br>
      <br>
      <br>
      <div class="gmail_quote">On Fri, Jul 15, 2011 at 2:32 PM,
        Daniel-Constantin Mierla <span dir="ltr">&lt;<a
            moz-do-not-send="true" href="mailto:miconda@gmail.com">miconda@gmail.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex;">
          Hi Sebastian,
          <div>
            <div class="h5"><br>
              <br>
              On 7/15/11 11:42 AM, Sebastian Damm wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                Hi,<br>
                <br>
                On Fri, Jul 15, 2011 at 9:02 AM, Klaus Darilion<br>
                &lt;<a moz-do-not-send="true"
                  href="mailto:klaus.mailinglists@pernau.at"
                  target="_blank">klaus.mailinglists@pernau.at</a>&gt;
                &nbsp;wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  The named reply routes are only executed if
                  t_on_reply() was called for<br>
                  the request. This reply route will be executed after
                  the default<br>
                  reply-route. It is triggered by tm module.<br>
                </blockquote>
                I just inserted a new reply_route, which just prints out
                some<br>
                variables (and does avp_print). From what I see in the
                logs now, the<br>
                named route is executed before the default reply_route.
                And there are<br>
                no AVPs in the named route. Actually, I don't even need
                the AVPs in<br>
                the replies, I need them to be there, when the 200 OK
                comes in or in<br>
                failure route when the call is cancelled. In both cases
                the AVPs are<br>
                &lt;null&gt; &nbsp;if i directly address them.<br>
                <br>
                Any more ideas?<br>
              </blockquote>
            </div>
          </div>
          I am a bit confused about what you explain above, with "named
          route is executed before the default reply_route". Can you
          send like the structure of the config for this case? I mean
          the routes involved and the calls of t_on_reply(). Is it like
          for example:<br>
          <br>
          route {<br>
          ...<br>
          &nbsp; $avp(xyz) = 1;<br>
          &nbsp; t_on_reply("ABC");<br>
          &nbsp; t_relay();<br>
          &nbsp; exit;<br>
          }<br>
          <br>
          onreply_route[ABC] {<br>
          &nbsp; ...<br>
          &nbsp; xlog("avp(xyz) is $avp(xyz)\n");<br>
          &nbsp; ...<br>
          }<br>
          <br>
          Cheers,
          <div>
            <div class="h5"><br>
              Daniel<br>
              <br>
              -- <br>
              Daniel-Constantin Mierla -- <a moz-do-not-send="true"
                href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
              Kamailio Advanced Training, Oct 10-13, Berlin: <a
                moz-do-not-send="true" href="http://asipto.com/u/kat"
                target="_blank">http://asipto.com/u/kat</a><br>
              <a moz-do-not-send="true"
                href="http://linkedin.com/in/miconda" target="_blank">http://linkedin.com/in/miconda</a>
              -- <a moz-do-not-send="true"
                href="http://twitter.com/miconda" target="_blank">http://twitter.com/miconda</a><br>
              <br>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
      <br clear="all">
      <br>
      -- <br>
      Dipl.-Inf.<br>
      Sebastian Damm - VoIP-Engineer - <a moz-do-not-send="true"
        href="mailto:damm@sipgate.de">damm@sipgate.de</a><br>
      <br>
      sipgate GmbH - Gladbacher Str. 74 - 40219 D&uuml;sseldorf<br>
      HRB D&uuml;sseldorf 39841 - Gesch&auml;ftsf&uuml;hrer: Thilo Salmon, Tim Mois<br>
      Steuernummer: 106/5724/7147, Umsatzsteuer-ID: DE219349391<br>
      <br>
      <a moz-do-not-send="true" href="http://www.sipgate.de">www.sipgate.de</a>
      - <a moz-do-not-send="true" href="http://www.sipgate.at">www.sipgate.at</a>
      - <a moz-do-not-send="true" href="http://www.sipgate.co.uk">www.sipgate.co.uk</a><br>
      <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>
Kamailio Advanced Training, Oct 10-13, Berlin: <a class="moz-txt-link-freetext" href="http://asipto.com/u/kat">http://asipto.com/u/kat</a>
<a class="moz-txt-link-freetext" href="http://linkedin.com/in/miconda">http://linkedin.com/in/miconda</a> -- <a class="moz-txt-link-freetext" href="http://twitter.com/miconda">http://twitter.com/miconda</a></pre>
  </body>
</html>