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 mailto: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 <http://www.sipcentric.com/> Follow us on twitter @sipcentric <http://twitter.com/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 <mailto: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://twitter.com/#%21/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 <mailto:sr-dev@lists.sip-router.org> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
www.sipcentric.com http://www.sipcentric.com/
Follow us on twitter @sipcentric http://twitter.com/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.