summaryrefslogtreecommitdiff
path: root/zaptel.c
diff options
context:
space:
mode:
Diffstat (limited to 'zaptel.c')
-rwxr-xr-xzaptel.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/zaptel.c b/zaptel.c
index 2f717e4..1a79860 100755
--- a/zaptel.c
+++ b/zaptel.c
@@ -5242,10 +5242,14 @@ static void __zt_hooksig_pvt(struct zt_chan *chan, zt_rxsig_t rxsig)
if (chan->txstate != ZT_TXSTATE_OFFHOOK) break;
#ifdef FXSFLASH
if (rxsig == ZT_RXSIG_ONHOOK) {
- chan->itimer = ZT_FXSFLASHTIME * ZT_CHUNKSIZE;
+ chan->itimer = ZT_FXSFLASHMAXTIME * ZT_CHUNKSIZE;
break;
} else if (rxsig == ZT_RXSIG_OFFHOOK) {
- if (chan->itimer) __qevent(chan, ZT_EVENT_WINKFLASH);
+ if (chan->itimer) {
+ /* did the offhook occur in the window? if not, ignore both events */
+ if (chan->itimer <= ((ZT_FXSFLASHMAXTIME - ZTFXSFLASHMINTIME) * ZT_CHUNKSIZE))
+ __qevent(chan, ZT_EVENT_WINKFLASH);
+ }
chan->itimer = 0;
break;
}