Hi!
I just had a closer look at RFC 3265 (6.3 SUBSCRIBE Bodies) and figured out that SUBSCRIBES may have empty bodies if the header fields are sufficient. SER from CVS replies with a 400 error saying 'Error while parsing headers'.
this is how a sample packet looks like: # U xx.xx.xx.xx:5061 -> xx.xx.xx.xx:5060 SIP/2.0 400 Bad Request. Via: SIP/2.0/UDP xx.xx.xx.xx;branch=z9hG4bKea3f.82e1f753.0. Via: SIP/2.0/UDP xx.xx.xx.xx;branch=0. Via: SIP/2.0/UDP xx.xx.xx.xx:49449. From: "user" sip:user@foobar.bla;tag=17cda3ce319449249f909aba8e53d03e;epid=44df82f654. To: sip:bbbbb@foobar.bla;tag=95329101123423eab1637e9ad490b3a6-e941. Call-ID: db28e67d79614e44b55275b6c6a025bd@xx.xx.xx.xx. CSeq: 1 SUBSCRIBE. Error while parsing headersContent-Length: 0.
The error message is misplaced from my point of view.
ser -E says:
12(24674) SUBSCRIBE from:sip:user@foobar.bla to:sip:bbbb@foobar.bla ruri:sip:bbbbb@foobar.bla messageid:3 12(24674) handle_subscription() entered 12(24674) parse_hfs(): Error while parsing headers 12(24674) handle_subscription(): Error while parsing message header 12(24674) handle_subscription about to send_reply and return -2
I cannot get my clients using 'application/xpidf+xml' to successfully exchange presence information mainly due to the fact that SER doesn't seem to take care of it:
11(24673) SUBSCRIBE from:sip:bbbb@foobar.bla to:sip:user@foobar.bla ruri:sip:user@foobar.bla messageid:5 11(24673) handle_subscription() entered 11(24673) parsing accept header 11(24673) check_message -0- _m=0x8141170 11(24673) check_message -1-11(24673) pa check_message: accept=application/xpidf+xml parsed=:0x300ff 11(24673) check_message -2- accepts_mimes=0x81425e0 11(24673) check_message -3- 11(24673) check_message -4- parsed_event=0x81425a0 11(24673) check_message -4- eventtype=0x0001 11(24673) check_message -4a- eventtype=0x1 epm[i].event_type=0x111(24673) check_message -4c- eventtype=0x1 mimetype=0x30005 accepts_mimes[k]=0x300ff 11(24673) check_message -4c- eventtype=0x1 mimetype=0x30009 accepts_mimes[k]=0x300ff 11(24673) check_message -4c- eventtype=0x1 mimetype=0x30008 accepts_mimes[k]=0x300ff 11(24673) check_message -4a- eventtype=0x1 epm[i].event_type=0x211(24673) check_message(): Accepts application/xpidf+xml not valid for event package et=presence 11(24673) handle_subscription(): Error while checking message 11(24673) handle_subscription about to send_reply and return -2
What's the status on presence? I've got a bunch of small patches that fix some minor problems but wonder if it makes sense to send them upstream. Anybody running presence on CVS HEAD?
Thanks, Hendrik