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@gutatelecom.ru;tag=f3dda05188a9449abba6930f6dc9ba57;epid=d631b39a7b To: sip:kate@gutatelecom.ru Call-ID: fc49c5f7ddbd4bf78718b0b11986caf4@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@gutatelecom.ru;tag=f3dda05188a9449abba6930f6dc9ba57;epid=d631b39a7b To: sip:kate@gutatelecom.ru;tag=9bf9a4f66ee3c16d13ef4422214649c2.b407 Call-ID: fc49c5f7ddbd4bf78718b0b11986caf4@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@gutatelecom.ru SIP/2.0 Via: SIP/2.0/UDP 10.123.0.190:10707 Max-Forwards: 70 From: "kate" sip:kate@gutatelecom.ru;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b To: sip:ura@gutatelecom.ru Call-ID: bf50c9641de74282a1f950e114e446de@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@gutagroup.ru SIP/2.0 Via: SIP/2.0/UDP 10.123.0.190:10707 Max-Forwards: 70 From: "kate" sip:kate@gutatelecom.ru;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b To: sip:admin@gutagroup.ru Call-ID: 0c95f18aac8a45578e90b1f61e5ad634@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@gutatelecom.ru;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b To: sip:admin@gutagroup.ru;tag=4847b256b8606eb0a98fbd0f755585cd-b407 Call-ID: 0c95f18aac8a45578e90b1f61e5ad634@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@gutagroup.ru out_uri=sip:admin@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@gutatelecom.ru;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b To: sip:ura@gutatelecom.ru;tag=4847b256b8606eb0a98fbd0f755585cd-b407 Call-ID: bf50c9641de74282a1f950e114e446de@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@gutatelecom.ru out_uri=sip:ura@gutatelecom.ru via_cnt==1" SUBSCRIBE sip:ura@gutatelecom.ru SIP/2.0 Via: SIP/2.0/UDP 10.123.0.190:10707 Max-Forwards: 70 From: "kate" sip:kate@gutatelecom.ru;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b To: sip:ura@gutatelecom.ru Call-ID: bf50c9641de74282a1f950e114e446de@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@gutagroup.ru SIP/2.0 Via: SIP/2.0/UDP 10.123.0.190:10707 Max-Forwards: 70 From: "kate" sip:kate@gutatelecom.ru;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b To: sip:admin@gutagroup.ru Call-ID: 0c95f18aac8a45578e90b1f61e5ad634@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@gutatelecom.ru;tag=88b65cf1039140ba8f3fb3a0177ad1f0;epid=d631b39a7b To: sip:ura@gutatelecom.ru;tag=4847b256b8606eb0a98fbd0f755585cd-b407 Call-ID: bf50c9641de74282a1f950e114e446de@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@gutatelecom.ru out_uri=sip:ura@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@gutatelecom.ru;tag=28b82b1b69e34ffda395eafa53bff1fa;epid=d631b39a7b To: sip:admin@gutagroup.ru;tag=4847b256b8606eb0a98fbd0f755585cd-b407 Call-ID: 0c95f18aac8a45578e90b1f61e5ad634@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@gutagroup.ru out_uri=sip:admin@gutagroup.ru via_cnt==1"