issue #3360 plus related fix
[asterisk/asterisk.git] / channels / chan_iax2.c
index 1cb7587..093a4c2 100755 (executable)
@@ -2753,7 +2753,7 @@ static int create_addr(const char *peername, struct sockaddr_in *sin, struct cre
        }
 
        /* if the peer is being monitored and is currently unreachable, return failure */
-       if (peer->maxms && (peer->lastms > peer->maxms)) {
+       if (peer->maxms && ((peer->lastms > peer->maxms) || (peer->lastms < 0))) {
                if (ast_test_flag(peer, IAX_TEMPONLY))
                        destroy_peer(peer);
                return -1;