<div dir="ltr"><p>Hi,</p>
<p dir="ltr">No, the original r-uri is untouched. We loop over each node, adding a branch then calling t_replicate() from the tm API, passing the destination uri as a parameter.</p><p>We have to add a branch for each replication node, otherwise tm complains there are none available.<br></p><div>The API method t_replicate() maps to t_replicate_uri(), which eventually calls t_relay_to(), setting the replicate/local_trans bit so that replies are ignored.<br></div><p>Cheers,<br></p><p>Charles</p><p dir="ltr"><br></p>
<div class="gmail_quote">On 5 Feb 2015 10:54, "Daniel-Constantin Mierla" <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    so how is the full code for this case, first you change the r-uri
    and then call append_branch()?<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div>On 05/02/15 11:46, Charles Chance
      wrote:<br>
    </div>
    <blockquote type="cite">
      <p dir="ltr">Hi Daniel,</p>
      <p dir="ltr">I believe this is expected, since we are simply
        replicating the original message to other (multiple, hence the
        additional branches) nodes so they have a copy. Should we in
        fact change the r-uri in this case? I'm not sure. It all seems
        to test ok.</p>
      <p dir="ltr">All the best,</p>
      <p dir="ltr">Charles<br>
      </p>
      <div class="gmail_quote">On 5 Feb 2015 09:41, "Daniel-Constantin
        Mierla" <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
            <br>
            haven't looked at the whole function, but what you are using
            now is adding the r-uri as a branch. Do you want that? At
            the end it might be that the r-ruri and the last branch have
            the same address.<br>
            <br>
            You can look inside registrar module at lookup() function to
            see how first location record is added as r-uri and the rest
            as branches.<br>
            <br>
            Cheers,<br>
            Daniel<br>
            <br>
            <div>On 04/02/15 13:29, Charles Chance wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">Hi All,
                <div><br>
                </div>
                <div>Can anyone confirm, is this safe? Primary use case
                  is replication of REGISTER after local save().</div>
                <div><br>
                </div>
                <div><br>
                </div>
                <div>
                  <div>diff --git a/modules/dmq/dmq_funcs.c
                    b/modules/dmq/dmq_funcs.c</div>
                  <div>index b31deba..a3611e8 100644</div>
                  <div>--- a/modules/dmq/dmq_funcs.c</div>
                  <div>+++ b/modules/dmq/dmq_funcs.c</div>
                  <div>@@ -24,6 +24,7 @@</div>
                  <div> </div>
                  <div> #include "dmq_funcs.h"</div>
                  <div> #include "notification_peer.h"</div>
                  <div>+#include "../../dset.h"</div>
                  <div> </div>
                  <div> /**</div>
                  <div>  * @brief register a DMQ peer</div>
                  <div>@@ -385,6 +386,7 @@ int
                    cfg_dmq_t_replicate(struct sip_msg* msg, char* s)</div>
                  <div>        dmq_node_t* node;</div>
                  <div>        struct socket_info* sock;</div>
                  <div>        int i = 0;</div>
                  <div>+       int first = 1;</div>
                  <div> </div>
                  <div>        /* avoid loops - do not replicate if
                    message has come from another node</div>
                  <div>         * (override if optional parameter is
                    set)</div>
                  <div>@@ -413,10 +415,22 @@ int
                    cfg_dmq_t_replicate(struct sip_msg* msg, char* s)</div>
                  <div>                        node = node->next;</div>
                  <div>                        continue;</div>
                  <div>                }</div>
                  <div>+</div>
                  <div>+               if (!first) {</div>
                  <div>+                       if (append_branch(msg, 0,
                    0, 0, Q_UNSPECIFIED, 0, sock, 0, 0, 0, 0) == -1) {</div>
                  <div>+                               LM_ERR("failed to
                    append a branch\n");</div>
                  <div>+                               node =
                    node->next;</div>
                  <div>+                               continue;</div>
                  <div>+                       }</div>
                  <div>+               } else {</div>
                  <div>+                       first = 0;</div>
                  <div>+               }</div>
                  <div>+</div>
                  <div>                if(tmb.t_replicate(msg,
                    &node->orig_uri) < 0) {</div>
                  <div>                        LM_ERR("error calling
                    t_replicate\n");</div>
                  <div>                        goto error;</div>
                  <div>                }</div>
                  <div>+</div>
                  <div>                node = node->next;</div>
                  <div>        }</div>
                  <div>        lock_release(&node_list->lock);</div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Many thanks,</div>
                  <div><br>
                  </div>
                  <div>Charles</div>
                  <div><br>
                  </div>
                </div>
              </div>
              <br>
              <font face="Helvetica, Arial, sans-serif"><font><span style="font-size:10pt"><a href="http://www.sipcentric.com/" title="blocked::http://www.sipcentric.com/" target="_blank">www.sipcentric.com</a><br>
                    <br>
                    Follow us on twitter <a href="http://twitter.com/sipcentric" title="blocked::http://twitter.com/sipcentric" target="_blank">@sipcentric</a><br>
                    <br>
                    <font color="gray">Sipcentric Ltd. Company
                      registered in England & Wales no. 7365592.</font> <font color="gray">Registered office: Faraday Wharf,
                      Innovation Birmingham Campus, Holt Street,
                      Birmingham Science Park, Birmingham B7 4BB.</font></span></font></font>
              <br>
              <fieldset></fieldset>
              <br>
              <pre>_______________________________________________
sr-dev mailing list
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
            </blockquote>
            <br>
            <pre cols="72">-- 
Daniel-Constantin Mierla
<a href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - <a href="http://www.kamailioworld.com" target="_blank">http://www.kamailioworld.com</a></pre>
          </div>
          <br>
          _______________________________________________<br>
          sr-dev mailing list<br>
          <a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
          <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
          <br>
        </blockquote>
      </div>
      <br>
      <font face="Helvetica, Arial, sans-serif"><font><span style="font-size:10pt"><a href="http://www.sipcentric.com/" title="blocked::http://www.sipcentric.com/" target="_blank">www.sipcentric.com</a><br>
            <br>
            Follow us on twitter <a href="http://twitter.com/sipcentric" title="blocked::http://twitter.com/sipcentric" target="_blank">@sipcentric</a><br>
            <br>
            <font color="gray">Sipcentric Ltd. Company registered in
              England & Wales no. 7365592.</font> <font color="gray">Registered

              office: Faraday Wharf, Innovation Birmingham Campus, Holt
              Street, Birmingham Science Park, Birmingham B7 4BB.</font></span></font></font>
    </blockquote>
    <br>
    <pre cols="72">-- 
Daniel-Constantin Mierla
<a href="http://twitter.com/#!/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - <a href="http://www.kamailioworld.com" target="_blank">http://www.kamailioworld.com</a></pre>
  </div>

</blockquote></div>
</div>

<br>
<font face="Helvetica, Arial, sans-serif"><font size="2"><span style="font-size:10pt"><a href="http://www.sipcentric.com/" title="blocked::http://www.sipcentric.com/" target="_blank">www.sipcentric.com</a><br>
            <br>
            Follow us on twitter <a href="http://twitter.com/sipcentric" title="blocked::http://twitter.com/sipcentric" target="_blank">@sipcentric</a><br>
            <br>
            <font color="gray">Sipcentric Ltd.
                Company registered in England & Wales no. 7365592.</font> <font color="gray">Registered
                office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.</font></span></font></font>