Summary: | ASTERISK-10308: DISA prevents DTMF detection w/ FXO port on TDM400 | ||
Reporter: | Benjamin M. (devnullzero) | Labels: | |
Date Opened: | 2007-09-15 11:16:33 | Date Closed: | 2011-06-07 14:08:10 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_disa |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | DISA prevents DTMF detection capability when using the FXO port of the TDM400. I got a confirmation from an other user: http://lists.digium.com/pipermail/asterisk-users/2007-September/196518.html Also tested with svn 1.4 branch rev82444. ****** ADDITIONAL INFORMATION ****** Below, config A and B and their debug logs. In Config A I use Authenticate() instead of using DISA password since it demonstrates that it's DISA that seems to prevent DTMF detection when using Zap/1. Otherwise DISA works flawlessly when calls are coming from FXS port (TDM400), IAX, SIP channels.... and we have absolutely no other problem detecting DTMF that we are aware of... --------------------------- zapata.conf --------------------------- context=inbound-pstn signalling=fxs_ks rxgain=10 txgain=3 language=fr channel => 1 I have tried to change gains without any result ... (http://forums.digium.com/viewtopic.php?t=17769&highlight=disa+dtmf) ; --- Config A --- ; exten => 111,1,Answer exten => 111,n,Authenticate(111) exten => 111,n,DISA(no-password|internal) ; --- Dial sequence --- ; PSTN line -> TDM400 enter extension 111 -> dial tone enter password 111 -> "new" dial tone enter extension -> I still getting the dial tone whatever I'm entering timeout. Here the debug log: <snip> DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF end accepted without begin '1' on Zap/1-1 DTMF end passthrough '1' on Zap/1-1 Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw Oooh, got something to jump out with ('1')! DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 == CDR updated on Zap/1-1 Launching 'Answer' -- Executing [111@compagnie:1] Answer("Zap/1-1", "") in new stack Launching 'Authenticate' -- Executing [111@compagnie:2] Authenticate("Zap/1-1", "111") in new stack Set channel Zap/1-1 to write format gsm Scheduling timer at 160 sample intervals -- <Zap/1-1> Playing 'agent-pass' (language 'fr') Scheduling timer at 0 sample intervals Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 DTMF digit: # on Zap/1-1 DTMF end '#' received on Zap/1-1, duration 0 ms DTMF begin emulation of '#' with duration 100 queued on Zap/1-1 DTMF end emulation of '#' queued on Zap/1-1 Set channel Zap/1-1 to write format gsm Scheduling timer at 160 sample intervals -- <Zap/1-1> Playing 'auth-thankyou' (language 'fr') Scheduling timer at 0 sample intervals Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw Launching 'DISA' -- Executing [111@compagnie:3] DISA("Zap/1-1", "no-password|internal") in new stack Digittimeout: 3000 Responsetimeout: 10000 Mailbox: Context: internal DISA no-password login success Set channel Zap/1-1 to write format slin Scheduling timer at 160 sample intervals Scheduling timer at 0 sample intervals [ ------------ asterisk isn't detecting any DTMF... ---------- ] DISA extension entry timeout on chan Zap/1-1 Requested indication 8 on channel Zap/1-1 Set channel Zap/1-1 to write format ulaw Scheduling timer at 0 sample intervals Spawn extension (compagnie,111,3) exited non-zero on 'Zap/1-1' == Spawn extension (compagnie, 111, 3) exited non-zero on 'Zap/1-1' Soft-Hanging up channel 'Zap/1-1' Hanging up channel 'Zap/1-1' zt_hangup(Zap/1-1) Hangup: channel: 1 index = 0, normal = 7, callwait = -1, thirdcall = -1 disabled echo cancellation on channel 1 Set option TDD MODE, value: OFF(0) on Zap/1-1 Updated conferencing on 1, with 0 conference users -- Hungup 'Zap/1-1' <snip> ; --- Config B --- ; exten => 111,1,Answer exten => 111,n,DISA(111|internal) ; --- Dial sequence --- ; PSTN line -> TDM400 enter extension 111 -> dial tone enter password 111 -> I still getting the dial tone whatever I'm entering password timeout. Here the debug log: <snip> DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF end accepted without begin '1' on Zap/1-1 DTMF end passthrough '1' on Zap/1-1 Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw Oooh, got something to jump out with ('1')! DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 DTMF digit: 1 on Zap/1-1 DTMF end '1' received on Zap/1-1, duration 0 ms DTMF begin emulation of '1' with duration 100 queued on Zap/1-1 DTMF end emulation of '1' queued on Zap/1-1 == CDR updated on Zap/1-1 Launching 'Answer' -- Executing [111@compagnie:1] Answer("Zap/1-1", "") in new stack Launching 'DISA' -- Executing [111@compagnie:2] DISA("Zap/1-1", "111|internal") in new stack Digittimeout: 3000 Responsetimeout: 10000 Mailbox: Context: internal Set channel Zap/1-1 to write format slin Scheduling timer at 160 sample intervals Scheduling timer at 0 sample intervals [ ------------ asterisk isn't detecting any DTMF... ---------- ] DISA password entry timeout on chan Zap/1-1 Requested indication 8 on channel Zap/1-1 Set channel Zap/1-1 to write format ulaw Scheduling timer at 0 sample intervals Spawn extension (compagnie,111,2) exited non-zero on 'Zap/1-1' == Spawn extension (compagnie, 111, 2) exited non-zero on 'Zap/1-1' Soft-Hanging up channel 'Zap/1-1' Hanging up channel 'Zap/1-1' zt_hangup(Zap/1-1) Hangup: channel: 1 index = 0, normal = 7, callwait = -1, thirdcall = -1 disabled echo cancellation on channel 1 Set option TDD MODE, value: OFF(0) on Zap/1-1 Updated conferencing on 1, with 0 conference users -- Hungup 'Zap/1-1' <snip> | ||
Comments: | By: Joshua C. Colp (jcolp) 2007-10-29 12:28:27 Please rerun this test using the latest 1.4 with debug enabled in logger.conf and debug level set to 9, as well as DTMF logging. Thanks. By: Tilghman Lesher (tilghman) 2007-12-05 17:36:33.000-0600 No response from reporter. By: Benjamin M. (devnullzero) 2007-12-05 18:48:50.000-0600 Sorry for the delay. I can reproduce with 1.4.15. I will try to debug the system during Christmas holidays. By: Tilghman Lesher (tilghman) 2007-12-24 21:35:13.000-0600 devnullzero: Excellent. I look forward to seeing your debug any day now. By: Benjamin M. (devnullzero) 2007-12-24 22:56:11.000-0600 Here your Christmas gift ;-) Don't hesitate to ask for anything else. Example with no detection at all (sometime I can get it working, but it seems to be by pure chance). Via IAX or locally absolutely not problem with DISA. Asterisk 1.4.16.2 Zaptel Version 1.4.7.1 asterisk -f -C /usr/local/etc/asterisk -vvvvvvvvv -g -ddddddddd -c exten => 9000,1,Answer exten => 9000,n,Set(TIMEOUT(digit)=5) exten => 9000,n,Set(TIMEOUT(response)=10) exten => 9000,n,Set(CALLERID(all)=F ${CALLERID(name)} <${CALLERID(num)}>) exten => 9000,n,Playback(vm-password&beep) exten => 9000,n,DISA(987654|internal) Got event 18 (Ring Begin)... Got event 2 (Ring/Answered)... Launching 'Goto' -- Executing [s@inbound-pstn:1] Goto("Zap/1-1", "context|s|1") in new stack -- Goto (context,s,1) Launching 'Set' -- Executing [s@context:1] Set("Zap/1-1", "CHANNEL(language)=fr") in new stack Launching 'Set' -- Executing [s@context:2] Set("Zap/1-1", "TIMEOUT(digit)=3") in new stack -- Digit timeout set to 3 Launching 'Set' -- Executing [s@context:3] Set("Zap/1-1", "TIMEOUT(response)=10") in new stack -- Response timeout set to 10 Launching 'Answer' -- Executing [s@context:4] Answer("Zap/1-1", "") in new stack Notification of state change to be queued on device/channel Zap/1-1 Took Zap/1-1 off hook Enabled echo cancellation on channel 1 Engaged echo training on channel 1 Launching 'Wait' -- Executing [s@context:5] Wait("Zap/1-1", "1") in new stack No provider found, checking channel drivers for Zap - 1 Changing state for Zap/1 - state 2 (In use) Launching 'BackGround' -- Executing [s@context:6] BackGround("Zap/1-1", "voice/welcome") in new stack Set channel Zap/1-1 to write format gsm Scheduling timer at 160 sample intervals -- <Zap/1-1> Playing 'voice/welcome' (language 'fr') DTMF digit: 9 on Zap/1-1 DTMF end '9' received on Zap/1-1, duration 0 ms DTMF end accepted without begin '9' on Zap/1-1 DTMF end passthrough '9' on Zap/1-1 Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw Oooh, got something to jump out with ('9')! DTMF digit: 0 on Zap/1-1 DTMF end '0' received on Zap/1-1, duration 0 ms DTMF end accepted without begin '0' on Zap/1-1 DTMF end passthrough '0' on Zap/1-1 DTMF digit: 0 on Zap/1-1 DTMF end '0' received on Zap/1-1, duration 0 ms DTMF end accepted without begin '0' on Zap/1-1 DTMF end passthrough '0' on Zap/1-1 DTMF digit: 0 on Zap/1-1 DTMF end '0' received on Zap/1-1, duration 0 ms DTMF end accepted without begin '0' on Zap/1-1 DTMF end passthrough '0' on Zap/1-1 == CDR updated on Zap/1-1 Launching 'Answer' -- Executing [9000@context:1] Answer("Zap/1-1", "") in new stack Launching 'Set' -- Executing [9000@context:2] Set("Zap/1-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 Launching 'Set' -- Executing [9000@context:3] Set("Zap/1-1", "TIMEOUT(response)=10") in new stack -- Response timeout set to 10 Function result is '' Function result is '' Launching 'Set' -- Executing [9000@context:4] Set("Zap/1-1", "CALLERID(all)=F <>") in new stack Launching 'Playback' -- Executing [9000@context:5] Playback("Zap/1-1", "vm-password&beep") in new stack Set channel Zap/1-1 to write format gsm Scheduling timer at 160 sample intervals -- <Zap/1-1> Playing 'vm-password' (language 'fr') Scheduling timer at 0 sample intervals Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw Set channel Zap/1-1 to write format gsm Scheduling timer at 160 sample intervals -- <Zap/1-1> Playing 'beep' (language 'fr') Scheduling timer at 0 sample intervals Scheduling timer at 0 sample intervals Set channel Zap/1-1 to write format ulaw Launching 'DISA' -- Executing [9000@context:6] DISA("Zap/1-1", "987654|internal") in new stack Digittimeout: 5000 Responsetimeout: 10000 Mailbox: Context: internal Set channel Zap/1-1 to write format slin Scheduling timer at 160 sample intervals Internal timing is disabled (option_internal_timing=0 chan->timingfd=17) Generator got voice, switching to phase locked mode Scheduling timer at 0 sample intervals Internal timing is disabled (option_internal_timing=0 chan->timingfd=17) <============ repeated around 500 times <snip> <==== NOT DETECTION: STILL GETTING THE DIALING TONE WHILE ENTERING PASSWORD =====> <snip> DISA password entry timeout on chan Zap/1-1 Requested indication 8 on channel Zap/1-1 Internal timing is disabled (option_internal_timing=0 chan->timingfd=17) <============ repeated around 500 times <snip> Set channel Zap/1-1 to write format ulaw Scheduling timer at 0 sample intervals Spawn extension (context,9000,6) exited non-zero on 'Zap/1-1' == Spawn extension (context, 9000, 6) exited non-zero on 'Zap/1-1' Soft-Hanging up channel 'Zap/1-1' Hanging up channel 'Zap/1-1' zt_hangup(Zap/1-1) Hangup: channel: 1 index = 0, normal = 7, callwait = -1, thirdcall = -1 disabled echo cancellation on channel 1 Set option TDD MODE, value: OFF(0) on Zap/1-1 Updated conferencing on 1, with 0 conference users -- Hungup 'Zap/1-1' Notification of state change to be queued on device/channel Zap/1-1 No provider found, checking channel drivers for Zap - 1 By: Brett Bryant (bbryant) 2008-05-13 09:35:16 devnullzero, I cannot reproduce this problem with version 1.4.20 of asterisk. Can you tell us if you're still getting the issue? By: Benjamin M. (devnullzero) 2008-05-13 10:05:23 I will try during the weekend. I should have the answer before Monday. By: Joshua C. Colp (jcolp) 2008-06-10 11:40:41 devnullzero: Any update? By: Benjamin M. (devnullzero) 2008-06-10 12:37:03 I've tested without great success but the "unexpected behavior" seems to have changed since my previous debug. Saddly, I hadn't enough time to make all the debug. I should be able to check all that in one or two weeks. By: Russell Bryant (russell) 2008-07-08 10:39:01 Feel free to reopen if you have further information to describe what problem you are seeing. |