summaryrefslogtreecommitdiff
path: root/zaptel-base.c
diff options
context:
space:
mode:
authorqwell <qwell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-07-05 18:10:29 +0000
committerqwell <qwell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-07-05 18:10:29 +0000
commit4d0df442c18f9c15c102feb2c350be4a18ece700 (patch)
tree8d0f398ebf6bedbc48aff721d35fa0f8144a8ce6 /zaptel-base.c
parent13c4b632b0ca3ff225ea1ac0058e855119d26238 (diff)
Merged revisions 2696 via svnmerge from
https://origsvn.digium.com/svn/zaptel/branches/1.2 ........ r2696 | qwell | 2007-07-05 13:08:53 -0500 (Thu, 05 Jul 2007) | 5 lines Do not report channels in ZT_STATE_KEWL or ZT_STATE_AFTERKEWL (ie; battery drop) states as available. This becomes more likely if ZT_KEWLTIME or ZT_AFTERKEWLTIME are set to higher values. Issue 7612, patch by rbraun. ........ git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@2697 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'zaptel-base.c')
-rw-r--r--zaptel-base.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/zaptel-base.c b/zaptel-base.c
index 9777ba6..9955004 100644
--- a/zaptel-base.c
+++ b/zaptel-base.c
@@ -2985,12 +2985,14 @@ static int zt_common_ioctl(struct inode *node, struct file *file, unsigned int c
j = zt_q_sig(chan);
if (j >= 0) { /* if returned with success */
stack.param.rxisoffhook = ((chan->rxsig & (j >> 8)) != (j & 0xff));
- }
- else {
+ } else {
stack.param.rxisoffhook = ((chan->rxhooksig != ZT_RXSIG_ONHOOK) &&
(chan->rxhooksig != ZT_RXSIG_INITIAL));
}
- } else stack.param.rxisoffhook = 0;
+ } else if ((chan->txstate == ZT_TXSTATE_KEWL) || (chan->txstate == ZT_TXSTATE_AFTERKEWL))
+ stack.param.rxisoffhook = 1;
+ else
+ stack.param.rxisoffhook = 0;
if (chan->span && chan->span->rbsbits && !(chan->sig & ZT_SIG_CLEAR)) {
stack.param.rxbits = chan->rxsig;
stack.param.txbits = chan->txsig;