Hello,
I'm having problems using Sofia 1.12.8 under linux. The scenario is this:
The code successfully subscribes to a ParkServer to receive NOTIFY messages
when calls are parked/unparked on it.
When the NOTIFY arrives, nta rejects the message with 400 Bad Request.
Using gdb, I can see nta does this because the function sip_extract_body
sets the MSG_FLG_ERROR in sip->sip_flags (line 202 of sip_parser.c) because
the body of the message is too big for the buffer in the msg_t allocated to
process the message.
The body of the NOTIFY contains a little less than 600 bytes like this:

NOTIFY sip:[EMAIL PROTECTED]:5142 SIP/2.0
Record-Route: <sip:192.168.5.153;lr;ftag=user-SubscribeServer-3089>
Call-ID: 88a39cdf-89f9-122b-2880-39a48cb53b8d
CSeq: 1 NOTIFY
From: "parkServer"
<sip:[EMAIL PROTECTED]<[EMAIL PROTECTED]>
>;tag=user-SubscribeServer-3089
To: <sip:[EMAIL PROTECTED] <[EMAIL PROTECTED]>
>;tag=41K13mmcyaZDK
Via: SIP/2.0/UDP
192.168.5.153;branch=z9hG4bK531.780437871dc9b7e42e6be83afe9c33ab.0
Via: SIP/2.0/UDP 192.168.88.12:5071
;rport=5071;branch=z9hG4bKb5c833e20f7ebfc52c6b2c1e8fcf38d0
Max-Forwards: 69
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY,MESSAGE,SUBSCRIBE,INFO
Contact: <sip:[EMAIL PROTECTED]:5071>
User-Agent: SubscribeServer
Event: dialog
Subscription-State: Active
Content-Type: application/dialog-info+xml
Content-Length: 585

<?xml version="1.0"?> <dialog-info xmlns="um:ietf.params:xml:ns:dialog-info"
version="0" state="full"
entity="sip:[EMAIL PROTECTED]<[EMAIL PROTECTED]>">
<dialog
id="88a39cdf-89f9-122b-2880-39a48cb53b8d_840_user-SubscribeServer-3089_41K13mmcyaZDK"
call-id="[EMAIL PROTECTED]"
local-tag="user-SubscribeServer-3089" remote-tag="41K13mmcyaZDK" direction="
sip:[EMAIL PROTECTED]<[EMAIL PROTECTED]>"
remote-uri="sip:[EMAIL PROTECTED]"> <state>confirmed</state>
<remote> <identity>sip:[EMAIL PROTECTED]</identity> </remote>
</dialog> </dialog-info>

It seems to me, the buffer used to process the body is set to 513
(msg_min_size + 1), being this the underlying problem (but I was not able to
track this under the debugger yet, I'm supposing this by reading the code).
I suspect there is something wrong with msg_buf_alloc (msg_parser.c) or the
code that calls it, but the strange thing is that this only happens in
linux. the code was originally tested under WindowsXP (using the same
release 1.12.8) where it works fine.
I will continue to investigate (I'm slowly learning linux yet), but maybe
someone can figure out the problem with the details above.

regards,
mt.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to