[Asterisk-Users] Re: [Asterisk] phones being autoanswered?

Petr Michálek pmichalek at click.cz
Mon Mar 3 10:09:16 MST 2003


Matteo Brancaleoni wrote:

>Hi.
>
>I'm experiencing a strange issue with *.
>I have a dev kit, aka a T100P + a zhone cb.
>
>Sometimes, on certains phones (on the fxo ports
>of the cb) , when the phone rings, * detect
>it as answered after the first ring, even
>if no one is at the phone!
>
>The result is that on the other party (which
>called the phone) hears only silence.
>(since the caller is bridged with an on-hook
>phone, but is detected as off-hook)
>
>The problem is that I can't reproduce it,
>it happens randomly. The debug logs report
>the same as if the channel was normally answered.
>
>Any hint ?
>
>  
>
This patch should work...

Regards

Petr Michalek
-------------- next part --------------
diff -u -r ./zaptel/zaptel.c ./astmodules/zaptel/zaptel.c
--- ./zaptel/zaptel.c	Sun Mar  2 22:03:21 2003
+++ ./astmodules/zaptel/zaptel.c	Sun Mar  2 22:05:50 2003
@@ -4325,6 +4325,12 @@
 void zt_rbsbits(struct zt_chan *chan, int cursig)
 {
 	if (cursig == chan->rxsig)
+	{
+	    chan->rxsigtimer=0;
+	    return;
+	}
+	
+	if( chan->rxsigtimer++ < ZT_RXSIGTIME && (chan->txstate == ZT_TXSTATE_RINGON || chan->txstate == ZT_TXSTATE_RINGOFF) )
 		return;
 
 	switch(chan->sig) {
@@ -4370,6 +4376,7 @@
 	}
 	/* Keep track of signalling for next time */
 	chan->rxsig = cursig;
+	chan->rxsigtimer=0;
 }
 
 void zt_ec_chunk(struct zt_chan *ss, unsigned char *rxchunk, const unsigned char *txchunk)
diff -u -r ./zaptel/zaptel.h ./astmodules/zaptel/zaptel.h
--- ./zaptel/zaptel.h	Sun Mar  2 22:03:24 2003
+++ ./astmodules/zaptel/zaptel.h	Sun Mar  2 22:08:51 2003
@@ -756,6 +756,8 @@
 #define	ZT_KEWLTIME 500		/* 500ms for kewl pulse */
 #define	ZT_AFTERKEWLTIME 300    /* 300ms after kewl pulse */
 
+#define	ZT_RXSIGTIME 30		/* 30??(loops) for prevent "autoanswer" */
+
 #define ZT_MAX_SPANS		128		/* Max, 128 spans */
 #define ZT_MAX_CHANNELS		1024	/* Max, 1024 channels */
 #define ZT_MAX_CONF			1024	/* Max, 1024 conferences */
@@ -946,6 +948,7 @@
 	int gotgs;
 	int txstate;
 	int rxsig;
+	int rxsigtimer;
 	int txsig;
 	int rxsigstate;
 


More information about the asterisk-users mailing list