Published on iptel.org (http://www.iptel.org)

dispatcher

By greger
Created 2006-11-26 09:20

Standard-dep

This modules implements a dispatcher for destination addresses. It computes hashes over parts of the request and selects an address from a destination set. The selected address is used then as outbound proxy.

The module can be used as a statelessi [1] load balancer, having no guarantee of fair distribution.


Daniel-Constantin Mierla


i [2] load balancer, having no guarantee of fair distribution.

i [3]/dispatcher.list" or "/usr/local/etc/ser/dispatcher.list".

i [4].

  • "2" - hash over to URI.

  • "3" - hash over the Request-URIi [5].

  • "X" - if the algorithm is not implemented, the first entry in set is chosen.

  • i [6] Configuration File

    # $Id: dispatcher.cfg,v 1.1 2004/08/10 16:51:36 dcm Exp $
    # sample config file for dispatcher module
    #
    
    debug=9          # debug level (cmd line: -dddddddddd)
    forki [7]=no
    log_stderror=yes  # (cmd line: -E)
    
    children=2
    check_via=no      # (cmd. line: -v)
    dns=off           # (cmd. line: -r)
    rev_dns=off       # (cmd. line: -R)
    port=5060
    
    # for more info: sip_router -h
    
    # ------------------ module loading ----------------------------------
    
    loadmodule "../sip_router/modules/maxfwd/maxfwd.so"
    loadmodule "../sip_router/modules/sl/sl.so"
    # loadmodule "../sip_router/modules/tm/tm.so"
    loadmodule "../sip_router/modules/dispatcher/dispatcher.so"
    
    # ----------------- setting module-specific parameters ---------------
    # -- dispatcher params --
    
    modparam("dispatcher", "list_file", "../etc/dispatcher.list")
    # modparam("dispatcher", "force_dst", 1)
    
    route{
    	if ( !mf_process_maxfwd_header("10") )
    	{
    	 	sl_send_reply("483","To Many Hops");
    	 	drop();
    	};
    	
    	ds_select_dst("2", "0");
    	
    	forward(uri:host, uri:port);
    	# t_relay();
    }