private void updateRingingAgents ( String channelCalling , AsteriskAgentImpl agent ) { synchronized ( ringingAgents ) { if ( ringingAgents . containsKey ( channelCalling ) ) { updateAgentState ( ringingAgents . get ( channelCalling ) , AgentState . AGENT_IDLE ) ; } ringingAgents . put ( channelCalling , agent ) ; } }
Updates state of agent if the call in a queue was redirect to the next agent because the ringed agent doesn t answer the call . After reset state put the next agent in charge .