Summary: | ASTERISK-08360: SIP, dtmf-relay, feature key presses being ignored | ||
Reporter: | Russell Brown (ruffle) | Labels: | |
Date Opened: | 2006-12-15 12:19:10.000-0600 | Date Closed: | 2007-01-19 12:06:34.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) ast.conf.tgz ( 1) verbosedebug.txt | |
Description: | During a Sip to Sip Call, Asterisk fails to act on pressing DTMF keys that correspond to features. ****** ADDITIONAL INFORMATION ****** Here's the o/p from feature show: asterisk*CLI> feature show Builtin Feature Default Current --------------- ------- ------- Pickup *8 *8 Blind Transfer # # Attended Transfer *2 One Touch Monitor *1 Disconnect Call * * Park Call ASTERISK-68 Dynamic Feature Default Current --------------- ------- ------- testfeature no def ASTERISK-5 Call parking ------------ Parking extension : 700 Parking context : parkedcalls Parked call extensions: 701-720 asterisk*CLI> ... and if I press * during a Sip-Sip Call here's the console debug (the call remains up) [Dec 15 18:16:13] DTMF[20535]: channel.c:2128 __ast_read: DTMF end '1' received on SIP/112-00704f60 [Dec 15 18:16:13] DTMF[20535]: channel.c:2128 __ast_read: DTMF end '1' received on SIP/112-00704f60 [Dec 15 18:16:13] DTMF[20535]: channel.c:2128 __ast_read: DTMF end '4' received on SIP/112-00704f60 [Dec 15 18:16:17] DEBUG[20535]: channel.c:3682 ast_generic_bridge: Didn't get a frame from channel: SIP/112-00704f60 [Dec 15 18:16:17] DEBUG[20535]: channel.c:3990 ast_channel_bridge: Bridge stops bridging channels SIP/112-00704f60 and SIP/114-0070afb0 == Spawn extension (macro-stdsip, s, 1) exited non-zero on 'SIP/112-00704f60' in macro 'stdsip' == Spawn extension (macro-stdsip, s, 1) exited non-zero on 'SIP/112-00704f60' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '"Russell Brown" <01780471802>' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '01780471802' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '114' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is 'from-sip' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is 'SIP/112-00704f60' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is 'SIP/114-0070afb0' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is 'Dial' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '"Sip/114"|10|Trt' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '2006-12-15 18:04:03' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '2006-12-15 18:04:06' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '2006-12-15 18:16:17' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '734' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '731' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is 'ANSWERED' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is 'DOCUMENTATION' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '1166205843.0' [Dec 15 18:16:17] DEBUG[20535]: pbx.c:1621 pbx_substitute_variables_helper_full: Function result is '' -- Executing [114@from-sip:1] Macro("SIP/112-00715510", "stdsip||"Sip/114"") in new stack -- Executing [s@macro-stdsip:1] Dial("SIP/112-00715510", ""Sip/114"|10|Trt") in new stack -- Called 114 -- SIP/114-0070da30 is ringing -- SIP/114-0070da30 is ringing -- SIP/114-0070da30 answered SIP/112-00715510 [Dec 15 18:16:26] DTMF[20552]: channel.c:2128 __ast_read: DTMF end '*' received on SIP/112-00715510 [Dec 15 18:16:26] DEBUG[20552]: channel.c:3726 ast_generic_bridge: Got DTMF begin on channel (SIP/112-00715510) [Dec 15 18:16:26] DEBUG[20552]: channel.c:3990 ast_channel_bridge: Bridge stops bridging channels SIP/112-00715510 and SIP/114-0070da30 asterisk*CLI> | ||
Comments: | By: Serge Vecher (serge-v) 2006-12-15 13:32:56.000-0600 Can you please redo SIP debug as per following: 1) Prepare test environment (reduce the amount of unrelated traffic on the server); 2) Make sure your logger.conf has the following line: console => notice,warning,error,debug 3) restart Asterisk with the following command: 'asterisk -Tvvvvvdddddgc | tee /tmp/verbosedebug.txt' 4) Enable SIP transaction logging with the following CLI commands: set debug 4 set verbose 4 sip debug 5) Trim startup information and attach verbosedebug.txt to the issue. By: Joshua C. Colp (jcolp) 2006-12-18 11:32:41.000-0600 I spent some time trying to lab this issue up and was unable to. Basically tried both INFO based DTMF and RFC2833, and everything worked fine. Can you provide your configuration information? Thanks. By: Russell Brown (ruffle) 2006-12-19 12:38:51.000-0600 Certainly, what config info would you like? By: Joshua C. Colp (jcolp) 2006-12-19 14:49:00.000-0600 sip.conf and features.conf - also be sure to try latest 1.4 By: Russell Brown (ruffle) 2006-12-20 12:05:17.000-0600 OK, I've uploaded ast.conf.tgz which contains /etc/asterisk from my test system with the failing case. I've tried Asterisk 1.4.0-beta4 and there's no difference. FYI, the machine is a x86_64 (Intel Core 2) based box, running Ubuntu on a 2.6.17-10 kernel. The SIP Phones being used are Snom 360, 300 & 190 Anything else I can supply to help track this down? By: Joshua C. Colp (jcolp) 2006-12-22 11:25:45.000-0600 I've looked over the configurations and everything seems fine. What should be happening is this: 1. chan_sip receives an INFO 2. chan_sip queues up a DTMF_END to the core 3. core compensates by sending DTMF_BEGIN 4. core sends DTMF_END 500ms later By any chance are you using vad or silence suppression on the phones? By: Phoebe Anderson (phoebe) 2006-12-26 18:40:53.000-0600 I have the same issues with my 1.4.0 test box. Setting canreinvite=no in sip.conf is a workaround that resolves the problem. I have replicated the results with the following SIP devices: Polycom IP501, Grandstream 101 and PAP-2. By: Christian Dannemann (wilderbeest) 2006-12-28 07:44:41.000-0600 Just to confirm that I encounter the same problem. All is fine using 1.2.14, when I switch to 1.4 all stuff in features.conf isn't recognized. DTMF as such works, as I can use DTMF tones for voicemail, Dictate(), etc. Only stuff in features.conf doesn't work any more, such as transfers, recording calls etc. Kind Regards, Christian By: Serge Vecher (serge-v) 2006-12-28 09:03:28.000-0600 guys, can you please produce a sip debug trace as per 0056481 with and without canreinvite set to 'no'? By: Russell Bryant (russell) 2007-01-17 16:13:55.000-0600 There is a branch now available that should fix the issue reported here when using SIP INFO dtmf with Asterisk 1.4. Please try this branch if you are having problems: svn co http://svn.digium.com/svn/asterisk/team/group/vldtmf_fixup By: pj (pj) 2007-01-18 02:14:08.000-0600 can it relate to bugreport 0008815? I have problem with recognizing dtmf digits from chan_h323, digits must be typed slowly (about 1sec delay) to be recognized correctly. By: Russell Bryant (russell) 2007-01-19 12:06:33.000-0600 This should be fixed in the 1.4 branch in revision 51311 and the trunk in revision 51314. |