Merged revisions 89032 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Tue, 6 Nov 2007 17:10:03 +0000 (17:10 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 6 Nov 2007 17:10:03 +0000 (17:10 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89032 | file | 2007-11-06 13:08:05 -0400 (Tue, 06 Nov 2007) | 4 lines

Make it so that if a peer is determined to be unreachable using qualify their devicestate will report back unavailable.
(closes issue #11006)
Reported by: pj

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89034 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 1aff65f..3046ea3 100644 (file)
@@ -16886,7 +16886,7 @@ static int sip_devicestate(void *data)
                        else if (p->call_limit && p->inUse)
                                /* Not busy, but we do have a call */
                                res = AST_DEVICE_INUSE;
-                       else if (p->maxms && (p->lastms > p->maxms)) 
+                       else if (p->maxms && ((p->lastms > p->maxms) || (p->lastms < 0))) 
                                /* We don't have a call. Are we reachable at all? Requires qualify= */
                                res = AST_DEVICE_UNAVAILABLE;
                        else    /* Default reply if we're registered and have no other data */