Rick,
Not all messages will have an SDP payload. In other words the <Content-Length> head may be zero for some messages.
If you call fix_nated_contact() for these types of message then you will see these sorts of errors.
We usually do some tests on the SIP message prior to calling these NAT functions. Check out the Getting Started document www.onsip.org for a good NAT traversal example.
Regards, Paul
On 9/19/05, Rick Thompson rthompson@vir2com.com wrote:
Hi All
I hope someone can help me with an issue I"ve had since installing ser. For some reason, whenever I call fix_nated_sdp or force_rtp_proxy I get the following errors
Sep 19 10:31:06 localhost ser[3921]: Mon Sep 19 10:31:06 2005 18 a.b.c.d 62141 ****** Fixing NAT on reply with rtp
Sep 19 10:31:06 localhost ser[3921]: ERROR: extract_body: message body has length zero
Sep 19 10:31:06 localhost ser[3921]: ERROR: fix_nated_sdp: cannot extract body from msg!
Sep 19 10:31:06 localhost ser[3921]: ERROR: extract_body: message body has length zero
Sep 19 10:31:06 localhost ser[3921]: ERROR: force_rtp_proxy2: can't extract body from the message
Sep 19 10:31:06 localhost ser[3921]: ERROR: on_reply processing failed
Here is the part of the script that is generating the error
onreply_route[1] {
xlog("L_ALERT", "%Tf %mf ****** On Reply From: <%si> <%tu> <%fu>
<%rm> <%rs> <%rr>\n");
if(status=~"[12][0-9][0-9]" && nat_uac_test("19")) { fix_nated_contact(); force_rport(); }; if(status=~"[12][0-9][0-9]" && nat_uac_test("19") &&
src_port>=10000) {
xlog("L_ALERT", "%Tf %mf %si %sp ****** Fixing NAT
on reply with rtp\n");
fix_nated_sdp("3"); force_rtp_proxy(); } else if(status=~"[12][0-9][0-9]" && nat_uac_test("19")) { xlog("L_ALERT", "%Tf %mf %si %sp ****** Fixing NAT on reply
with sdp\n");
fix_nated_sdp("3"); };
}
Any help would be appreciated.
Thanks
Rick
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers