If you want to replicate the request keeping same r-uri on all replications, then it is fine.

Cheers,
Daniel

On 05/02/15 12:31, Charles Chance wrote:

Hi,

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.

We have to add a branch for each replication node, otherwise tm complains there are none available.

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.

Cheers,

Charles


On 5 Feb 2015 10:54, "Daniel-Constantin Mierla" <miconda@gmail.com> wrote:
Hello,

so how is the full code for this case, first you change the r-uri and then call append_branch()?

Cheers,
Daniel

On 05/02/15 11:46, Charles Chance wrote:

Hi Daniel,

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.

All the best,

Charles

On 5 Feb 2015 09:41, "Daniel-Constantin Mierla" <miconda@gmail.com> wrote:
Hello,

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.

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.

Cheers,
Daniel

On 04/02/15 13:29, Charles Chance wrote:
Hi All,

Can anyone confirm, is this safe? Primary use case is replication of REGISTER after local save().


diff --git a/modules/dmq/dmq_funcs.c b/modules/dmq/dmq_funcs.c
index b31deba..a3611e8 100644
--- a/modules/dmq/dmq_funcs.c
+++ b/modules/dmq/dmq_funcs.c
@@ -24,6 +24,7 @@
 
 #include "dmq_funcs.h"
 #include "notification_peer.h"
+#include "../../dset.h"
 
 /**
  * @brief register a DMQ peer
@@ -385,6 +386,7 @@ int cfg_dmq_t_replicate(struct sip_msg* msg, char* s)
        dmq_node_t* node;
        struct socket_info* sock;
        int i = 0;
+       int first = 1;
 
        /* avoid loops - do not replicate if message has come from another node
         * (override if optional parameter is set)
@@ -413,10 +415,22 @@ int cfg_dmq_t_replicate(struct sip_msg* msg, char* s)
                        node = node->next;
                        continue;
                }
+
+               if (!first) {
+                       if (append_branch(msg, 0, 0, 0, Q_UNSPECIFIED, 0, sock, 0, 0, 0, 0) == -1) {
+                               LM_ERR("failed to append a branch\n");
+                               node = node->next;
+                               continue;
+                       }
+               } else {
+                       first = 0;
+               }
+
                if(tmb.t_replicate(msg, &node->orig_uri) < 0) {
                        LM_ERR("error calling t_replicate\n");
                        goto error;
                }
+
                node = node->next;
        }
        lock_release(&node_list->lock);


Many thanks,

Charles


www.sipcentric.com

Follow us on twitter @sipcentric

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com

_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev


www.sipcentric.com

Follow us on twitter @sipcentric

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com

www.sipcentric.com

Follow us on twitter @sipcentric

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com