[asterisk-bugs] [Asterisk 0007755]: [patch] workaround for race condition with disconnect supervision

noreply at bugs.digium.com noreply at bugs.digium.com
Sat Jun 7 12:42:11 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=7755 
====================================================================== 
Reported By:                rbraun
Assigned To:                mattf
====================================================================== 
Project:                    Asterisk
Issue ID:                   7755
Category:                   Core/General
Reproducibility:            N/A
Severity:                   tweak
Priority:                   normal
Status:                     closed
Asterisk Version:           I did not set the version :( 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        Yes 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             08-18-2006 17:46 CDT
Last Modified:              06-07-2008 12:42 CDT
====================================================================== 
Summary:                    [patch] workaround for race condition with
disconnect supervision
Description: 
We have an asterisk installation at a customer site connected to an adit
600 channel bank which feeds a legacy pbx (comdial) with analog lines.
Working through issues reported by this customer we have found numerous
ways in which the comdial pbx does not behave according to spec or even
consistent with its own documentation. One is that it expects at least 1
second of disconnect supervision (ZT_KEWLTIME) while 500 ms is documented.
Even this is insufficient to make it recognize that a call has terminated
if the call terminates at just the right time before it picks up; it does
not recognize the battery drop if it has not yet seized the line.

We have successfully solved this problem with the attached patch, which
changes the behavior of kewlstart so that if the line is picked up remotely
during the ZT_KEWLTIME or during the guard time (ZT_AFTERKEWLTIME) after
the battery drop, zaptel will respond by repeating the battery drop after
the guard time completes. This behavior is only triggered when the line was
on hook but is taken off hook during the battery drop or the guard time.
The main adjustment to make after this patch is applied is to set the
AFTERKEWLTIME to an appropriate value to eliminate the race condition; we
use 1.5 seconds for KEWLTIME (actually a bit less in practice on the adit)
and 2.5 seconds for AFTERKEWLTIME which sums to 4 seconds, the amount of
time between rings.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
parent of           0007612 [patch] Zaptel misreports channel in ba...
parent of           0007754 [patch] chan_zap plays dialtone even if...
====================================================================== 

---------------------------------------------------------------------- 
 svnbot - 06-07-08 12:42  
---------------------------------------------------------------------- 
Repository: dahdi
Revision: 2247

_U  trunk/
A   trunk/xpp/.version
U   trunk/xpp/Makefile
A   trunk/xpp/card_bri.c
A   trunk/xpp/card_bri.h
U   trunk/xpp/card_fxo.c
U   trunk/xpp/card_fxs.c
U   trunk/xpp/card_global.c
U   trunk/xpp/firmwares/FPGA_1141.hex
U   trunk/xpp/firmwares/FPGA_1151.hex
U   trunk/xpp/firmwares/FPGA_FXS.hex
U   trunk/xpp/firmwares/USB_1140.hex
U   trunk/xpp/firmwares/USB_1150.hex
U   trunk/xpp/utils/Makefile
U   trunk/xpp/utils/fpga_load.c
U   trunk/xpp/utils/genzaptelconf
U   trunk/xpp/utils/hexfile.c
U   trunk/xpp/utils/hexfile.h
A   trunk/xpp/utils/lszaptel
U   trunk/xpp/utils/test_parse.c
U   trunk/xpp/utils/xpp_fxloader
A   trunk/xpp/utils/xpp_sync
A   trunk/xpp/utils/zconf/
D   trunk/xpp/utils/zconf/Zaptel/
A   trunk/xpp/utils/zconf/Zaptel/
D   trunk/xpp/utils/zconf/Zaptel/Chans.pm
A   trunk/xpp/utils/zconf/Zaptel/Chans.pm
D   trunk/xpp/utils/zconf/Zaptel/Span.pm
A   trunk/xpp/utils/zconf/Zaptel/Span.pm
D   trunk/xpp/utils/zconf/Zaptel/Xpp/
A   trunk/xpp/utils/zconf/Zaptel/Xpp/
D   trunk/xpp/utils/zconf/Zaptel/Xpp/Xbus.pm
A   trunk/xpp/utils/zconf/Zaptel/Xpp/Xbus.pm
D   trunk/xpp/utils/zconf/Zaptel/Xpp/Xpd.pm
A   trunk/xpp/utils/zconf/Zaptel/Xpp/Xpd.pm
D   trunk/xpp/utils/zconf/Zaptel/Xpp.pm
A   trunk/xpp/utils/zconf/Zaptel/Xpp.pm
D   trunk/xpp/utils/zconf/Zaptel.pm
A   trunk/xpp/utils/zconf/Zaptel.pm
A   trunk/xpp/utils/zt_registration
U   trunk/xpp/xbus-core.c
U   trunk/xpp/xbus-core.h
U   trunk/xpp/xpd.h
U   trunk/xpp/xpp_usb.c
U   trunk/xpp/xpp_zap.c
U   trunk/xpp/xpp_zap.h
U   trunk/xpp/xproto.c
U   trunk/xpp/xproto.h

------------------------------------------------------------------------
r2247 | tzafrir | 2008-06-07 12:42:09 -0500 (Sat, 07 Jun 2008) | 40 lines

Merge xpp rev. 3495:
------------------------------------------------------------------------
r2243 | tzafrir | 2007-02-28 02:05:59 +0200 (Wed, 28 Feb 2007) | 4 lines

* xpp rev. 3495: fix a race in the FXO driver of recent weeks.
* Add the Astribank BRI driver (though still needs bristuffed zaptel
  to build and thus will not build by default)

------------------------------------------------------------------------
r2239 | tzafrir | 2007-02-27 08:14:18 +0200 (Tue, 27 Feb 2007) | 18 lines

Xorcom rev. 3491:
 * Version of xpp modules is set from xpp/.version, rather than "unknown".
 * Astribank devices are now initialized in parallel: faster startup
   when there are multiple Astribanks.
 * Re-added support for the old format of /proc/xpp/sync write:
   (echo N 0 > /proc/xpp/sync ) . The new format (SYNC=NN) is preffered.
 * Firmware update to fix a PCM issue.
 * Fixed a build issue with kernel 2.6.8 .
 * Fixed missing initialization in Zaptel::Xpp::Xbus .
 * genzaptelconf will now set FXS ports as LS by default. To set them as 
   KS, use fxs_default_start=ks in /etc/default/zaptel /
/etc/sysconfig/zaptel
   (Also a workaround for http://bugs.digium.com/view.php?id=7755 ).
 * Groundwork for sync from zaptel master span: if zaptel is built with
   ZAPTEL_SYNC_TIC (see zaptel/team/tzafrir/sync ), xpp will report its 
   drift from the zaptel sync master.
 * USB firmware update: had bad lines checksums (and fxload did not
report).
 * fpga_load can now better report bad hex file checksum ;-) .

------------------------------------------------------------------------
r2223 | tzafrir | 2007-02-24 03:05:05 +0200 (Sat, 24 Feb 2007) | 3 lines

Add the Zaptel and Zaptel::Xpp perl modules, and some simple 
utilities that use them. disabled by default for now.

------------------------------------------------------------------------
r2222 | tzafrir | 2007-02-24 02:55:05 +0200 (Sat, 24 Feb 2007) | 2 lines

Make the xpp/utils/Makefile in 1.2 closer to the one in 1.4 .

------------------------------------------------------------------------

http://svn.digium.com/view/dahdi?view=rev&revision=2247 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-07-08 12:42  svnbot         Checkin                                      
06-07-08 12:42  svnbot         Note Added: 0088253                          
======================================================================




More information about the asterisk-bugs mailing list