[Serusers] need help with ser-0.9.4 and SUBSCRIBE requests

Ekaterina Ivannikova kate at gutatelecom.ru
Thu Dec 15 08:45:22 CET 2005


Hello list,

I installed a binary package of ser-0.9.4 on Solaris 10 (Intel) from 
ftp.berlios.de and am trying to use Windows Messenger 4.7 as a client. 
However SUBSCRIBE requests fail with an obscure message "Error while parsing 
headers". Googling found several similar complaints, but I still can't figure 
out how to resolve the issue. Any help is very much appreciated. My config, 
syslog messages and tcpdump follow.

Regards,

Ekaterina

# ----------- 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 
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

listen=10.123.0.250
user=ser
group=ser

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"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/pa.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)

# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# 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)

modparam("usrloc|registrar", "use_domain", 1)
modparam("pa", "use_db",   1)
modparam("pa", "db_url", "mysql://ser:heslo@localhost/ser")
modparam("pa", "pa_domain", "gutatelecom.ru")


# -------------------------  request routing logic -------------------

# main routing logic

alias="z1.all.yans.ru"
alias="gutatelecom.ru"
alias="gutagroup.ru"
alias="10.123.0.250"

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 >=  2048 ) {
		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
	if (!method=="REGISTER") record_route();	

	# subsequent messages withing a dialog should take the
	# path determined by record-routing
	if (loose_route()) {
		# mark routing logic in request
		append_hf("P-hint: rr-enforced\r\n"); 
		route(1);
		break;
	};

	if (!uri==myself) {
		# mark routing logic in request
		append_hf("P-hint: outbound\r\n"); 
		route(1);
		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("iptel.org", "subscriber")) {
#				www_challenge("iptel.org", "0");
#				break;
#			};

			save("location");
			break;
		};

                if (method=="SUBSCRIBE") {
                   if (!t_newtran()) {
                      log(1, "newtran error\n");
                      sl_reply_error();
                   };
                   handle_subscription("registrar");
                   break;
                };

                if (method=="PUBLISH") {
                   if (!t_newtran()) {
                      log(1, "newtran error\n");
                      sl_reply_error();
                   };
                   handle_publish("registrar");
                   break;
                };


		lookup("aliases");
		if (!uri==myself) {
			append_hf("P-hint: outbound alias\r\n"); 
			route(1);
			break;
		};

		# native SIP destinations are handled using our USRLOC DB
		if (!lookup("location")) {
			sl_send_reply("404", "Not Found");
			break;
		};
	};
	append_hf("P-hint: usrloc applied\r\n"); 
	route(1);
}

route[1] 
{
	# send it out now; use stateful forwarding as it works reliably
	# even for UDP2TCP
	if (!t_relay()) {
		sl_reply_error();
	};
}


Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 2 to 8063eb0
Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 13 to 8063eb0
Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 16 to 8063eb0
Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 18 to 8063eb0
Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 15 to 8063eb0
Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 1 to 8063eb0
Dec 13 17:16:14 z1 /usr/local/sbin/ser[24585]: [ID 326729 daemon.crit] setting signal 17 to 8063eb0
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 212014 daemon.warning] Warning: uac does not spread across the whole hash table
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 499528 daemon.notice] Maxfwd module- initializing
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 520766 daemon.crit] db_url=8228c90
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 520769 daemon.crit] db_url=mysql://ser:heslo@localhost/ser
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 472096 daemon.crit] db_url.len=31
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 351855 daemon.crit] pa_domain=gutatelecom.ru
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 624776 daemon.crit] pa_mod: use_db=1 db_url.s=mysql://ser:heslo@localhost/ser pa_domain=gutatelecom.ru
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 101486 daemon.crit] pa_mod_init done
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24585]: [ID 187949 daemon.error] subscribe_fixup: pdomain name is registrar
Dec 13 17:16:15 z1 last message repeated 1 time
Dec 13 17:16:15 z1 /usr/local/sbin/ser[24587]: [ID 827449 daemon.warning] WARNING: no fifo_db_url given - fifo DB commands disabled!
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24588]: [ID 219598 daemon.error] handle_subscription() entered
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24588]: [ID 717776 daemon.error] parse_hfs(): Error while parsing headers
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24588]: [ID 828236 daemon.error] handle_subscription(): Error while parsing message header
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24588]: [ID 405054 daemon.error] handle_subscription about to send_reply and return -2
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24590]: [ID 219598 daemon.error] handle_subscription() entered
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24590]: [ID 717776 daemon.error] parse_hfs(): Error while parsing headers
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24590]: [ID 828236 daemon.error] handle_subscription(): Error while parsing message header
Dec 13 17:17:25 z1 /usr/local/sbin/ser[24590]: [ID 405054 daemon.error] handle_subscription about to send_reply and return -2
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 219598 daemon.error] handle_subscription() entered
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 717776 daemon.error] parse_hfs(): Error while parsing headers
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 828236 daemon.error] handle_subscription(): Error while parsing message header
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 405054 daemon.error] handle_subscription about to send_reply and return -2
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 219598 daemon.error] handle_subscription() entered
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 717776 daemon.error] parse_hfs(): Error while parsing headers
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 828236 daemon.error] handle_subscription(): Error while parsing message header
Dec 13 17:17:32 z1 /usr/local/sbin/ser[24593]: [ID 405054 daemon.error] handle_subscription about to send_reply and return -2

~~~~~~~~~~~~~~~~~~
REGISTER sip:gutatelecom.ru SIP/2.0
Via: SIP/2.0/UDP 10.123.0.190:10707
Max-Forwards: 70
From: <sip:kate at gutatelecom.ru>;tag=f3dda05188a9449abba6930f6dc9ba57;epid=d631b39a7b
To: <sip:kate at gutatelecom.ru>
Call-ID: fc49c5f7ddbd4bf78718b0b11986caf4 at 10.123.0.190
CSeq: 1 REGISTER
Contact: <sip:10.123.0.190:10707>;methods="INVITE, MESSAGE, INFO, SUBSCRIBE, OPTIONS, BYE, CANCEL, NOTIFY, ACK, REFER"
User-Agent: RTC/1.2.4949
Event: registration
Allow-Events: presence
Content-Length: 0
K)^SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.123.0.190:10707
From: <sip:kate at gutatelecom.ru>;tag=f3dda05188a9449abba6930f6dc9ba57;epid=d631b39a7b
To: <sip:kate at gutatelecom.ru>;tag=9bf9a4f66ee3c16d13ef4422214649c2.b407
Call-ID: fc49c5f7ddbd4bf78718b0b11986caf4 at 10.123.0.190
CSeq: 1 REGISTER
Contact: <sip:10.123.0.190:10707>;expires=3600
Server: Sip EXpress router (0.9.4 (i386/solaris))
Content-Length: 0
Warning: 392 10.123.0.250:5060 "Noisy feedback tells:  pid=24588 req_src_ip=10.123.0.190 req_src_port=1271 in_uri=sip:gutatelecom.ru out_uri=sip:gutatelecom.ru via_cnt==1"
SUBSCRIBE sip:ura at gutatelecom.ru SIP/2.0
Via: SIP/2.0/UDP 10.123.0.190:10707
Max-Forwards: 70
From: "kate" <sip:kate at gutatelecom.ru>;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b
To: <sip:ura at gutatelecom.ru>
Call-ID: bf50c9641de74282a1f950e114e446de at 10.123.0.190
CSeq: 1 SUBSCRIBE
Contact: <sip:10.123.0.190:10707>
User-Agent: RTC/1.2
Event: presence
Accept: application/xpidf+xml, text/xml+msrtc.pidf
Supported: com.microsoft.autoextend
Content-Length: 0
SUBSCRIBE sip:admin at gutagroup.ru SIP/2.0
Via: SIP/2.0/UDP 10.123.0.190:10707
Max-Forwards: 70
From: "kate" <sip:kate at gutatelecom.ru>;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b
To: <sip:admin at gutagroup.ru>
Call-ID: 0c95f18aac8a45578e90b1f61e5ad634 at 10.123.0.190
CSeq: 1 SUBSCRIBE
Contact: <sip:10.123.0.190:10707>
User-Agent: RTC/1.2
Event: presence
Accept: application/xpidf+xml, text/xml+msrtc.pidf
Supported: com.microsoft.autoextend
Content-Length: 0
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 10.123.0.190:10707
From: "kate" <sip:kate at gutatelecom.ru>;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b
To: <sip:admin at gutagroup.ru>;tag=4847b256b8606eb0a98fbd0f755585cd-b407
Call-ID: 0c95f18aac8a45578e90b1f61e5ad634 at 10.123.0.190
CSeq: 1 SUBSCRIBE
Error while parsing headersServer: Sip EXpress router (0.9.4 (i386/solaris))
Content-Length: 0
Warning: 392 10.123.0.250:5060 "Noisy feedback tells:  pid=24588 req_src_ip=10.123.0.190 req_src_port=1271 in_uri=sip:admin at gutagroup.ru out_uri=sip:admin at gutagroup.ru via_cnt==1"
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 10.123.0.190:10707
From: "kate" <sip:kate at gutatelecom.ru>;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b
To: <sip:ura at gutatelecom.ru>;tag=4847b256b8606eb0a98fbd0f755585cd-b407
Call-ID: bf50c9641de74282a1f950e114e446de at 10.123.0.190
CSeq: 1 SUBSCRIBE
Error while parsing headersServer: Sip EXpress router (0.9.4 (i386/solaris))
Content-Length: 0
Warning: 392 10.123.0.250:5060 "Noisy feedback tells:  pid=24590 req_src_ip=10.123.0.190 req_src_port=1271 in_uri=sip:ura at gutatelecom.ru out_uri=sip:ura at gutatelecom.ru via_cnt==1"
SUBSCRIBE sip:ura at gutatelecom.ru SIP/2.0
Via: SIP/2.0/UDP 10.123.0.190:10707
Max-Forwards: 70
From: "kate" <sip:kate at gutatelecom.ru>;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b
To: <sip:ura at gutatelecom.ru>
Call-ID: bf50c9641de74282a1f950e114e446de at 10.123.0.190
CSeq: 1 SUBSCRIBE
Contact: <sip:10.123.0.190:10707>
User-Agent: RTC/1.2
Event: presence
Accept: application/xpidf+xml, text/xml+msrtc.pidf
Supported: com.microsoft.autoextend
Content-Length: 0
SUBSCRIBE sip:admin at gutagroup.ru SIP/2.0
Via: SIP/2.0/UDP 10.123.0.190:10707
Max-Forwards: 70
From: "kate" <sip:kate at gutatelecom.ru>;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b
To: <sip:admin at gutagroup.ru>
Call-ID: 0c95f18aac8a45578e90b1f61e5ad634 at 10.123.0.190
CSeq: 1 SUBSCRIBE
Contact: <sip:10.123.0.190:10707>
User-Agent: RTC/1.2
Event: presence
Accept: application/xpidf+xml, text/xml+msrtc.pidf
Supported: com.microsoft.autoextend
Content-Length: 0
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 10.123.0.190:10707
From: "kate" <sip:kate at gutatelecom.ru>;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b
To: <sip:ura at gutatelecom.ru>;tag=4847b256b8606eb0a98fbd0f755585cd-b407
Call-ID: bf50c9641de74282a1f950e114e446de at 10.123.0.190
CSeq: 1 SUBSCRIBE
Error while parsing headersServer: Sip EXpress router (0.9.4 (i386/solaris))
Content-Length: 0
Warning: 392 10.123.0.250:5060 "Noisy feedback tells:  pid=24590 req_src_ip=10.123.0.190 req_src_port=1271 in_uri=sip:ura at gutatelecom.ru out_uri=sip:ura at gutatelecom.ru via_cnt==1"
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 10.123.0.190:10707
From: "kate" <sip:kate at gutatelecom.ru>;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b
To: <sip:admin at gutagroup.ru>;tag=4847b256b8606eb0a98fbd0f755585cd-b407
Call-ID: 0c95f18aac8a45578e90b1f61e5ad634 at 10.123.0.190
CSeq: 1 SUBSCRIBE
Error while parsing headersServer: Sip EXpress router (0.9.4 (i386/solaris))
Content-Length: 0
Warning: 392 10.123.0.250:5060 "Noisy feedback tells:  pid=24588 req_src_ip=10.123.0.190 req_src_port=1271 in_uri=sip:admin at gutagroup.ru out_uri=sip:admin at gutagroup.ru via_cnt==1"




More information about the sr-users mailing list