dahdi-linux/drivers/dahdi
Shaun Ruffell 5f7ebe98da dahdi: Only watch transitions of ABIT when using E&M signalling.
This resolves an issue with a Glenayre GL3000 Paging Terminal with v8.000
software. The Glenayre would change both A and B bits to signal on/off hook
states, but there were a couple of milliseconds between when those bits changed.
This resulted in DAHDI generating an on-hook event to Asterisk before generating
the off-hook event and therefore Asterisk terminated the call prematurely.

Looking the A and B bits before this patch:

Asterisk (AB)   Glenayre (AB)
00              00                 Both sides on-hook
11              00                 Asterisk goes off hook to sieze line.
11              01                 Glenayre starts going-offhook. On-hook event
                                     sent to Asterisk from drivers since bits
                                     changed but ABIT was still 0.
11              11                 Glenayre finishes going off-hook. Off-hook
                                     event sent to Asterisk since ABIT changed
                                     from 0 to 1.
00              11                 Asterisk, processes on-hook event and goes
                                     on-hook itself to release line.
00              00                 Glenayre releases line. Call fails.

After this patch:

Asterisk (AB)   Glenayre (AB)
00              00                 Both sides on-hook
11              00                 Asterisk initiates call
11              01                 Glenayre starts handling call. No event is
                                     sent to Asterisk since only ABIT is checked.
11              11                 Glanayre finishes going off-hook. Call
                                     proceeds normally.

Internal-Issue-ID: DAHDI-1009
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
2012-12-11 10:27:57 -06:00
..
datamods wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
firmware wctdm24xxp, wcte12xp: Allow VPMOCT032 firmware to be compiled into driver. 2012-04-02 13:58:11 +00:00
hpec Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
oct612x wct4xxp: Add support for TE820 and VPMOCT256. 2011-11-01 15:27:21 +00:00
voicebus wcte12xp, wctdm24xxp, wct4xxp: Print warning about potential GPL violation w/HOTPLUG_FIRMWARE=no. 2012-04-05 20:32:37 +00:00
vpmadt032_loader Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
wcb4xxp convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00
wct4xxp wct4xxp: EC channel calculation in TONEDETECT assumes TE820. 2012-10-04 20:24:55 +00:00
wctc4xxp Remove Makefiles that are only needed on kernels < 2.6.9 2012-04-02 13:58:03 +00:00
wctdm24xxp wctdm24xxp: Set dahdi_span.spantype to SPANTYPE_ANALOG_MIXED. 2012-10-04 20:24:33 +00:00
wcte12xp wcte12xp: Fix stack corruption when checking T1 RBS states. 2012-07-11 16:13:22 +00:00
xpp xpp: pre/post_unregister: not for the EC 2012-11-15 13:40:56 +00:00
adt_lec.c wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
adt_lec.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
arith.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
biquad.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
dahdi_dummy.c dahdi_dummy: Include timer.h instead of time.h 2012-04-05 16:15:22 +00:00
dahdi_dynamic_eth.c Revert "dahdi_dynamic_eth: Move tx packet flushing to process context." 2012-12-11 10:27:56 -06:00
dahdi_dynamic_ethmf.c Remove support for kernels < 2.6.18 2012-03-13 20:09:12 +00:00
dahdi_dynamic_loc.c dahdi_dynamic_loc: Change and check the dyn->pvt pointer under lock. 2012-04-03 19:44:45 +00:00
dahdi_dynamic.c dahdi_dynamic: Use a tasklet for flushing dynamic drivers. 2012-12-11 10:27:56 -06:00
dahdi_echocan_jpah.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_kb1.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_mg2.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_oslec.c code cleanup - refactor module_printk() 2012-02-09 15:24:40 +00:00
dahdi_echocan_sec2.c code cleanup: remove unused debug_printk() 2012-02-09 15:25:03 +00:00
dahdi_echocan_sec.c code cleanup: remove unused debug_printk() 2012-02-09 15:25:03 +00:00
dahdi_transcode.c 'dahdi_copy_string()' -> 'strlcpy()' 2011-01-03 18:26:29 +00:00
dahdi-base.c dahdi: Only watch transitions of ABIT when using E&M signalling. 2012-12-11 10:27:57 -06:00
dahdi-sysfs-chan.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi-sysfs.c sysfs: refactor lineconfig string representation 2012-05-23 12:36:42 +00:00
dahdi-sysfs.h Remove support for kernels < 2.6.18 2012-03-13 20:09:12 +00:00
dahdi-version.c dahdi: Do not rebuild dahdi-base.c when only updating the version. 2011-02-28 14:19:09 +00:00
dahdi.h Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
ecdis.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
fir.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
fxo_modes.h wctdm24xxp, wctdm: Reduce memory used by fxo_modes array. 2011-04-04 16:26:00 +00:00
Kbuild sysfs channels: dahdi-sysfs-chan.c 2012-02-22 12:11:48 +00:00
Kconfig wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
makefw.c wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
pciradio.c dahdi: Register devices instead of individual spans. 2011-10-26 18:58:14 +00:00
pciradio.rbt wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
proslic.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
tor2-hw.h "struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE" 2011-01-03 18:26:24 +00:00
tor2.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00
tormenta2.rbt wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
wcfxo.c dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device. 2011-10-26 19:00:28 +00:00
wct1xxp.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00
wctdm.c dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device. 2011-10-26 19:00:28 +00:00
wcte11xp.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00