|Summary:||ASTERISK-20192: Despite a "context" defined in queues.conf - queue callers can't exit a queue by dialing extension numbers within that context|
|Date Opened:||2012-08-06 02:13:56||Date Closed:||2012-09-10 16:59:57|
|Environment:||OS: linux Ubuntu 11.10||Attachments:||( 0) extensions.conf|
( 1) issue_20192_full_log
( 2) issue_20192.pcap
( 3) logger.conf
( 4) queue.log
( 5) queues.conf
|Description:||[at first,I'm sorry for my poor chinese english.]queue keypress events don't work, asterisk seems not to receive DTMF keys when waiting in a queue, when i enter any digit key, expect to exit the queue and go to a voice menu context corresponding to "context" config item in queues.conf, but i always failed. i debug this by GDB, i know asterisk call wait_a_bit in queue_exec() function at app_queue.c to receive a single digit DTMF key to exit, and i go deep into call stack of wait_a_bit, the program return "ast_null_frame" at "case AST_TIMING_EVENT_EXPIRED" after calling ast_timer_get_event in __ast_read.|
|Comments:||By: Rusty Newton (rnewton) 2012-08-06 15:01:37.049-0500|
1)Does detection of your keypress (DTMF) work anywhere outside of a queue? For example when inside of a WaitExten() ?
2)Is the person pressing keys connected via a SIP device or calling in through a SIP channel?
Please gather an Asterisk full log with VERBOSE, DEBUG and DTMF type messages of at least level 5 during the issue occurring. Please attach the log to the issue as txt file, compressed if very large.
By: lijingcheng (lijingcheng) 2012-08-06 20:13:15.966-0500
yes, i make a voicemail dialplan test and the keypress do work inside WaitExten, i also can enter agent number and password to login a queue inside a agentLogin application, and i use a Grandstream GXP1450 SIP endpoint to do these.
there is a log file about this.
By: lijingcheng (lijingcheng) 2012-08-06 22:18:13.074-0500
update the status of this issue.
By: Rusty Newton (rnewton) 2012-08-07 15:53:06.127-0500
I don't see any indication that Asterisk detected DTMF during the time the logging occurred.
Did you gather the logging as in the method here: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information ? Be sure to include DTMF message type.
Please also include a packet capture of the SIP and RTP traffic occurring during that time. (using tcpdump or a similar tool so that we can analyze the capture in wireshark. The capture should be taken from the machine running Asterisk. This will allow us to verify Asterisk is receiving DTMF from the endpoint and not just ignoring DTMF for some strange reason.
By: lijingcheng (lijingcheng) 2012-08-08 20:38:14.849-0500
I am sure i added DTMF message type in logger.conf. there are a logger.conf file, a full log, and a pcap file attached.
By: Rusty Newton (rnewton) 2012-08-09 15:59:34.049-0500
Thanks. We'll take a look and see if we can identify this as a bug or not.
By: Matt Jordan (mjordan) 2012-08-09 16:13:36.412-0500
Try Answer-ing the call before it goes into the Queue.
same => n,Answer()
same => n,Queue(...)
Does that fix the problem?
By: lijingcheng (lijingcheng) 2012-08-09 20:11:24.133-0500
Thanks! it fixed my problem, but when should we use an answer before a queue application? is it a must?
By: Richard Mudgett (rmudgett) 2012-08-09 20:52:29.397-0500
Many SIP/ISDN phones do not allow generating DTMF before answer because there is no media stream.
By: lijingcheng (lijingcheng) 2012-08-09 22:36:57.601-0500
I see, thanks! so this depends on the phone?
By: Rusty Newton (rnewton) 2012-09-10 16:59:57.690-0500
Yup, it can vary per device. When in doubt, Answer() the channel, or even in some cases you may need Progress() (probably want to research that one). Thanks.