[Home]

Summary:DAHLIN-00064: [patch] When pulse dial used 'w' in dial string no take effect
Reporter:Igor Goncharovsky (igorg)Labels:
Date Opened:2008-12-01 04:05:49.000-0600Date Closed:2009-03-13 05:21:19
Priority:MinorRegression?No
Status:Closed/CompleteComponents:General
Versions:2.0.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) dahdi-base.c.pulse.diff
( 1) dahdi-base.c.pulse2.diff
( 2) zaptel-base.c.pulse.diff
Description:When pulse dial used 'w' in dial string no take effect, there is no pause in dial. Dialing both '334290' and '3wwww3wwww4wwww2wwww9wwww0' take same time.

This bug have place since zaptel 1.4.

Patches both for zaptel and dahdi-linux attached
Comments:By: Tzafrir Cohen (tzafrir) 2008-12-04 16:46:14.000-0600

The patch gives a warning about tone_index not being initialized. Indeed if we use pulse dialing, __do_dtmf() only calls dahdi_mf_tone() for pulse dialing for 'W'.

By: Tzafrir Cohen (tzafrir) 2008-12-04 16:56:29.000-0600

dahdi-base.c.pulse2.diff: An untested patch to do that.

By: Igor Goncharovsky (igorg) 2008-12-04 19:22:59.000-0600

Yes, this patch more correct then mine. I was unsure of return value in other then 'W' case and missed the warning.

By: Max Litnitskiy (litnimax) 2008-12-10 15:24:47.000-0600

Just tested. Works. See log below. Please commit it into the trunk.

[2008-12-11 00:21:16]     -- Executing [s@macro-trunkdial:4] Dial("SIP/7010-081d2d90", "DAHDI/4/8wwwwww9629259946|60|TKH") in new stack
[2008-12-11 00:21:16] DEBUG[8469]: chan_dahdi.c:1999 dahdi_call: Dialing '8wwwwww9629259946'
[2008-12-11 00:21:16] DEBUG[8469]: chan_dahdi.c:2077 dahdi_call: Deferring dialing...
[2008-12-11 00:21:16]     -- Called 4/8wwwwww9629259946
[2008-12-11 00:21:17] DEBUG[8469]: chan_dahdi.c:4563 dahdi_handle_event: Sent deferred digit string: P8wwwwww962925994
[2008-12-11 00:21:34] DEBUG[8469]: chan_dahdi.c:1501 dahdi_train_ec: Engaged echo training on channel 4
[2008-12-11 00:21:37] DEBUG[8469]: chan_dahdi.c:1464 dahdi_enable_ec: Echo cancellation already on
[2008-12-11 00:21:37]     -- DAHDI/4-1 answered SIP/7010-081d2d90
[2008-12-11 00:21:53] DEBUG[8469]: dsp.c:1360 ast_dsp_busydetect: ast_dsp_busydetect detected busy, avgtone: 325, avgsilence 375
[2008-12-11 00:21:53]     -- Hungup 'DAHDI/4-1'
[2008-12-11 00:21:53]   == Spawn extension (macro-trunkdial, s, 4) exited non-zero on 'SIP/7010-081d2d90' in macro 'trunkdial'
[2008-12-11 00:21:53]   == Spawn extension (macro-trunkdial, s, 4) exited non-zero on 'SIP/7010-081d2d90'

2 questions:
1)  works with 'w' (lowercase). Why do u use 'W'?
2) See Sent deferred digit string: P8wwwwww962925994 - where is the last digit!? It's lost. String Buffer issue?

By: Igor Goncharovsky (igorg) 2008-12-10 22:32:34.000-0600

Thanks for testing!

1) Upper case used in dahdi core, inside asterisk both cases can be used.
2) It is the different issue, I did not seen that on 1.6.0.1. Is digit missed in log only or call can not go through because digit not dialed?

By: Max Litnitskiy (litnimax) 2008-12-28 23:00:48.000-0600

It keeps to work good. Any chance of getting this into the trunk?

By: Igor Goncharovsky (igorg) 2009-03-12 05:55:30

Ping. Any chance to get issue reviewed by someone?

By: Digium Subversion (svnbot) 2009-03-13 05:21:17

Repository: dahdi
Revision: 6147

U   linux/trunk/drivers/dahdi/dahdi-base.c

------------------------------------------------------------------------
r6147 | tzafrir | 2009-03-13 05:21:17 -0500 (Fri, 13 Mar 2009) | 12 lines

Fix handling of 'w' in a pulse dial string

Make the special "digit" 'w' work in pulse dialing as it works with tone
dialing (a delay of 0.5 second till the next digit). Note that the digit
gets uppercased before it gets to this function.

(closes issue DAHLIN-64)
Reported by: IgorG
Patches:
     dahdi-base.c.pulse2.diff uploaded by tzafrir (license 46)
Tested by: litnimax

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

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