summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-10-22 13:18:20 +0000
committerMark Spencer <markster@digium.com>2004-10-22 13:18:20 +0000
commit3c8a994aed5b1676b0d8a7ee58c8d284ef5bcb7a (patch)
tree5c3d241b4eb537914b3a9c1ae1ac22b979c57501 /channels
parente5091a2b3385951f68464e98ac0c4f66d9a3fc34 (diff)
Handle unknown 1xx reponses as 100 (bug #2698)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 1a7f04bee..8c58d20d8 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -6823,6 +6823,11 @@ 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)) {
+ /* Unknown 1xx repsonses should be treated as 100 */
+ if (!strcasecmp(msg, "INVITE")) {
+ sip_cancel_destroy(p);
+ }
} 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));
}