Thanks Carsten. What does ds_next_domain() do? Is failure_route[1] supposed to be calling itself? Why don't you call ds_next_dst() instead?
Douglas. > -----Original Message----- > From: Carsten Bock [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 06, 2006 9:47 AM > To: Douglas Garstang > Cc: [email protected] > Subject: Re: [Users] Openser 1.1 and Dispatacher Failover > > > Hi Douglas, > > It's quite simple. Here an except from a possible Main-Route: > > [...] > # Choose a Proxy (Round-Robin, PSTN-Gateways) > ds_select_domain("2", "4"); > > # On Failure: Choose next Proxy > t_on_failure("1"); > > # Relay to the Proxy > if (!t_relay()) { > sl_reply_error(); > } > [...] > > And here the corresponding failure-route: > failure_route[1] { > # Choose another gateway > if (t_check_status("408")) { > if (ds_next_domain()) { > # On Failure: Choose next Proxy > t_on_failure("1"); > # Relay to Proxy > t_relay(); > } else { > t_reply("503", "Service not available"); > return; > } > } > } > > And here the modparam for the dispatcher: > # Dispatcher: Enable Failover-Support > modparam("dispatcher", "flags", 2) > That's it. > > Carsten > > Douglas Garstang schrieb: > > Carston. > > > > Thanks for the info. Unfortunately, none of this stuff is > documented. I really don't have a clue how to implement any of this. > > > > Douglas. > > > > > >> -----Original Message----- > >> From: Carsten Bock [mailto:[EMAIL PROTECTED] > >> Sent: Tuesday, June 06, 2006 9:34 AM > >> To: Douglas Garstang > >> Cc: [email protected] > >> Subject: Re: [Users] Openser 1.1 and Dispatacher Failover > >> > >> > >> Hi Douglas, > >> > >> Yes you're right, it does. You just cannot do a simple (stateless) > >> forward for failover, you need to establish a transaction (e. g. > >> t_relay()) and you need a failure-route handling the error > >> (if there is > >> any error). And don't forget the flags of the dispatcher > >> (Flag 2 needs > >> to be enabled). > >> > >> Carsten > >> > >> Douglas Garstang schrieb: > >> > >>> I was under the impression that the dispatcher module in > >>> > >> Openser 1.1 did failover? > >> > >>> I just tried it. I put an invalid IP in my dispatcher.list > >>> > >> file. When the dispatcher selects that invalid IP, it looks > >> like it never times out and tries another. > >> > >>> # PSTN > >>> 2 sip:216.187.140.217 # INVALID > >>> 2 sip:216.187.141.246 > >>> 2 sip:216.187.140.216 > >>> > >>> What special steps do I need to take to ensure the > >>> > >> dispatcher does failover? > >> > >>> Here's a piece of my openser.cfg file... > >>> > >>> # > >>> # Outgoing PSTN Calls - Dispatch to Audiocodes > >>> # > >>> if ( src_ip == 216.187.142.203 || > >>> src_ip == 216.187.142.204 || > >>> src_ip == 216.187.142.232 || > >>> src_ip == 216.187.142.201 || > >>> src_ip == 216.187.142.231 ) { > >>> sl_send_reply("100","Trying"); > >>> xlog ("L_INFO","Outbound PSTN call. Dispatching > >>> > >> to Audiocodes"); > >> > >>> ds_select_dst("2","0"); > >>> forward(); > >>> return; > >>> } > >>> > >>> Doug. > >>> > >>> _______________________________________________ > >>> Users mailing list > >>> [email protected] > >>> http://openser.org/cgi-bin/mailman/listinfo/users > >>> > >>> > >>> > >> > > > > > > _______________________________________________ Users mailing list [email protected] http://openser.org/cgi-bin/mailman/listinfo/users
