Sorry for the crosspost (this was also posted to asterisk-at-uc-dot-org) but I haven't got a response. I have a cell phone added to a queue as a local extension (member => Local/299). I want the cell phone to be able to reject calls to the queue without the person sitting in the queue being hung up on, etc. The way my dialplan is set up, the person hits 1 to answer the call and any other key to reject it. It works flawlessly in that regard. If it goes to the cell phone voicemail, it works great too, it times out and rejects the call, all without the caller knowing. Where it breaks is when the person answers the cell phone and then hangs up without any input or letting it time out. The music on hold is stopped and the caller is left there with dead air. Does anyone have any ideas on how to fix this or a better way to implement this? Output when the call is dropped: -- Channel 0/3, span 1 got hangup request -- User disconnected -- Stopped music on hold on Local/299@default-d64b,2 Nov 13 16:21:26 WARNING[12709]: res_features.c:1374 ast_bridge_call: Bridge failed on channels Local/299@default-d64b,2 and Zap/3-1 -- Hungup 'Zap/3-1' -- Local/299@default-d64b,1 answered SIP/7960A-Gary1-63f2 -- Stopped music on hold on SIP/7960A-Gary1-63f2 Dialplan: exten => 299,1,Wait(0.2) exten => 299,n,Dial(Zap/3/${CELLNUMBER}|60|gmM(screen^${SCREEN_FILE})) [macro-screen] exten => s,1,Wait(0.2) exten => s,n,Answer exten => s,n,Read(ACCEPT|${ARG1}|1) exten => s,n,GotoIf($[${ACCEPT} = 1 ] ?yes:no) exten => s,n(no),SetVar(MACRO_RESULT=CONTINUE) Regards, Gary
You need to modify app_queue.c to hold off on bridging until the receiving party has accepted the call. If the receiving party rejects (hangup, digit other than '1', timeout, etc), leave or put the calling party back in at close to the same level. Justin ---------------------------------------------------------------------- Date: Tue, 14 Nov 2006 10:14:04 -0500 From: "Gary T. Giesen" <giesen@snickers.org> Subject: [asterisk-users] Broken Call Screening ... I have a cell phone added to a queue as a local extension (member => Local/299). I want the cell phone to be able to reject calls to the queue without the person sitting in the queue being hung up on, etc. The way my dialplan is set up, the person hits 1 to answer the call and any other key to reject it. It works flawlessly in that regard. If it goes to the cell phone voicemail, it works great too, it times out and rejects the call, all without the caller knowing. Where it breaks is when the person answers the cell phone and then hangs up without any input or letting it time out. The music on hold is stopped and the caller is left there with dead air. Does anyone have any ideas on how to fix this or a better way to implement this? Output when the call is dropped: -- Channel 0/3, span 1 got hangup request -- User disconnected -- Stopped music on hold on Local/299@default-d64b,2 Nov 13 16:21:26 WARNING[12709]: res_features.c:1374 ast_bridge_call: Bridge failed on channels Local/299@default-d64b,2 and Zap/3-1 -- Hungup 'Zap/3-1' -- Local/299@default-d64b,1 answered SIP/7960A-Gary1-63f2 -- Stopped music on hold on SIP/7960A-Gary1-63f2 ... Regards, Gary -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20061114/3350ce36/attachment.htm