]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Handle unknown 1xx reponses as 100 (bug #2698)
authorRussell Bryant <russell@russellbryant.com>
Sun, 24 Oct 2004 21:04:32 +0000 (21:04 +0000)
committerRussell Bryant <russell@russellbryant.com>
Sun, 24 Oct 2004 21:04:32 +0000 (21:04 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4086 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 8847eea284f9491dce40b2cefae7ac0e23f591e6..63e8f293620d972452304a0795d6f33177978faf 100755 (executable)
@@ -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))