In the first instance, you could use dmq_is_from_node() to determine if the message is a replicated one and if so, don't relay.
There's no specific function to check the state of other nodes, although it would be a simple addition. If I understand your question correctly, however, if the message has just been replicated by the primary server then it's safe to assume it's in service, right? Cheers, Charles On 3 March 2016 at 16:14, Alex Balashov <abalas...@evaristesys.com> wrote: > On 03/03/2016 11:09 AM, Charles Chance wrote: > > Yes, you are correct. It simply wraps the standard t_replicate() >> function, replicating the original request to every other node (first >> appending a new branch for each). Use case is essentially the same as >> the original but having the benefit of not having to define >> destination(s) statically in config, since that part is handled by DMQ. >> > > I see! Thank you. > > What I've got seems like a good use-case for clustering over DMQ as a > transport: a number of Kamailio servers that all answer on the same SIP > domain, and a nondeterministic Layer 3 routing topology where some replies > occasionally traverse a different Kamailio server to the one that processed > the request to which they correspond. For a wide variety of reasons, I need > to handle all this statefully, not statelessly. > > So, it seems like I ought to be able to dmq_t_replicate() incoming INVITEs > to other nodes and, on those nodes, instantiate the transaction with > t_newtran(). But one would also need to devise a mechanism to inform those > secondary nodes that the message should not be t_relay()'d unless the > primary server for which it was intended (itself difficult to identify due > to same SIP domain everywhere) was determined to be out of service. I don't > suppose there's some clever shortcut to implementing that kind of > conditional logic manually? > > > -- Alex > > -- > Alex Balashov | Principal | Evariste Systems LLC > 303 Perimeter Center North, Suite 300 > Atlanta, GA 30346 > United States > > Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ > > _______________________________________________ > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list > sr-users@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > -- Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users