Thanks for the input. I did test the 408 scenario by disabling one of the asterisk systems. I was connected properly and the one end point was removed from the pool. I will run some more tests and analyze the debug info more carefully to see exactly what path is being taken.
In regards to asterisk as a PSTN gateway, it isn't acting as such, so I don't have to worry about that. The systems are simply providing end point IVR functionality. Asterisk will ALWAYS answer the call itself. I will definitely add the 500 and 600 series errors to my failover handling. Excellent Input!!! Much appreciated. On Wed, Feb 11, 2009 at 5:10 PM, Iñaki Baz Castillo <i...@aliax.net> wrote: > I don't understand the following: > > > ----------------------------------------------- > ######################################################################## > ## Handles relay of INVITE messages > ## with round-robin load balancing > ######################################################################## > route[1]{ > ds_select_domain("1","4"); > t_on_reply("1"); > t_on_failure("1"); > t_relay(); > } > > [...] > > ####################################################################### > ## Handles failure of INVITE forwarding > ####################################################################### > failure_route[1]{ > xlog("L_INFO","Failure route, trying again\n"); > > if(t_check_status("408")){ > xlog("L_INFO","Got a 408 Timeout, flagging dest as invalid\n"); > ds_mark_dst(); > route(1); > ---------------------------------------------- > > > In failure_route[1] you call route[1], and in route[1] you > execute "ds_select_domain()". > According to the doc: > http://www.opensips.org/html/docs/modules/devel/dispatcher.html#id271282 > "ds_select_domain()" can only be called from REQUEST_ROUTE, and not from > FAILURE_ROUTE. > I wonder why you don't get an error when starting your OpenSIPS. ¿? > > I expect you should use "ds_next_domain" in FAILURE_ROUTE: > http://www.opensips.org/html/docs/modules/devel/dispatcher.html#id271328 > > Are you 100% sure that this script works in your lab? How have you simulated > the "408" from a server? > > > Other point: you consider the case of a 408 to dissable a gateway. I've worked > with OpenSIPS in front of an Asterisk acting as PSTN gateway using PRI. > Sometimes, when the PSTN called doesn't answer after XX seconds, the telco > replies a ISUP code that Asterisk converts to "408". Be careful because if > that occurs your OpenSIPS will mark that Asterisk as "dead". > > > Other point: why do you only consider 408 to dissable a gateway? Imagine that > the Asterisk has a problem and replies 500 (Internal Error) or 503. But if > you add those casees, be sure of adding "Hangup" at the end of each possible > extension in your Asterisk dialplan. If not, Asterisk will reply 503. > > > > > > > > -- > Iñaki Baz Castillo > > _______________________________________________ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > _______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users