[OpenSER-Users] dispatcher and auto reload of previously failed GWs

Miroslav HOSTINSKY bman at alconet.sk
Thu Apr 17 10:34:19 CEST 2008


Hello,

  ehm... I would like to have the following scenario working:

  1. dispatcher load-balance between SIP GWs (based on call-id)
  2. one GW fails -> dispatcher detects it and remove from list
  3. dispatcher starts to ping (with OPTIONS) failed GW until
     failed GW is back online.
  4. when GW is online, despatcher "reloads" back previously
     failed GW to balancing list...

I was not able to get working steps 3. and 4.

Recently I found solution:

  I replaced ds_mark_dst(); with ds_mark_dst("p");
  and it works :)

Thank you :-)

Daniel-Constantin Mierla wrote:
> Hello,
> 
> On 04/15/08 16:23, Miroslav HOSTINSKY wrote:
>> Hello all,
>>
>>   I have problem with dispatcher module in openser 1.3.1
>>
>>   I am not able to correctly setup scenario when failed GWs
>>   will be automatically reloaded back by openser, when they will
>>   be available.
>>   
> what means reloading? To take them from database?
> 
> At first sight all seems ok, I have to dig in a bit to give more details.
> 
> Cheers,
> Daniel
> 
>> My openser.cfg:
>>
>>   --
>> mpath = "/usr/lib/openser/modules"
>>
>> debug = 3
>> fork = no
>> log_stderror = yes
>>
>> children = 2
>> check_via = no
>> dns = off
>> rev_dns = off
>> port = 5060
>>
>> loadmodule "maxfwd.so"
>> loadmodule "sl.so"
>>
>> loadmodule "tm.so"
>> modparam("tm", "fr_timer", 5)
>>
>> loadmodule "xlog.so"
>> loadmodule "avpops.so"
>> loadmodule "textops.so"
>>
>> loadmodule "dispatcher.so"
>> modparam("dispatcher", "list_file", "/etc/openser/dispatcher.list")
>> modparam("dispatcher", "flags", 2)
>> modparam("dispatcher", "force_dst", 1)
>> modparam("dispatcher", "dst_avp", "$avp(i:271)")
>> modparam("dispatcher", "grp_avp", "$avp(i:272)")
>> modparam("dispatcher", "cnt_avp", "$avp(i:273)")
>> modparam("dispatcher", "ds_ping_method", "OPTIONS")
>> modparam("dispatcher", "ds_ping_interval", 5)
>> modparam("dispatcher", "ds_ping_from", "sip:proxy at 192.168.245.201")
>> modparam("dispatcher", "ds_probing_threshhold", 3)
>>
>> ########################################################################
>> # Request route 'main'
>> ########################################################################
>>
>> route {
>>
>>
>>
>>          if ( method=="INVITE" || method=="ACK" || method=="BYE" || 
>> method=="OPTIONS" ) {
>>                  ds_select_dst("1","0");
>>                  t_on_failure("1");
>>                  t_relay();
>>                  exit;
>>          }
>>
>> }
>>
>> failure_route[1] {
>>
>>          if (t_check_status("408")) {
>>                  xlog("L_INFO","Marking GW as failed...\n");
>>                  ds_mark_dst();
>>                  ds_next_dst();
>>                  t_on_failure("1");
>>                  t_relay();
>>          } else{
>>                  t_reply("501","Not Implemented");
>>          }
>> }
>>
>> -- 
>>
>> According to dispatcher readme file, this config should be sufficient 
>> (I think :)), but there is no OPTIONS generated by openser to the 
>> failed gateways.
>>
>> Removing of failed GWs works perfectly for me...
>>
>> Could someone help what is wrong with my config?
>>
>> Thanks.
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.openser.org
>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>>   
> 





More information about the sr-users mailing list