[OpenSIPS-Users] Input on my loadbalancer configuration

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Nov 11 11:29:57 CET 2008


Hi,

Two remarks:

1) the path taken by a request will be taken (in the opposite direction) 
by all the replies of that request - that is SIP :) . So, if your INVITE 
went through the dispatcher, all its replies (180, 200) will go via 
dispatcher

2) for sequential requests (ACK, re-INVITEs, BYEs) you can make them 
skip the dispatcher by NOT doing record-routing on the dispatcher for 
the original INVITE

1') regarding my comment from 1) - you may play with the send() function 
- this is a stateless function for sending a request out but without 
adding any VIA in the request. So the hop doing send() will be invisible 
for the replies also (the replies will bypass this hop as there is no 
VIA for it) - but I warn you that this is against RFC3261 and also it 
might generate problems at network level (a SIP point expects to have 
the same IP:port peer during a transaction)

Regards,
Bogdan



geoffreymina at gmail.com wrote:
> Was wondering if any of the good people out there would be willing to 
> comment on my configuration. The goal here is to simply provide 
> inbound load balancing services from my service provider to a farm of 
> 10 asterisk servers. I was hoping to get around this without "tm.so", 
> but i couldn't figure it out. I am trying to build a system which will 
> eventually support 2000 concurrent inbound sessions. Here is what I 
> have come up with.
>
> This works in the bubble of my testing/proof of concept world, but I 
> am sure I am missing some important aspects.
>
> Thanks for anyones time!
>
>
> ###### Global Parameters #####
> debug=9
> log_stderror=no
> log_facility=LOG_LOCAL0
> fork=yes
> children=8
> disable_tcp=yes
> listen=eth0:5060
> port=5060
>
> ##### Debug Enabled #####
> fork=no
> log_stderror=yes
>
> ##### Module Loading and Param Setting #####
> mpath="/usr/local/lib64/opensips/modules/"
> loadmodule "sl.so"
> loadmodule "db_mysql.so"
> loadmodule "tm.so"
> loadmodule "maxfwd.so"
> loadmodule "rr.so"
>
> ## Enable SipTrace module for debugging SIP transactions ##
> loadmodule "siptrace.so"
> modparam("siptrace","db_url","mysql://[removed]:[removed]@localhost/opensips")
> modparam("siptrace","table","sip_trace")
> modparam("siptrace","trace_on",1)
> modparam("siptrace","trace_flag",13)
>
> ## Enable Dispatcher module ##
> loadmodule "dispatcher.so"
> #modparam("dispatcher","ds_ping_method","INFO")
> #modparam("dispatcher","ds_ping_from","sip:monitoring at connectfirst.com")
> #modparam("dispatcher","ds_ping_interval",10)
> #modparam("dispatcher","ds_probing_mode",1)
>
> ##### Routing Logic #####
> route{
> setflag(13);
> sip_trace();
>
> if(!mf_process_maxfwd_header("10")){
> sl_send_reply("483","Too Many Hops");
> drop();
> }
>
> if(method=="INVITE"){
> ds_select_dst("1","4");
> t_on_failure("1");
> t_relay();
> exit();
> }else{
> t_relay();
> exit();
> }
> }
>
> failure_route[1]{
> if(t_check_status("408")){
> ds_mark_dst();
> }
>
> ds_next_dst();
> t_on_failure("1");
> t_relay();
> }
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   




More information about the Users mailing list