From: Russell Bryant Date: Sun, 24 Oct 2004 21:04:32 +0000 (+0000) Subject: Handle unknown 1xx reponses as 100 (bug #2698) X-Git-Tag: 1.0.11.1~422 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fdffdc93647ff9dd122b95fd1c3abc47fe8d30c4;p=thirdparty%2Fasterisk.git Handle unknown 1xx reponses as 100 (bug #2698) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4086 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 8847eea284..63e8f29362 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6884,8 +6884,18 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ p->alreadygone = 1; if (!p->owner) p->needdestroy = 1; + } else if ((resp >= 100) && (resp < 200)) { + if (!strcasecmp(msg, "INVITE")) { + sip_cancel_destroy(p); + if (!ast_strlen_zero(get_header(req, "Content-Type"))) + process_sdp(p, req); + if (p->owner) { + /* Queue a progress frame */ + ast_queue_control(p->owner, AST_CONTROL_PROGRESS); + } + } } else - ast_log(LOG_NOTICE, "Dunno anything about a %d %s response from %s\n", resp, rest, p->owner ? p->owner->name : ast_inet_ntoa(iabuf, sizeof(iabuf), p->sa.sin_addr)); + ast_log(LOG_NOTICE, "Don't know anything about a %d %s response from %s\n", resp, rest, p->owner ? p->owner->name : ast_inet_ntoa(iabuf, sizeof(iabuf), p->sa.sin_addr)); } } else { if (sip_debug_test_pvt(p))