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
Hendrik Scholz wrote:
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:
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?
It is still a work in progress. I've been making some progress with Eyebeam, to the point where PA is sending NOTIFY to eyebeam.
I'm a bit puzzled how the error message ended up before content-length in the response message. Please send patches to the list and CC me and I'll apply them. If you have not fixed the problem with ser not parsing the headers of this subscribe message, please send me a copy of the message and I'll see if I can fix it.
Thanks, Jamey