[Users] dispatcher relaying instead of dipatching?

Rick Richardson rick at eltopia.com
Sat Dec 3 23:52:54 CET 2005


On my test network I have set up a dispatcher server that points to two
proxy servers that hit an external database. 

I have a simple route script on the dispatcher that should be routing
requests to the two proxy servers. 

dispatcher 	.51
caller 		.99
recipient 	.100
proxy1 		.52
proxy2 		.53

I'm making call requests from .99
to .100, with .51 used as the proxy server.
The problem I'm getting, is that the INVITE is being sent directly to
the recipient without passing through the proxys, the dispatcher is
passing the message directly. At least i think that is what is
happening. 
Here is the sip INVITE:
        INVITE sip:rick at 192.168.0.100 SIP/2.0
        Via: SIP/2.0/UDP 192.168.0.99:5060;rport;branch=z9hG4bK837723126
        From: <sip:rick at 192.168.0.51>;tag=679508646
        To: <sip:rick at 192.168.0.100>
        Call-ID: 125992616 at 192.168.0.99
        CSeq: 20 INVITE
        Contact: <sip:rick at 192.168.0.99:5060>
        Max-Forwards: 5
        User-Agent: Linphone-1.0.1/eXosip
        Subject: Phone call
        Expires: 120
        Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, REFER, SUBSCRIBE,
NOTIFY, MESSAGE
        Content-Type: application/sdp
        Content-Length: 352

So it seems to me that the invite request is being sent to .51 and it is
forwarding directly to .100 without dispatching the message to .52
or .53

here is my dispatcher config:


# $Id: dispatcher.cfg,v 1.1.1.1 2005/06/13 16:47:37 bogdan_iancu Exp $
# sample config file for dispatcher module
#

debug=9          # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no  # (cmd line: -E)
log_facility=LOG_LOCAL0
children=2
check_via=no      # (cmd. line: -v)
dns=off           # (cmd. line: -r)
rev_dns=off       # (cmd. line: -R)
port=5060
fifo="/tmp/openser_fifo"
# for more info: sip_router -h

# ------------------ module loading ----------------------------------
loadmodule "//lib/openser/modules/xlog.so"
loadmodule "/usr/lib/openser/modules/maxfwd.so"
loadmodule "/usr/lib/openser/modules/sl.so"
loadmodule "/usr/lib/openser/modules/dispatcher.so"

# ----------------- setting module-specific parameters ---------------
# -- dispatcher params --

modparam("dispatcher", "list_file", "/etc/openser/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", "2");
	
	forward(uri:host,uri:port);
	# t_relay();
}









More information about the sr-users mailing list