[asterisk-bugs] [Asterisk 0012924]: ap_queue hangs up caller

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Jun 26 01:05:17 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12924 
====================================================================== 
Reported By:                snyfer
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12924
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.0-beta9 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-24-2008 01:44 CDT
Last Modified:              06-26-2008 01:05 CDT
====================================================================== 
Summary:                    ap_queue hangs up caller
Description: 
ap_queue hangs up the caller after a queuemember answered even, if the
queuemember did not hear the anouncement of the queue!
 
So if a queuemember answeres a call -> hears the holdtime -> waits for the
anouncement and hangs up at that point, the caller is hung up, 
instead of getting back in the queue and waiting for the next agent
(member) to call!

This worked in asterisk v1.2.x and does not anymore in v1.6.0 Beta 9
 

====================================================================== 

---------------------------------------------------------------------- 
 snyfer - 06-26-08 01:05  
---------------------------------------------------------------------- 
Hello, 

okay I collected all the stuff. 
before you check all that things please notice, that I found something out
while testing again and again. 

This may be a good hint: 

When I activate report holdtime - and hang up bevore hearing the holdtime
- it works and the calller gets back into the queue. 

When I turn off reporting holdtime - and hang up bevore the anouncement -
the caller is hung up! 

This shows that asterisk is only checking if the holdtime has been played
already and not if the anouncement has been played! (in v1.2 astterisk
checked also the anouncement if there was no reporting holdtime activated)



We are using local channels yes. Only way to get possibillity to clone
callbacklogin - I hate, that this has been removed :-( 

configurations:


extensions.conf:
exten => 43123077,1,Macro(queue,thinking,tThH,60)





macro-queue:

;some variablesettings...

exten => s,21,Queue(${queuename},ctThH,,beep,60)

exten => s,22,Noop(Queuestatus is ${QUEUESTATUS} ...)





Agent local called channel:

exten => 555,1,Macro(call_agent,555,extension_screening,SIP/mts,de)





Macro-call_agent:

;some Data checking and variable setting

exten =>
s,11,Dial(${ARG3},${queuetimeout},${queueflags}M(extension_screening))

exten => s,12,Macroexit()





Macro-extension_screening:

exten => s,1,Set(CHANNEL(language)=${ARG3}) ; set agents language and Wait
just a giffy 

exten => s,2,Read(saycaller,${callfor},1,noanswer,1,1) ; Check to see if
they press 8

exten => s,3,GotoIf($[${EXISTS(${saycaller})}]?4:6)

exten => s,4,GotoIf($[${saycaller} = 8 ]?5:6) ;busy if they press 8

exten => s,5,Busy()

exten => s,6,MacroExit()





queue.conf:
[thinking]

maxlen=8

strategy=ringall

retry=2

joinwhenempty=strict

leavewhenempty=strict

servicelevel=60

timeout=25

context=agent_logic

musicclass=thinking

ringinuse=no

monitor-format=wav

timeoutrestart=yes

;reportholdtime=yes

;when we activate reporting holdtime it works!


Queue_log:
1214456593|1214456579.5|thinking|local/555 at agent_logic|ADDMEMBER|

1214456593|1214456579.5|dicore|local/555 at agent_logic|ADDMEMBER|

1214456606|1214456602.8|thinking|NONE|ENTERQUEUE||069912008888

1214456611|1214456602.8|thinking|local/555 at agent_logic|CONNECT|5|1214456606.9|3

1214456611|1214456602.8|thinking|local/555 at agent_logic|COMPLETEAGENT|5|0|1





cli during the call: (please note, that after disconnection of the called
partie asterisk goes on as nothing had happened) 



    -- Executing [s at macro-queue:21] Queue("SIP/selfnet.at-0828f408",
"thinking,ctThH,,beep,60") in new stack
    -- Started music on hold, class 'thinking', on channel
'SIP/selfnet.at-0828f408'
    -- Executing [555 at agent_logic:1] Macro("Local/555 at agent_logic-7450;2",
"call_agent,555,extension_screening,SIP/mts,de") in new stack
...
    -- Executing [s at macro-call_agent:11]
Dial("Local/555 at agent_logic-7450;2",
"SIP/mts,60,tThHM(extension_screening,555,1214459820,de)") in new stack
  == Using SIP RTP CoS mark 5
    -- Called mts
    -- SIP/mts-082a0188 is ringing
    -- Local/555 at agent_logic-7450;1 is ringing
    -- SIP/mts-082a0188 answered Local/555 at agent_logic-7450;2
    -- Executing [s at macro-extension_screening:1] Set("SIP/mts-082a0188",
"CHANNEL(language)=de") in new stack
    -- Executing [s at macro-extension_screening:2] Read("SIP/mts-082a0188",
"saycaller,callforthinking,1,noanswer,1,1") in new stack
    -- Accepting a maximum of 1 digits.
    -- <SIP/mts-082a0188> Playing 'callforthinking.slin' (language 'de')
    -- User disconnected
    -- Local/555 at agent_logic-7450;1 answered SIP/selfnet.at-0828f408
    -- <Local/555 at agent_logic-7450;1> Playing 'beep.gsm' (language 'en')
    -- Stopped music on hold on SIP/selfnet.at-0828f408
  == Spawn extension (macro-call_agent, s, 11) exited non-zero on
'Local/555 at agent_logic-7450;2' in macro 'call_agent'
  == Spawn extension (macro-call_agent, s, 11) exited non-zero on
'Local/555 at agent_logic-7450;2'
    -- Executing [h at macro-call_agent:1]
MacroExit("Local/555 at agent_logic-7450;2", "") in new stack
  == Spawn extension (macro-call_agent, h, 1) exited non-zero on
'Local/555 at agent_logic-7450;2'
  == Spawn extension (macro-queue, s, 21) exited non-zero on
'SIP/selfnet.at-0828f408' in macro 'queue'
  == Spawn extension (macro-queue, s, 21) exited non-zero on
'SIP/selfnet.at-0828f408'
    -- Executing [h at macro-queue:1] NoOp("SIP/selfnet.at-0828f408",
"Queuestatus is  ...") in new stack
    -- Executing [h at macro-queue:2] Hangup("SIP/selfnet.at-0828f408", "")
in new stack
  == Spawn extension (macro-queue, h, 2) exited non-zero on
'SIP/selfnet.at-0828f408'
server*CLI> exit
server:~#



-
I hope you can find the problem now and fix it. Thank you very much for
your help. 

best regards 
Martin 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-26-08 01:05  snyfer         Note Added: 0089261                          
======================================================================




More information about the asterisk-bugs mailing list