[OpenSIPS-Users] basic load balancer setup

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Mar 14 13:25:32 CET 2012


Hi Joshua,

Have you checked (at network level) if the actual call (the inbound one, 
from a client) gets to opensips LB ? and if so, if the call gets 
forwarded to Asterisk ?

Regards,
Bogdan

On 03/13/2012 10:00 PM, Joshua Nankin wrote:
> Hello,
>
> Trying to use OpenSIPS as both a load balancer for incoming calls and
> as an outbound proxy to my carrier.  I have been unsuccessful to place
> outgoing or incoming calls, and I think I just need some help with the
> configuration.  Just for testing, I have one Asterisk box behind
> OpenSIPS and the load balancer table on OpenSIPS looks like this:
>
> +----+----------+-------------------+-----------+------------+-------------+
> | id | group_id | dst_uri           | resources | probe_mode | description |
> +----+----------+-------------------+-----------+------------+-------------+
> |  1 |        1 | sip:10.36.115.119 | fax=300   |          0 | tester      |
> +----+----------+-------------------+-----------+------------+-------------+
>
>
> The dst_ur is the internal IP of my asterisk box.  I'm using this for
> fax, so I have set the resources field to 300 channels of "fax".   On
> my asterisk box, I've added "outboundproxy=23.21.170.154", as the 23.*
> IP is the external IP of the opensips box.  Below is my simple
> opensips.cfg that I've adapted from the load balancing tutorial.  Any
> help would be much appreciated.  Additionally, for debugging purposes,
> I've opened all UDP and TCP ports.  Still not able to connect.
>
>
> debug=6
> memlog=1
>
> fork=yes
> children=2
> log_stderror=yes
> log_facility=LOG_LOCAL0
>
> disable_tcp=yes
> disable_dns_blacklist = yes
>
> auto_aliases=no
>
> check_via=no
> dns=off
> rev_dns=off
> port=5060
>
> mpath="/usr/lib/opensips/modules/"
> loadmodule "maxfwd.so"
> loadmodule "sl.so"
> loadmodule "db_mysql.so"
> loadmodule "tm.so"
> loadmodule "uri.so"
> loadmodule "rr.so"
> loadmodule "dialog.so"
> loadmodule "mi_fifo.so"
> loadmodule "signaling.so"
> loadmodule "textops.so"
> loadmodule "load_balancer.so"
>
> modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
> modparam("mi_fifo", "fifo_mode",0666)
>
> modparam("dialog", "db_mode", 1)
> modparam("dialog", "db_url", "mysql://root:opensips@localhost/opensips")
>
> modparam("rr","enable_double_rr",1)
> modparam("rr","append_fromtag",1)
>
> modparam("load_balancer", "db_url","mysql://root:opensips@localhost/opensips")
>
>
> route{
> 	if (!mf_process_maxfwd_header("3")) {
> 		sl_send_reply("483","looping");
> 		exit;
> 	}
>
>
> 	if (!has_totag()) {
>                  # initial request
> 		record_route();
> 	} else {
> 		# sequential request ->  obey Route indication
> 		loose_route();
>                  t_relay();
>                  exit;
>          }
>
>          # handle cancel and re-transmissions
> 	if ( is_method("CANCEL") ) {
> 		if ( t_check_trans() )
> 			t_relay();
> 		exit;
> 	}
>
>
>          # from now on we have only the initial requests
>          if (!is_method("INVITE")) {
>                  send_reply("405","Method Not Allowed");
>                  exit;
>          }
>
>          # detect resources and do balancing
>         load_balance("1","fax");
>
>          # LB function returns negative if no suitable destination (for
> requested resources) is found,
>          # or if all destinations are full
>          if ($retcode<0) {
>               sl_send_reply("500","Service full");
>               exit;
>          }
>
> 	xlog("Selected destination is: $du\n");
>
>          # send it out
> 	if (!t_relay()) {
> 		sl_reply_error();
> 	}
> }
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>


-- 
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com




More information about the Users mailing list