[Home]

Summary:ASTERISK-02988: Agent Hangup Crashes Asterisk
Reporter:joshz (joshz)Labels:
Date Opened:2004-12-14 13:51:11.000-0600Date Closed:2008-01-15 15:16:39.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:If an agent hangs up while on a call, Asterisk crashes.

****** ADDITIONAL INFORMATION ******

Agent logs in via (exten => 150,1,AgentLogin), enters their extension and password.  Customer calls in to queue (exten => 294,1,Queue(bc)).  If the agent hangs up while connected to the customer, Asterisk crashes.

;agents.conf
agent => 158,158,Agent 8
agent => 159,159,Jeremy

;queues.conf
[bc]
leavewhenempty = yes
joinempty = no
strategy = roundrobin
music = random
;monitor-format = gsm
;monitor-join = yes
announce-frequency = 120
announce-holdtime = yes
wrapuptime = 1
context = bc


queue-youarenext = queue-youarenext ; ("You are now first in line.")
queue-thereare = queue-thereare ; ("There are")
queue-callswaiting = queue-callswaiting ; ("calls waiting.")
queue-holdtime = queue-holdtime ; ("The current est. holdtime is")
queue-minutes = queue-minutes ; ("minutes.")
queue-thankyou = queue-thankyou ; ("Thank you for your patience.")

member => Agent/158;10
member => Agent/159;1
Comments:By: Mark Spencer (markster) 2004-12-14 14:12:44.000-0600

Please supply a backtrace from the resulting core as per the bug guidelines.

gdb ./asterisk core.foo

(gdb) bt

By: joshz (joshz) 2004-12-14 14:24:29.000-0600

I plan to, just have to wait until our call volume slows in 3 hours.  I wanted to go ahead and get some initial feedback in case anyone was familiar with some simple mistake I was making.

By: Mark Spencer (markster) 2004-12-14 14:27:54.000-0600

There is likely some kind of configuration issue that is triggering this problem in your environment, but obviously no configuration issue should cause a crash.  You should be able to execute gdb on the core without affecting the currently running system.

By: joshz (joshz) 2004-12-14 19:03:41.000-0600

(gdb) bt
#0  0x41ae3e97 in agent_read (ast=0x81a6b90) at chan_agent.c:357
#1  0x0805ce34 in ast_read (chan=0x81a6b90) at channel.c:1301
#2  0x080606ca in ast_channel_bridge (c0=0x81a1d18, c1=0x81a6b90,
   config=0x4892d77c, fo=0x4892d4bc, rc=0x4892d4c0) at channel.c:2699
#3  0x41a70825 in ast_bridge_call (chan=0x81a1d18, peer=0x81a6b90,
   config=0x4892d77c) at res_features.c:360
#4  0x41d23a24 in try_calling (qe=0x4892da4c, options=0x0,
   announceoverride=0x4892d8bc "joinkllc", url=0x0, go_on=0x4892da40)
   at app_queue.c:1481
ASTERISK-1  0x41d1f5c7 in queue_exec (chan=0x81a1d18, data=0x4892d8bc)
   at app_queue.c:2059
ASTERISK-2  0x08081f2a in pbx_extension_helper (c=0x4892da4c, con=0x3,
   context=0x81a1e64 "joinkllc", exten=0x81a1f58 "299", priority=1,
   label=0x0, callerid=0x8128c88 "8121234567", action=1104324460) at pbx.c:475
ASTERISK-3  0x0807a8ea in ast_pbx_run (c=0x41d2a76c) at pbx.c:1819
ASTERISK-4  0x080826a1 in pbx_thread (data=0x3) at pbx.c:2064
ASTERISK-5  0x400262b6 in start_thread () from /lib/tls/libpthread.so.0

edited on: 12-14-04 20:49

By: joshz (joshz) 2004-12-14 19:07:01.000-0600

Dec 14 19:55:26 DEBUG[27923]: Device 'Zap/49' changed to state '2'
Dec 14 19:55:26 DEBUG[27923]: Device 'Zap/49' changed to state '2'
Dec 14 19:55:26 DEBUG[27923]: Launching 'SetVar'
Dec 14 19:55:26 VERBOSE[27923]:     -- Executing �[1;36;40mSetVar�[0;37;40m("�[1;35;40mZap/49-1�[0;37;40m", "�[1;35;40mCALLFILENAME=/recordings/20041214-195526-8121234567-2345100�[0;37;40m") in new stack
Dec 14 19:55:26 DEBUG[27923]: Launching 'Monitor'
Dec 14 19:55:26 VERBOSE[27923]:     -- Executing �[1;36;40mMonitor�[0;37;40m("�[1;35;40mZap/49-1�[0;37;40m", "�[1;35;40mgsm|/recordings/20041214-195526-8121234567-2345100|m�[0;37;40m") in new stack
Dec 14 19:55:26 DEBUG[27923]: Launching 'BackGround'
Dec 14 19:55:26 VERBOSE[27923]:     -- Executing �[1;36;40mBackGround�[0;37;40m("�[1;35;40mZap/49-1�[0;37;40m", "�[1;35;40mthMAIN�[0;37;40m") in new stack
Dec 14 19:55:26 VERBOSE[27923]:     -- Accepting call from '8121234567' to '2345100' on channel 0/1, span 3
Dec 14 19:55:26 DEBUG[27923]: Enabled echo cancellation on channel 49
Dec 14 19:55:26 DEBUG[27923]: Set channel Zap/49-1 to write format gsm
Dec 14 19:55:26 DEBUG[27923]: Scheduling timer at 160 sample intervals
Dec 14 19:55:26 VERBOSE[27923]:     -- Playing 'thMAIN' (language 'en')
Dec 14 19:55:27 DEBUG[27923]: Read 184 bytes of audio while expecting 640
Dec 14 19:55:29 DEBUG[27923]: DTMF digit: 9 on Zap/49-1
Dec 14 19:55:29 DEBUG[27923]: Scheduling timer at 0 sample intervals
Dec 14 19:55:29 DEBUG[27923]: Set channel Zap/49-1 to write format ulaw
Dec 14 19:55:29 DEBUG[27923]: Oooh, got something to jump out with ('9')!
Dec 14 19:55:34 VERBOSE[27923]:   == CDR updated on Zap/49-1
Dec 14 19:55:34 DEBUG[27923]: Launching 'Goto'
Dec 14 19:55:34 VERBOSE[27923]:     -- Executing �[1;36;40mGoto�[0;37;40m("�[1;35;40mZap/49-1�[0;37;40m", "�[1;35;40mjoinkllc|299|1�[0;37;40m") in new stack
Dec 14 19:55:34 VERBOSE[27923]:     -- Goto (joinkllc,299,1)
Dec 14 19:55:34 DEBUG[27923]: Launching 'Queue'
Dec 14 19:55:34 VERBOSE[27923]:     -- Executing �[1;36;40mQueue�[0;37;40m("�[1;35;40mZap/49-1�[0;37;40m", "�[1;35;40mbc�[0;37;40m") in new stack
Dec 14 19:55:34 DEBUG[27923]: NO QUEUE_PRIO variable found. Using default.
Dec 14 19:55:34 DEBUG[27923]: queue: bc, options: (null), url: (null), announce: (null), timeout: 0, priority: 0
Dec 14 19:55:34 DEBUG[27923]: Set channel Zap/49-1 to write format slin
Dec 14 19:55:34 VERBOSE[27923]:     -- Started music on hold, class 'random', on Zap/49-1
Dec 14 19:55:34 DEBUG[27923]: Scheduling timer at 160 sample intervals
Dec 14 19:55:34 DEBUG[27923]: It's our turn (Zap/49-1).
Dec 14 19:55:34 DEBUG[27923]: Zap/49-1 is trying to call a queue member.
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Simple queue (no URL)
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/151' with metric 0
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/152' with metric 1
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/153' with metric 2
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/154' with metric 3
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/155' with metric 4
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/156' with metric 5
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/157' with metric 6
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/158' with metric 7
Dec 14 19:55:34 DEBUG[27923]: Trying 'Agent/159' with metric 8
Dec 14 19:55:34 DEBUG[27923]: Set channel SIP/josh-cfd5 to write format ulaw
Dec 14 19:55:34 VERBOSE[27923]:     -- Stopped music on hold on SIP/josh-cfd5
Dec 14 19:55:34 DEBUG[27923]: Scheduling timer at 0 sample intervals
Dec 14 19:55:34 VERBOSE[27923]:     -- agent_call, call to agent '159' call on 'SIP/josh-cfd5'
Dec 14 19:55:34 DEBUG[27923]: Playing beep, lang 'en'
Dec 14 19:55:34 DEBUG[27923]: Set channel SIP/josh-cfd5 to write format gsm
Dec 14 19:55:34 DEBUG[27923]: Difference is 132392, ms is 16569
Dec 14 19:55:34 DEBUG[27923]: Scheduling timer at 160 sample intervals
Dec 14 19:55:34 VERBOSE[27923]:     -- Playing 'beep' (language 'en')
Dec 14 19:55:34 DEBUG[27923]: Played beep, result '0'
Dec 14 19:55:34 DEBUG[27923]: Read 184 bytes of audio while expecting 640
Dec 14 19:55:34 DEBUG[27923]: Read 184 bytes of audio while expecting 640
Dec 14 19:55:35 DEBUG[27923]: Scheduling timer at 0 sample intervals
Dec 14 19:55:35 DEBUG[27923]: Scheduling timer at 0 sample intervals
Dec 14 19:55:35 DEBUG[27923]: Set channel SIP/josh-cfd5 to write format ulaw
Dec 14 19:55:35 DEBUG[27923]: Waited for stream, result '0'
Dec 14 19:55:35 DEBUG[27923]: Set channel SIP/josh-cfd5 to read format ulaw
Dec 14 19:55:35 DEBUG[27923]: Set read format, result '0'
Dec 14 19:55:35 DEBUG[27923]: Set channel SIP/josh-cfd5 to write format ulaw
Dec 14 19:55:35 DEBUG[27923]: Set write format, result '0'
Dec 14 19:55:35 DEBUG[27923]: Device 'Agent/159' changed to state '3'
Dec 14 19:55:35 VERBOSE[27923]:     -- Called Agent/159
Dec 14 19:55:35 VERBOSE[27923]:     -- Agent/159 answered Zap/49-1
Dec 14 19:55:35 DEBUG[27923]: Set option TONE VERIFY, mode: MUTECONF/MAX(2) on Zap/49-1
Dec 14 19:55:35 DEBUG[27923]: Set channel Zap/49-1 to write format ulaw
Dec 14 19:55:35 VERBOSE[27923]:     -- Stopped music on hold on Zap/49-1
Dec 14 19:55:35 DEBUG[27923]: Scheduling timer at 0 sample intervals
Dec 14 19:55:35 DEBUG[27923]: Set channel Zap/49-1 to read format ulaw
Dec 14 19:55:35 DEBUG[27923]: Set channel Agent/159 to write format ulaw
Dec 14 19:55:35 DEBUG[27923]: Set channel Zap/49-1 to write format ulaw
Dec 14 19:55:35 DEBUG[27923]: Set channel Agent/159 to read format ulaw
Dec 14 19:55:35 DEBUG[27923]: Device 'Agent/159' changed to state '3'

By: Mark Spencer (markster) 2004-12-14 23:08:35.000-0600

This is actually not a configuration problem, but a bug introduced by a recent change.  I will try to contact Jim Dixon to find out what he was thinking / wanting to do with his patch.  Thanks!!

By: Mark Spencer (markster) 2004-12-14 23:50:59.000-0600

I have taken out jim's code and placed a comment in its place with an explanation of why it was removed.  Hopefully Jim will contact me.

By: Digium Subversion (svnbot) 2008-01-15 15:16:39.000-0600

Repository: asterisk
Revision: 4451

U   trunk/channels/chan_agent.c

------------------------------------------------------------------------
r4451 | markster | 2008-01-15 15:16:39 -0600 (Tue, 15 Jan 2008) | 2 lines

Remove broken "ackcall" fix (bug ASTERISK-2988)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=4451