Daniel Johnson
2008-Nov-13 07:57 UTC
[asterisk-users] Parking help - causing Asterisk crash
Hi, I am having some trouble with parked calls timing out. In features.conf: [general] parkext => 800 ; What extension to dial to park parkpos => 801-820 ; What extensions to park calls on context=parkedcalls parkingtime=120 After the Park timesout it calls the phone that the call was parked from. If the phone is BUSY the call just get dropped. (Call waiting is off for other reason) What I would like is control over the call if it does not get answered from the redial. I have added a [park-dial] context in extentions.conf I am not sure how to gain control over the call however. After the call back to the phone that parked it, it reaches the hangup extension. I can take control of it with the _. match however I don't think that is the correct way. Is it? Also if I do take control this way. Asterisk crashes in some cases. It crashes when the channel has a <ZOMBIE> at the end of it. I am not sure what this is. I take it that the parked person got sick of waiting and hung up???? [park-dial] ; The parked call rings the person that parked the call first! Then comes here ;exten => _.,1,NoOp(Park Timeout - ${CALLERID(num)}) ;exten => _.,n,Set(CALLERID(name)=Park Timeout) ;exten => _.,n,SIPAddHeader(Alert-Info: Classic-2) ;exten => _.,n,Dial(SIP/500,30) ;exten => _.,n,Dial(SIP/518,30) ;exten => _.,n,Dial(SIP/504,30) ;exten => _.,n,Queue(queue-reception) exten => _SIP/5XX,101,NoOp(101) exten => _SIP/5XX,201,NoOp(201) exten => _SIP/5XX,n,Dial(SIP/550,30)) exten => t,1,NoOp(Park Timeout - ${CALLERID(num)}) exten => h,1,NoOp(Park Hangup - ${CALLERID(num)}) exten => h,n,Hangup Here is a CLI dump of what happens with the above. -- Added extension 'SIP/511' priority 1 to park-dial == Timeout for SIP/551-b6d409d8 parked on 801. Returning to park-dial,SIP/511,1 -- Executing [SIP/511 at park-dial:1] Dial("SIP/551-b6d409d8", "SIP/511|30|t") in new stack -- Called 511 -- SIP/511-08257b08 is ringing -- Nobody picked up in 30000 ms == Auto fallthrough, channel 'SIP/551-b6d409d8' status is 'NOANSWER' -- Executing [h at park-dial:1] NoOp("SIP/551-b6d409d8", "Park Hangup - 551") in new stack -- Executing [h at park-dial:2] Hangup("SIP/551-b6d409d8", "") in new stack == Spawn extension (park-dial, h, 2) exited non-zero on 'SIP/551-b6d409d8' Here is CLI dump of ZOMBIE with the _. code in h. [Nov 13 15:48:03] VERBOSE[11694] logger.c: == Timeout for Zap/5-1 parked on 801. Returning to park-dial,SIP/512,1 [Nov 13 15:48:03] VERBOSE[14454] logger.c: -- Executing [SIP/512 at park-dial:1] Dial("Zap/5-1", "SIP/512|30|t") in new stack [Nov 13 15:48:03] VERBOSE[14454] logger.c: -- Called 512 [Nov 13 15:48:03] VERBOSE[14454] logger.c: -- SIP/512-0838fa50 is ringing [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Nobody picked up in 30000 ms [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Executing [SIP/512 at park-dial:2] Set("Zap/5-1", "CALLERID(name)=Park Timeout") in new stack [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Executing [SIP/512 at park-dial:3] SIPAddHeader("Zap/5-1", "Alert-Info: Classic-2") in new stack [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Executing [SIP/512 at park-dial:4] Dial("Zap/5-1", "SIP/500|30") in new stack [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Called 500 [Nov 13 15:48:35] VERBOSE[11695] logger.c: -- Got SIP response 486 "Busy Here" back from 192.168.0.55 [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- SIP/500-08375678 is busy [Nov 13 15:48:35] VERBOSE[14454] logger.c: == Everyone is busy/congested at this time (1:1/0/0) [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Executing [SIP/512 at park-dial:5] Dial("Zap/5-1", "SIP/518|30") in new stack [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- Called 518 [Nov 13 15:48:35] VERBOSE[14454] logger.c: -- SIP/518-08352748 is ringing [Nov 13 15:48:37] VERBOSE[14454] logger.c: -- SIP/518-08352748 answered Zap/5-1 [Nov 13 15:49:01] VERBOSE[14454] logger.c: -- Started music on hold, class 'default', on Zap/5-1 [Nov 13 15:49:05] VERBOSE[14455] logger.c: -- Executing [800 at from-internal:1] Park("SIP/518-b6f98fd0", "") in new stack [Nov 13 15:49:06] VERBOSE[14455] logger.c: == Parked SIP/518-b6f98fd0 on 801 at parkedcalls. Will timeout back to extension [from-internal] s, 1 in 120 seconds [Nov 13 15:49:06] VERBOSE[14455] logger.c: -- <SIP/518-b6f98fd0> Playing 'digits/8' (language 'au') [Nov 13 15:49:09] VERBOSE[14454] logger.c: == Spawn extension (park-dial, SIP/512, 5) exited non-zero on 'SIP/518-b6f98fd0<ZOMBIE>' [Nov 13 15:49:09] VERBOSE[14454] logger.c: -- Executing [h at park-dial:1] NoOp("SIP/518-b6f98fd0<ZOMBIE>", "Park Timeout - 518") in new stack [Nov 13 15:49:09] VERBOSE[14454] logger.c: -- Executing [h at park-dial:2] Set("SIP/518-b6f98fd0<ZOMBIE>", "CALLERID(name)=Park Timeout") in new stack [Nov 13 15:49:09] VERBOSE[14454] logger.c: -- Executing [h at park-dial:3] SIPAddHeader("SIP/518-b6f98fd0<ZOMBIE>", "Alert-Info: Classic-2") in new stack [Nov 13 15:49:09] VERBOSE[14454] logger.c: -- Executing [h at park-dial:4] Dial("SIP/518-b6f98fd0<ZOMBIE>", "SIP/500|30") in new stack ***CRASH*** Can someone point me in the right direction? How should parked calls be implemented if this is wrong? Regards -- *Daniel Johnson* Systems Administrator / Systems Development Scanning Systems Australia Scanning Systems Australia *Office:* +61 7 3387 5555 *Facsimile:* +61 7 3387 5588 *E-mail:* dan.j at scanningsystems.com.au <mailto:dan.j at scanningsystems.com.au> *Website:* http://www.scanningsystems.com.au -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20081113/18bb3440/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: ssa-logo.jpg Type: image/jpeg Size: 5930 bytes Desc: not available Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20081113/18bb3440/attachment.jpg
Daniel Johnson wrote:> > > [park-dial] > >My park-dial is simply a 'goto' to a different part of my dial plan, in this case, the part that handles incoming calls to the operator: [park-dial] exten => t,1,goto(office-hours,s,6)> == Auto fallthrough, channel 'SIP/551-b6d409d8' status is 'NOANSWER' > -- Executing [h at park-dial:1] NoOp("SIP/551-b6d409d8", "Park Hangup > - 551") in new stack > -- Executing [h at park-dial:2] Hangup("SIP/551-b6d409d8", "") in new > stack >I have Auto Fallthrough turned off. Doug -- Ben Franklin quote: "Those who would give up Essential Liberty to purchase a little Temporary Safety, deserve neither Liberty nor Safety."