Hey all,
Trying to get the PA module working but I'm having some problems. From
the logs on the server:
Mar 18 14:45:08 ser1 ser[30085]: parse_hfs(): Error
while parsing headers
Mar 18 14:45:08 ser1 ser[30085]: handle_subscription(): Error while parsing message
header
Mar 18 14:45:08 ser1 ser[30085]: handle_subscription about to send_reply and return -2
And the packets to and from SER look like this from eyeBeam's log.
ngrep confirms the messages are the correct.
14:45:58.4
SENDING TO: 1.2.3.4:5060
SUBSCRIBE sip:username2@domain.com;transport=udp SIP/2.0
To: <sip:username2@domain.com>
From: Evan Borgstrom<sip:username1@domain.com>;tag=5021047d
Via: SIP/2.0/UDP 2.3.4.5:6630;branch=z9hG4bK-d87543-194995238-1--d87543-;rport
Call-ID: 0224d4088e377630
CSeq: 2 SUBSCRIBE
Contact: <sip:username1@domain.com:6630;transport=udp>
Expires: 3600
Max-Forwards: 70
Accept: multipart/related, application/rlmi+xml, application/pidf+xml,
application/xpidf+xml
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Proxy-Authorization: Digest
username="username1",realm="ca.mci.com",nonce="423b30d096fc2ed8a93d627c171f66b609806c17",uri="sip:username2@domain.com;transport=udp",response="30d4781a4e489da04b7606fdd22a69fb",cnonce="4d305b610573f25e",nc=00000001,qop=auth,algorithm=MD5
Supported: eventlist
User-Agent: MCI eyeBeam release 3004t stamp 16845
Event: presence
Content-Length: 0
14:45:58.4
RECEIVING FROM: 1.2.3.4:5060
SIP/2.0 400 Bad Request
To: <sip:username2@domain.com>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-9f53
From: Evan Borgstrom<sip:username1@domain.com>;tag=5021047d
Via: SIP/2.0/UDP 2.3.4.5:6630;branch=z9hG4bK-d87543-194995238-1--d87543-;rport=6630
Call-ID: 0224d4088e377630
CSeq: 2 SUBSCRIBE
Error while parsing headersUser-Agent: SER (0.9.0)
Content-Length: 0
Looking through the code from subscribe.c we're looking for From:,
Event:, Expires: & Accept: all of which are present in the SUBSCRIBE
request.
if ( (parse_headers(_m, HDR_FROM | HDR_EVENT |
HDR_EXPIRES | HDR_ACCEPT, 0)
== -1) ||
(_m->from==0)||(_m->event==0)||(_m->expires==0) ||
(_m->accept==0) ) {
paerrno = PA_PARSE_ERR;
LOG(L_ERR, "parse_hfs(): Error while parsing headers\n");
return -1;
}
Anyone see this before and have a fix or work around?
-Evan