Summary: | ASTERISK-03195: Call in Queue is hung up after 60 sec | ||
Reporter: | hal (hal) | Labels: | |
Date Opened: | 2005-01-05 18:04:26.000-0600 | Date Closed: | 2011-06-07 14:10:03 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_queue |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) Debug_Queue_60sec.txt | |
Description: | Incoming calls in a queue are hungup after 60 sec, regardeless what timeout in the Queue App is set. ****** ADDITIONAL INFORMATION ****** extensions.conf: exten => 129,3,Queue(gws-wartefeld|n|||300) queues.conf: [default] [gws-wartefeld] music = default strategy = ringall context = queue-out wrapuptime=10 announce-frequency = 15 announce-holdtime = yes joinempty = yes member => Agent/6301 member => Agent/6302 member => Agent/6303 | ||
Comments: | By: nick (nick) 2005-01-05 19:06:47.000-0600 Please post (at least) some high-verbosity CLI output from when the call gets hung up. More details make bugs easier to track down. Thanks. By: Mark Spencer (markster) 2005-01-05 20:31:51.000-0600 Try answering the line first. You may have a provider who does not allow you to remain ringing for > 30 seconds. By: hal (hal) 2005-01-06 04:34:35.000-0600 Mark, I've changed extensions.conf to answer the call first, then dial into the queue. The Problem still remains... Here is my changed portion of extension.conf: exten => 870663,1,Answer() exten => 870663,2,GotoIfTime(9:00-19:00|mon-fri|*|*?queue,129,1) exten => 870663,3,Dial(SIP/6301&SIP/6302&SIP/6303,5,tr) exten => 870663,4,Dial(Local/6320,30,tr) exten => 870663,5,SetLanguage(de) exten => 870663,6,Voicemail(6320) exten => 870663,7,Hangup Attached I give you a detailed debug of the call from cli. >>Debug_Queue_60sec.txt>> Thanks a lot for your fast response By: Kevin P. Fleming (kpfleming) 2005-01-06 09:17:59.000-0600 Why is there Voicemail() being invoked in that session? Is it possible that one of your agent calls forwarded to voicemail? By: bmerrills (bmerrills) 2005-01-06 10:20:34.000-0600 I found this issue quite some time ago when I was using an AGI to route a call through to a queue. I found a quick and dirty solution was to play an audio file over the channel before joining the queue. Seemed to fix it By: hal (hal) 2005-01-06 10:49:47.000-0600 Kpflemming, voicemail is invoked *after* the queue timeouts, or did I miss something. Here the extensions.conf: exten => 129,1,SetLanguage(de) exten => 129,2,Playback(gws_welcome_queue) exten => 129,3,Queue(gws-wartefeld|n|||900) exten => 129,4,Playback(gws_alle_sprechen) exten => 129,5,Voicemail(s6320) ; voicemail starts here exten => 129,6,Hangup Bmerrills, where an how did you "play an audio file over the channel", before an agent gets the call, or before the call comes first in the queue? Thanks to all By: bmerrills (bmerrills) 2005-01-06 10:56:48.000-0600 I have the following: exten => _0.,1,SetCDRUserField(${EXTEN}) exten => _0.,2,SetCIDNum(0${CALLERIDNUM}) exten => _0.,3,AGI(agi_CallDirector.exe|${EXTEN}) The AGI then simply passed the call into a queue. However, I noticed that if the call was over 60s long, then it ended, without any reason. I noticed that another instance where i did a similar thing (passing into a queue) didn't have the same cut off. The reason seemed to be because i issued a Playback(pleasehold) before putting the call through to a queue. I added the playback line, and i've never had the problem again. By: Kevin P. Fleming (kpfleming) 2005-01-06 11:00:12.000-0600 You are right, I missed the Voicemail line in your dialplan, my mistake. Is the caller hearing music on hold while the call is ringing the agents? By: Mark Spencer (markster) 2005-01-06 11:05:03.000-0600 How are these calls coming in? By: hal (hal) 2005-01-06 11:15:31.000-0600 Bmerrils, could you send your agi-script as file-upload? Why is it a .exe file? Kpflemming, the caller hears moh as expected. Mark, the call comes in by this context: ; Anschluß Zentrale exten => 870663,1,Answer() exten => 870663,2,GotoIfTime(9:00-19:00|mon-fri|*|*?queue,129,1) exten => 870663,3,Dial(SIP/6301&SIP/6302&SIP/6303,5,tr) exten => 870663,4,Dial(Local/6320,30,tr) exten => 870663,5,SetLanguage(de) exten => 870663,6,Voicemail(6320) exten => 870663,7,Hangup Thanks By: Kevin P. Fleming (kpfleming) 2005-01-06 11:19:33.000-0600 I think Mark wanted to know what the "source" channel was... Zap, SIP, IAX2, etc. I don't see the Queue call in that dialplan snippet you posted, is it the Local/6320 Dial() that's putting them into the queue? If your original post, you had the Queue() call as extension 129 priority 3, so I guess that must be part of this same context? If so, it would be helpful to see the whole thing, not broken-out pieces, if you can post that. By: bmerrills (bmerrills) 2005-01-06 11:25:02.000-0600 1) It's an exe because we produce a number of our AGIs in C# (using mono). 2) I'm sorry, but i can't provide the code, however it does simply invoke the EXEC methods to place the caller into a queue and/or use the Playback method. 3) The call comes in directly the the dialplan i posted last time, from a Zap interface (provided by a digium quad E1 with EuroISDN and pri_net sig type). Hope this helps alittle... By: hal (hal) 2005-01-06 15:56:09.000-0600 Kpflemming, you 're right, with the complete extensions.conf it should be easier to find the bug. In my first post I didn't wanted to lavish you with all that stuff. Now, here is "the whole thing". I'm not shure if the includes in the default section are really necessary, but it works so far. The call reaches the dialplan in context isdngw2-in. It has been sent by a patton isdn-gateway smartnode 1200 as sip. I also tried to change an test extension to: exten => 872000,2,Dial(Local/6301,120,tr) But this call is also running in an timeout after 60 seconds, the parameter 120, which should let the extension ring for 120 seconds, seems not to work. The call is not terminated by the isdn-gateway, scince after the 60 seconds, the next priority of this extension is used. It seems, there is an hardcoded default value for hangup after 60 seconds somewhere... Hope, these informations help ;;;;;start of extensions.conf [general] static=yes writeprotect=yes [default] include => mailbox include => ansage include => teilnehmer include => test include => queue-out include => queue include => isdngw2-in ;include => isdngw2-out include => parkedcalls exten => asterisk,1,VoiceMailMain(${CALLERIDNUM}) [queue] exten => 128,1,AgentCallbackLogin(${CALLERIDNUM}) exten => 128,2,Hangup exten => 129,1,SetLanguage(de) exten => 129,2,Playback(gws_welcome_queue) ; Das Playback an dieser Stelle ist wichtig, sonst l䵦t die Queue nicht!!!!!! ;exten => 129,2,Playback(Hier vielleicht eine Hauptansage f? Queue!!!!!!) exten => 129,3,Queue(gws-wartefeld|n|||900) ; Hier geht's in die Queue, wenn nach 60 Sekunden nicht beantwortet, exten => 129,4,Playback(gws_alle_sprechen) exten => 129,5,Voicemail(s6320); dann geht's hier weiter zum AB, Weiterleitung etc. ;exten => 129,2,system(echo "http://192.168.161.106/index.htm?number=${CALLERIDNUM}"|mail -s "Neuer Anruf von ${CALLERIDNUM} um ${DATETIME}" guido@halpdc.gwsnettech.local) exten => 129,6,Hangup [queue-out] exten => 1,1,DIAL(SIP/6301,30) exten => 2,1,DIAL(SIP/6302,30) [test] ; Hier können neue Funktionen getestet werden include => default ;exten => 1237,1,Answer exten => 1237,1,SetMusicOnHold(default) ;exten => 1237,2,Answer ;exten => 1237,3,MusicOnHold() exten => 1237,4,Dial(SIP/1237) ;exten => 1237,1,Answer ;exten => 1237,2,SetMusicOnHold(default) ;exten => 1237,3,Playback(vm-theperson) ;exten => 1237,4,MP3Player(/mp3/westernhagen_johnny_walker.mp3) ;exten => 1237,5,Wait(5) ;exten => 1237,6,MusicOnHold() ;exten => 1237,1,voicemail2,u1237 ;exten => 1237,2,voicemail2,b1237 [teilnehmer] include => test include => queue-out include => sipgate include => isdngw2-in ;include => queue exten => 6601,1,WaitMusicOnHold(30) ;exten => 6301,hint,Sip/6301 ;exten => 6301,1,Macro(stdexten,SIP/6301) exten => 6301,1,Dial(SIP/${EXTEN},20,tT) exten => 6301,2,SetLanguage(de) exten => 6301,3,Voicemail(6301) exten => 6301,4,Hangup exten => 6301,102,Busy ;exten => 6302,hint,Sip/6302 ;exten => 6302,1,Macro(stdexten,SIP/6302) exten => 6302,1,Dial(SIP/${EXTEN},20,tT) exten => 6302,2,SetLanguage(de) exten => 6302,3,Voicemail(6302) exten => 6302,4,Hangup exten => 6302,102,Busy ;exten => 6303,hint,Sip/6303 ;exten => 6303,1,Macro(stdexten,SIP/5603) exten => 6303,1,Dial(SIP/${EXTEN},20,tT) exten => 6303,2,SetLanguage(de) exten => 6303,3,Voicemail(6303) exten => 6303,4,Hangup exten => 6303,102,Busy ;exten => 6304,hint,Sip/6304 ;exten => 6304,1,Macro(stdexten,SIP/6304) exten => 6304,1,Dial(SIP/${EXTEN},20,tT) exten => 6304,2,SetLanguage(de) exten => 6304,3,Voicemail2(6304) exten => 6304,4,Hangup exten => 6304,102,Busy ;Allgemeiner Anrufbeantworter mit Wavedatei gwsNetTech exten => 6320,1,SetLanguage(de) exten => 6320,2,Wait(2) exten => 6320,3,Voicemail(su6320) exten => 6320,4,Playback(vm-goodbye) exten => 6320,5,Hangup include => queue include => isdngw2-out [parkedcalls] ;exten => 70,1,Answer ;exten => 70,2,SetMusicOnHold(random) ;exten => 70,3,ParkAndAnnounce(PARKED,60,SIP/01,70,4) ;exten => 70,4,Macro(rg-inbound,20,tr) ;exten => 70,5,Goto(aa-nooneavail,s,1) exten => 80[1-5],1,ParkedCall(${EXTEN}) [ansage] exten => s,1,Answer exten => s,2,SetMusicOnHold(default) [mailbox] ; Hier wird die allgemeine Mailboxkonfiguration aufgerufen ; Die 198 dient zur Konfiguration einer beliebigen Mailbox ; Die Mailbox, die man konfigurieren will, wird abgefragt. exten => 198,1,VoicemailMain() exten => 198,2,Hangup ; Hier wird die eigene(oder die des Aparates, von dem man aus anruft) ; bearbeitet. exten => 199,1,VoicemailMain(s${CALLERIDNUM}) exten => 199,2,Hangup [sipgate] include => default exten => _9.,1,Dial(SIP/${EXTEN:1}@sipgate,60,tr) ;include => isdngw2-out exten => _9.,2,Congestion exten => _9.,102,Busy [incomingsipgate] exten => h,1,Hangup exten => 5339504,1,Dial(SIP/6301,10,tr) exten => 5339504,2,Dial(SIP/6301,10,tr) ;exten => 5339504,3,DIAL(SIP/01791267353@sipgate,60,tr) exten => 5339504,3,SetLanguage(de) exten => 5339504,4,Voicemail2(6301) exten => 5339504,5,Hangup [isdngw2-in] ; Anschluß Zentrale exten => 870663,1,Answer() exten => 870663,2,GotoIfTime(9:00-19:00|mon-fri|*|*?queue,129,1) exten => 870663,3,Dial(SIP/6301&SIP/6302&SIP/6303,5,tr) exten => 870663,4,Dial(Local/6320,30,tr) exten => 870663,5,SetLanguage(de) exten => 870663,6,Voicemail(6320) exten => 870663,7,Hangup ;Anschluß Guido Hecken exten => 874053,1,Dial(SIP/6301,60,tr) exten => 874053,2,SetLanguage(de) exten => 874053,3,Voicemail(6301) exten => 874053,4,Hangup ; Anschluß Nebennummer exten = 872000,1,GotoIfTime(9:00-19:00|mon-fri|*|*?queue,129,1) ;exten => 872000,1,Dial(SIP/129,60,tr) exten => 872000,2,Dial(Local/6320,30,tr) exten => 872000,3,SetLanguage(de) exten => 872000,4,Voicemail(6320) exten => 872000,5,Hangup include => queue [isdngw2-out] ; Alles, was es bis hierhin geschafft hat, also nicht lokal ist, ; wird auf das ISDN-Gateway geroutet. exten => _X.,1,Dial(SIP/${EXTEN}@192.168.161.135,60,trT) exten => _X.,2,Congestion exten => _X.,102,Busy ;;;;;end of extensions.conf By: Kevin P. Fleming (kpfleming) 2005-01-06 18:40:34.000-0600 OK, first, I think you need to post your extensions.conf file on asterisk-users and get some help in cleaning it up... It seems that you are a bit confused with the way contexts and extensions work, although that's not the cause of this problem. For example, in the isdngw2-in context, you have a GotoIfTime that jumps directly to extension 129 priority 1 in the queue context, but you are also "include"ing the queue context into the isdngw-in context. This is not needed at unless the ISDN gateway is actually going to send you calls targeted to extension 129 (defined in the queue context), which I'm sure it won't be doing :-) Now, I haven't seen your agents.conf file, but if you are defining Agent 6301 as "Local/6301", then I can see the source of your problem... In context "teilnehmer", under extension 6301, you have a Macro(stdexten,SIP/6301) call. You don't show the stdexten macro in your extensions.conf file, but if you are using the default one, it has its own timeout specified (and you might have changed it to 60 seconds). After the stdexten macro finishes, then you Dial() directly to the SIP peer, which is redundant, since the stdexten macro just did that. If I were you, I would start over with the simplest possible configuration, and only add stuff into it when you know for _sure_ that it does exactly the right thing. For example, I doubt you need to be using Local channels as much as you are at all, especially in combination with Agents. Given this configuration, and the fact that other users are not experiencing the problem you are, I'd have to guess that this problem is being caused by your configuration somewhere. Unfortunately we don't have time to dissect your entire configuration to find it :-( By: Kevin P. Fleming (kpfleming) 2005-01-06 18:56:14.000-0600 Based on evidence to date, this appears to be a user configuration issue. You may reopen if you can identify a specific problem with the Queue application. By: Kevin P. Fleming (kpfleming) 2005-01-06 18:58:15.000-0600 reopening to fix status |