I've been running into an issue where chan_agent gets stuck and all queues
stop working. Here's a show channels from when it's stuck:
Channel Location State Application(Data)
SIP/56-be24 s@macro-stdexten:10 Ring Dial(Agent/19|50|tw)
Local/*14@agentlogin *14@agentloginoff:1 Up AgentCallbackLogin()
Local/*14@agentlogin *14@agentloginoff:1 Up AgentCallbackLogin()
Local/*13@agentlogin *13@agentloginoff:1 Up AgentCallbackLogin(||53@agent-
SIP/53-31d3 *11@daa-office:1 Up (None)
Local/*13@agentlogin *13@agentloginoff:1 Up AgentCallbackLogin(||56@agent-
SIP/56-57e7 *11@daa-office:1 Up (None)
SIP/32-e2a4 s@macro-stdexten:10 Ring Dial(Agent/56|50|tw)
Agent/53 s@agent-phones:1 Down (None)
Local/53@agent-phone 53@agent-phones:1 Ring (None)
Local/53@agent-phone s@agent-phones:1 Down (None)
SIP/29-b114 s@macro-stdexten:10 Ring Dial(Agent/53|50|tw)
The only way I can get it working again is a killall -9 asterisk. strace
shows asterisk waiting on a poll(. Does anyone have any tips on how I can
debug this further? I'm running Asterisk SVN-branch-1.2-r9326M (1.2.1), with
debian patches from http://rapid.dotsrc.org/experimental/
For reference, my agent login/off dialplan looks like this:
[agentloginoff]
exten => *13,1,AgentCallbackLogin(||${CALLERIDNUM}@agent-phones)
exten => *14,1,AgentCallbackLogin()
exten => *11,1,Dial(Local/*13@agentloginoff,,D(${CALLERIDNUM}#))
exten => *12,1,Dial(Local/*14@agentloginoff,,D(${CALLERIDNUM}##))
--
James Andrewartha
Systems Administrator
Data Analysis Australia Pty Ltd