[Serusers] eliminating 483 errors

Klaus Darilion klaus.mailinglists at pernau.at
Wed Feb 18 18:53:21 CET 2004


Strange. You should watch the network traffic also on the loopback 
interface. (ethereal supports this). you can send me the dump file from 
ethereal.

klaus

Ticknor.Scott at ic.gc.ca wrote:

> 
>>-----Original Message-----
>>From: Klaus Darilion [mailto:klaus.mailinglists at pernau.at]
>>Sent: Wednesday, February 18, 2004 10:09 am
>>To: Ticknor, Scott: DGSE
>>Cc: serusers at lists.iptel.org
>>Subject: Re: [Serusers] eliminating 483 errors
>>
>>
>>I think the alias must be in one line, or only the last line 
>>will be used!
>>
>>from your dump: the proxy forwards the invite to the second phone - 
>>which does not answer. There is no 483 in your dump.
>>
>>klaus
> 
> 
> i don't understand it. serctl moni shows 483 whenever i use the Cisco [sip
> fw v6.1] phones. 
> i changed the display name on the phones to match the phone number, just in
> case that was problematic.
> 
> the call as shown in the dump [that is only part of the dump, the full file
> is 48 pages in word :/] results in:
> a) phone A calls phone B normally
> b) phone A is hung up, phone B sees the hangup and disengages [i can see the
> screen on phone B change as if call was cancelled]
> c) phone B immediately starts ringing again, thinking it is receiving the
> same call again.
> d) serctl moni notes 483 errors, and the 'Failure' count goes up as well.
> 
> X-Lite, MSN, and Kphone clients seem to work ok.
> 
> a tail of /var/log/messages shows the same message repeating [a summary from
> memory]:
> sl_reply won't send reply for Ack
> 
> check out the ser.cfg, this is the one in use right now. it is nearly stock,
> just a couple edits that shouldn't make much difference!? 
> 
> st
> 
> 
> 
> ------------------------------------------------------------------------
> 
> #
> # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
> #
> # simple quick-start config script
> #
> 
> # ----------- global configuration parameters ------------------------
> 
> #debug=3         # debug level (cmd line: -dddddddddd)
> #fork=yes
> #log_stderror=no	# (cmd line: -E)
> 
> /* Uncomment these lines to enter debugging mode 
> debug=7
> fork=no
> log_stderror=yes
> */
> 
> check_via=no	# (cmd. line: -v)
> dns=no           # (cmd. line: -r)
> rev_dns=no      # (cmd. line: -R)
> #port=5060
> #children=4
> fifo="/tmp/ser_fifo"
> 
> # ------------------ module loading ----------------------------------
> 
> # Uncomment this if you want to use SQL database
> loadmodule "/usr/local/lib/ser/modules/mysql.so"
> 
> loadmodule "/usr/local/lib/ser/modules/sl.so"
> loadmodule "/usr/local/lib/ser/modules/tm.so"
> loadmodule "/usr/local/lib/ser/modules/rr.so"
> loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
> loadmodule "/usr/local/lib/ser/modules/usrloc.so"
> loadmodule "/usr/local/lib/ser/modules/registrar.so"
> 
> # Uncomment this if you want digest authentication
> # mysql.so must be loaded !
> loadmodule "/usr/local/lib/ser/modules/auth.so"
> loadmodule "/usr/local/lib/ser/modules/auth_db.so"
> 
> # ----------------- setting module-specific parameters ---------------
> 
> # -- usrloc params --
> 
> #modparam("usrloc", "db_mode",   0)
> 
> # Uncomment this if you want to use SQL database 
> # for persistent storage and comment the previous line
> modparam("usrloc", "db_mode", 2)
> modparam("usrloc", "db_url", "sql://ser:heslo@localhost/ser") # our local db for ser users --st
> modparam("usrloc", "timer_interval", 10) # speed up writebacks to mysql [default is 60s] --st
> 
> # -- auth params --
> modparam("auth_db", "db_url", "sql://ser:heslo@localhost/ser") # db location & passwd --st
> 
> # Uncomment if you are using auth module
> #
> modparam("auth_db", "calculate_ha1", yes) # here we can change yes to no for hidden passwds in the db --st
> #
> # If you set "calculate_ha1" parameter to yes (which true in this config), 
> # uncomment also the following parameter)
> #
> modparam("auth_db", "password_column", "password")
> 
> 
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy
> modparam("rr", "enable_full_lr", 1)
> 
> # -------------------------  request routing logic -------------------
> 
> # main routing logic
> 
> route{
> 
> 	# initial sanity checks -- messages with
> 	# max_forwards==0, or excessively long requests
> 	if (!mf_process_maxfwd_header("10")) {
> 		sl_send_reply("483","Too Many Hops");
> 		break;
> 	};
> 	if ( msg:len > max_len ) {
> 		sl_send_reply("513", "Message too big");
> 		break;
> 	};
> 
> 	# we record-route all messages -- to make sure that
> 	# subsequent messages will go through our proxy; that's
> 	# particularly good if upstream and downstream entities
> 	# use different transport protocol
> 	record_route();	
> 	# loose-route processing
> 	if (loose_route()) {
> 		t_relay();
> 		break;
> 	};
> 
> 	# if the request is for other domain use UsrLoc
> 	# (in case, it does not work, use the following command
> 	# with proper names and addresses in it)
> 	if (uri==myself) {
> 
> 		if (method=="REGISTER") {
> 
> 			# Uncomment this if you want to use digest authentication
> 			if (!www_authorize("lima.dsi.crc.ca", "subscriber")) {
> 				www_challenge("lima.dsi.crc.ca", "0");
> 				break;
> 			};
> 
> 			save("location");
> 			break;
> 		};
> 
> 		# native SIP destinations are handled using our USRLOC DB
> 		if (!lookup("location")) {
> 			sl_send_reply("404", "Not Found");
> 			break;
> 		};
> 	};
> 	# forward to current uri now; use stateful forwarding; that
> 	# works reliably even if we forward from TCP to UDP
> 	if (!t_relay()) {
> 		sl_reply_error();
> 	};
> 
> } # end of main route logic #
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list