On 2/11/10 8:53 PM, Alex Balashov wrote:
= 4xx reply.
better said: >=300 reply
On 02/11/2010 02:52 PM, Sven Schulz wrote:
Hello,
Ive been testing Kamailio 3.0 and drouting. In the documentation it states (Section 1.5 Routing Rule Processing) “The module will execute serial forking for each address in chain. The next address in chain is used only if the previously has failed.”
I think it is a bit too much said. You have to do some scripting, in this way: - first build the list of available destinations by calling do_routing(...) - that will set first destination in R-URI and the rest will be kept in avp list - before forwarding with t_relay() arm a failure_route - the failure_route is executed only when the forwarded invite is replied with >=300 code - if failure route is triggered, call next_routing() (maybe you need to call append_branch() afterward as well) - re-arm the failure route and forward again - repeat until next_routing() is false (no more destinations available)
What exactly defines a failure? Does it use ping or OPTIONS to determine if a GW is busy or down?
I haven't looked at drouting for this option, last time I got into that code several weeks ago it wasn't no way to detect gw states. But dispatcher, lcr and probably carrierroute modules use options to detect availability of gateways.
Maybe if you can describe what you want to achieve, we can give some hints what is best to use.
Hope it helps, Daniel
Id like to know exactly how drouting figures this out.
Sven Schulz Penn State University Telecommunications and Network Services 814.865.6116 sip:sven@psu.edu
Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users