[Users] Openser 1.1 and Dispatacher Failover

Douglas Garstang dgarstang at oneeighty.com
Tue Jun 6 18:08:51 CEST 2006


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:openser-list at qbiz.de]
> Sent: Tuesday, June 06, 2006 9:47 AM
> To: Douglas Garstang
> Cc: Users at openser.org
> 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:openser-list at qbiz.de]
> >> Sent: Tuesday, June 06, 2006 9:34 AM
> >> To: Douglas Garstang
> >> Cc: Users at openser.org
> >> 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
> >>> Users at openser.org
> >>> http://openser.org/cgi-bin/mailman/listinfo/users
> >>>
> >>>   
> >>>       
> >>     
> >
> >   
> 
> 




More information about the Users mailing list