Hi,
I've once asked Serusers list about problem with sequential forking and failure_routes[]. SER pickes lower result code from branches. This is how "tm" module is done (t_check_status(), ...). Mail was from 05 September 2005, titled:
"t_check_status() - why it is checking for winning reply in failure_routes?"
Received many answers, thanks for it. I was responded by Klaus Darilion on 06/09 that SER policy is kept according to RFC - we pick LOWEST response code. So it is impossible in example to make sequential (serial) routing based on "486" to third branch, when first branch responded "404" and second branch responded "486". There will always be "404".
I was thinking yesterday about writing just another alternative function for t_check_status() and t_pick_branch() in tm module, to do what I need. That is: checking if error code is something useful, that tells me what happened downstream in current branch (busy? timed out?).
But today I was reading this article on OpenSER: http://openser.org/pipermail/users/2005-June/000004.html
Seems it is possible to use OpenSER to make sequential forking with more than one failure_route[]? There is fix to tm module that pickes result only from last set of forked branches?
Am I correct? Thanks for comments.