<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Federico,<br>
    <br>
    the file was still open in my editor before closing the day, so I
    just decided to do it, thinking it will provide more flexibility
    than the previous patch.<br>
    <br>
    Maybe the other functions from tsilo can get a parameter with uri to
    be used internally, if they need such value -- I haven't looked at
    the code for the other functions yet.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 19/09/15 08:03, Federico Cabiddu
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAFOaF_idUB-qOaJntTd=0uAmKJcJy5w8WKie1ejDddtiWgKs0w@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Hi Daniel,</div>
        I woke up this morning with the idea to implement this, I swear!
        <div>I'm just wondering now if it still makes sense to use the
          current uri by default to store the transactions.</div>
        <div>If we use the current uri in the "basic" scenario we have
          to explicitly call ts_store("$ou") after lookup(), while maybe
          it would be cleaner to call it with a uri when we know that
          the original uri is not the uri we want to use for storing the
          transaction. I don't know if I've been clear enough :)</div>
        <div>Anyway it's not a big point.</div>
        <div>Thanks a lot for the contribution which moreover open new
          use cases for tsilo in which I didn't think at the beginning.</div>
        <div><br>
        </div>
        <div>Cheers,</div>
        <div><br>
        </div>
        <div>Federico</div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Sat, Sep 19, 2015 at 12:17 AM,
            Daniel-Constantin Mierla <span dir="ltr"><<a
                moz-do-not-send="true" href="mailto:miconda@gmail.com"
                target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>></span> wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Module:
              kamailio<br>
              Branch: master<br>
              Commit: 19e608f803b7198543091bf41c468153567741d3<br>
              URL: <a moz-do-not-send="true"
href="https://github.com/kamailio/kamailio/commit/19e608f803b7198543091bf41c468153567741d3"
                rel="noreferrer" target="_blank">https://github.com/kamailio/kamailio/commit/19e608f803b7198543091bf41c468153567741d3</a><br>
              <br>
              Author: Daniel-Constantin Mierla <<a
                moz-do-not-send="true" href="mailto:miconda@gmail.com"
                target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>><br>
              Committer: Daniel-Constantin Mierla <<a
                moz-do-not-send="true" href="mailto:miconda@gmail.com"
                target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>><br>
              Date: 2015-09-18T22:59:44+02:00<br>
              <br>
              tsilot: t_store(...) accepts uri as parameter<br>
              <br>
              - uri can be explicitely given as parameter instead of
              taking it from<br>
                r-uri<br>
              - can help avoiding: backup r-uri, set it to another uri
              and then restore<br>
                r-uri from backup<br>
              <br>
              ---<br>
              <br>
              Modified: modules/tsilo/ts_store.c<br>
              Modified: modules/tsilo/ts_store.h<br>
              Modified: modules/tsilo/tsilo.c<br>
              <br>
              ---<br>
              <br>
              Diff:  <a moz-do-not-send="true"
href="https://github.com/kamailio/kamailio/commit/19e608f803b7198543091bf41c468153567741d3.diff"
                rel="noreferrer" target="_blank">https://github.com/kamailio/kamailio/commit/19e608f803b7198543091bf41c468153567741d3.diff</a><br>
              Patch: <a moz-do-not-send="true"
href="https://github.com/kamailio/kamailio/commit/19e608f803b7198543091bf41c468153567741d3.patch"
                rel="noreferrer" target="_blank">https://github.com/kamailio/kamailio/commit/19e608f803b7198543091bf41c468153567741d3.patch</a><br>
              <br>
              ---<br>
              <br>
              diff --git a/modules/tsilo/ts_store.c
              b/modules/tsilo/ts_store.c<br>
              index a05a4ef..2cec2ef 100644<br>
              --- a/modules/tsilo/ts_store.c<br>
              +++ b/modules/tsilo/ts_store.c<br>
              @@ -39,7 +39,7 @@<br>
              <br>
               extern int use_domain;<br>
              <br>
              -int ts_store(struct sip_msg* msg) {<br>
              +int ts_store(struct sip_msg* msg, str *puri) {<br>
                      struct cell             *t;<br>
                      str aor;<br>
                      struct sip_uri ruri;<br>
              @@ -48,12 +48,16 @@ int ts_store(struct sip_msg* msg) {<br>
                      ts_urecord_t* r;<br>
                      int res;<br>
              <br>
              -       if (msg->new_uri.s!=NULL) {<br>
              -               /* incoming r-uri was chaged by cfg or
              other component */<br>
              -               suri = msg->new_uri;<br>
              +       if(puri && puri->s &&
              puri->len>0) {<br>
              +               suri = *puri;<br>
                      } else {<br>
              -               /* no changes to incoming r-uri */<br>
              -               suri = msg->first_line.u.request.uri;<br>
              +               if (msg->new_uri.s!=NULL) {<br>
              +                       /* incoming r-uri was chaged by
              cfg or other component */<br>
              +                       suri = msg->new_uri;<br>
              +               } else {<br>
              +                       /* no changes to incoming r-uri */<br>
              +                       suri =
              msg->first_line.u.request.uri;<br>
              +               }<br>
                      }<br>
              <br>
                      if (use_domain) {<br>
              diff --git a/modules/tsilo/ts_store.h
              b/modules/tsilo/ts_store.h<br>
              index 3a3a8a9..824ccc9 100644<br>
              --- a/modules/tsilo/ts_store.h<br>
              +++ b/modules/tsilo/ts_store.h<br>
              @@ -22,6 +22,6 @@<br>
               #ifndef _TS_STORE_H<br>
               #define _TS_STORE_H<br>
              <br>
              -int ts_store(struct sip_msg* msg);<br>
              +int ts_store(struct sip_msg* msg, str *puri);<br>
              <br>
               #endif<br>
              diff --git a/modules/tsilo/tsilo.c b/modules/tsilo/tsilo.c<br>
              index 51c1e81..f9bcfa9 100644<br>
              --- a/modules/tsilo/tsilo.c<br>
              +++ b/modules/tsilo/tsilo.c<br>
              @@ -65,7 +65,8 @@ static int fixup_ts_append_to(void**
              param, int param_no);<br>
               static int w_ts_append(struct sip_msg* _msg, char
              *_table, char *_ruri);<br>
               static int fixup_ts_append(void** param, int param_no);<br>
              <br>
              -static int w_ts_store(struct sip_msg* msg);<br>
              +static int w_ts_store(struct sip_msg* msg, char *p1, char
              *p2);<br>
              +static int w_ts_store1(struct sip_msg* msg, char *_ruri,
              char *p2);<br>
              <br>
               extern stat_var *stored_ruris;<br>
               extern stat_var *stored_transactions;<br>
              @@ -80,6 +81,8 @@ static cmd_export_t cmds[]={<br>
                              fixup_ts_append, 0, REQUEST_ROUTE |
              FAILURE_ROUTE },<br>
                      {"ts_store", (cmd_function)w_ts_store,  0,<br>
                              0 , 0, REQUEST_ROUTE | FAILURE_ROUTE },<br>
              +       {"ts_store", (cmd_function)w_ts_store1,  1,<br>
              +               fixup_spve_null , 0, REQUEST_ROUTE |
              FAILURE_ROUTE },<br>
                      {0,0,0,0,0,0}<br>
               };<br>
              <br>
              @@ -279,7 +282,22 @@ static int w_ts_append_to(struct
              sip_msg* msg, char *idx, char *lbl, char *table<br>
               /**<br>
                *<br>
                */<br>
              -static int w_ts_store(struct sip_msg* msg)<br>
              +static int w_ts_store(struct sip_msg* msg, char *p1, char
              *p2)<br>
               {<br>
              -       return ts_store(msg);<br>
              +       return ts_store(msg, 0);<br>
              +}<br>
              +<br>
              +<br>
              +/**<br>
              + *<br>
              + */<br>
              +static int w_ts_store1(struct sip_msg* msg, char *_ruri,
              char *p2)<br>
              +{<br>
              +       str suri;<br>
              +<br>
              +       if(fixup_get_svalue(msg, (gparam_t*)_ruri,
              &suri)!=0) {<br>
              +               LM_ERR("failed to conert r-uri
              parameter\n");<br>
              +               return -1;<br>
              +       }<br>
              +       return ts_store(msg, &suri);<br>
               }<br>
              <br>
              <br>
              _______________________________________________<br>
              sr-dev mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:sr-dev@lists.sip-router.org"
                target="_blank">sr-dev@lists.sip-router.org</a><br>
              <a moz-do-not-send="true"
                href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev"
                rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sr-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a class="moz-txt-link-freetext" href="http://asipto.com/u/kat">http://asipto.com/u/kat</a></pre>
  </body>
</html>