From: Joshua Colp Date: Fri, 2 Nov 2007 20:20:21 +0000 (+0000) Subject: If an INFO request within a dialog is received with a content length of 0 simply... X-Git-Tag: 1.4.14~68 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e49faa404a239b52ac7654e55c59398492530a03;p=thirdparty%2Fasterisk.git If an INFO request within a dialog is received with a content length of 0 simply send back a 200 OK. It is valid to do this and the remote side is probably using it to make sure the signalling is still alive. (closes issue #5747) Reported by: chandi Patches: infofix-81430-1.patch uploaded by IgorG (license 20) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88328 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 070677769e..5a8fb58d39 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -11003,7 +11003,12 @@ static void handle_request_info(struct sip_pvt *p, struct sip_request *req) transmit_response(p, "403 Unauthorized", req); } return; + } else if (ast_strlen_zero(c = get_header(req, "Content-Length")) || !strcasecmp(c, "0")) { + /* This is probably just a packet making sure the signalling is still up, just send back a 200 OK */ + transmit_response(p, "200 OK", req); + return; } + /* Other type of INFO message, not really understood by Asterisk */ /* if (get_msg_text(buf, sizeof(buf), req)) { */