summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMatthew Fredrickson <creslin@digium.com>2007-09-11 23:07:49 +0000
committerMatthew Fredrickson <creslin@digium.com>2007-09-11 23:07:49 +0000
commitd3504cd159b5edf063fb692fdbfc4788bfe9ebe4 (patch)
tree88a69b150b57943370b7d22e77d0e422b0469a96 /channels
parent2a3ed7b879ce95451588ecb4a45207e35ac185f8 (diff)
Fix to make sure we don't hangup a call when getting a RLC without sending REL. Found making sure we are Q.784 (the SS7 test specification) compliant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_zap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index f7efa069f..edcc0e5a7 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -8903,7 +8903,10 @@ static void *ss7_linkset(void *data)
} else {
p = linkset->pvts[chanpos];
ast_mutex_lock(&p->lock);
- p->ss7call = NULL;
+ if (p->alreadyhungup)
+ p->ss7call = NULL;
+ else
+ ast_log(LOG_NOTICE, "Received RLC out and we haven't sent REL. Ignoring.\n");
ast_mutex_unlock(&p->lock);
}
break;