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" <mico...@gmail.com > <mailto:mico...@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. -- 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