[asterisk-users] Broken Call Screening

Gary T. Giesen giesen at snickers.org
Tue Nov 14 08:14:04 MST 2006


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 at default-d64b,2
Nov 13 16:21:26 WARNING[12709]: res_features.c:1374 ast_bridge_call:
Bridge failed on channels Local/299 at default-d64b,2 and Zap/3-1
   -- Hungup 'Zap/3-1'
   -- Local/299 at 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


More information about the asterisk-users mailing list