Summary:ASTERISK-01850: Race between incoming overlap digits in app_dial and setup_ack
Reporter:petersv (petersv)Labels:
Date Opened:2004-06-19 08:27:07Date Closed:2008-01-15 14:58:42.000-0600
Versions:Frequency of
Environment:Attachments:( 0) chan_zap_pendingdigits.diff
Description:Overlap digits received while in app_dial and passed on the the ougoing channel are lost if they reach zt_digit before the setup_ack is received.

I have attached a patch that solved this by buffering the incoming digits until the setup_ack is received.

I made a small cahnge to the locking in zt_digit to prevent a race with pri_dchannel over the setup_ack flag. Someone needs to examine the lock to make sure I have got it right.
Comments:By: Mark Spencer (markster) 2004-06-20 03:08:20

Should be fixed in CVS now, but I didn't use your patch, just tried to come up with a way to do it using our existing data structures.

By: Digium Subversion (svnbot) 2008-01-15 14:58:42.000-0600

Repository: asterisk
Revision: 3245

U   trunk/channels/chan_zap.c

r3245 | markster | 2008-01-15 14:58:41 -0600 (Tue, 15 Jan 2008) | 2 lines

Hold pending digits until setup_ack is received, then send (bugASTERISK-1850)