From: Mark Spencer Date: Thu, 2 Sep 2004 19:07:24 +0000 (+0000) Subject: Don't use FXO's with no battery (bug #2359) X-Git-Tag: 1.0.0~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc72d7584a6034039dd70f311b158ccdbbbab912;p=thirdparty%2Fasterisk.git Don't use FXO's with no battery (bug #2359) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3712 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_zap.c b/channels/chan_zap.c index a061712edf..cafe99e14d 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -6289,9 +6289,6 @@ static inline int available(struct zt_pvt *p, int channelmatch, int groupmatch, return 1; } #endif - if ((p->sig == SIG_FXSKS) || (p->sig == SIG_FXSLS) || - (p->sig == SIG_FXSGS) || !p->sig) - return 1; if (!p->radio) { /* Check hook state */ @@ -6304,6 +6301,14 @@ static inline int available(struct zt_pvt *p, int channelmatch, int groupmatch, } if (res) { ast_log(LOG_WARNING, "Unable to check hook state on channel %d\n", p->channel); + } else if ((p->sig == SIG_FXSKS) || (p->sig == SIG_FXSLS) || + (p->sig == SIG_FXSGS) || !p->sig) { + /* When "onhook" that means no battery on the line, and thus + it is out of service... */ + if (par.rxisoffhook) + return 1; + else + return 0; } else if (par.rxisoffhook) { ast_log(LOG_DEBUG, "Channel %d off hook, can't use\n", p->channel); /* Not available when the other end is off hook */