[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 Users
mailing list