A Queue extension may be set to handle incoming calls in a particular way. This page describes the call distribution methods available in VoipNow.

### Ring all

In this case, the queue distributes the call to agents taking into consideration their penalty level.

 So when the call is received, VoipNow first applies the distribution algorithm to the set of agents with Penalty = 1. If no available agent is found, VoipNow applies the algorithm to the agents with Penalty = 2 and so on. Fewer calls will be assigned to agents with high penalty values.

### Least recently called

The call is transferred to the operator with the longest waiting time interval from the previous call.

### Fewest calls

The call is transferred to the operator who has answered the fewest calls. This method does not take into account the actual agent workloads; it ignores the time the agents spent on each call.

 If Agent1 has had 3 calls each lasting for 10 minutes and Agent2 has had 5 calls each lasting 2 minutes, VoipNow will assign a new call to Agent1.

### Random with member penalty

The call is transferred to a randomly selected operator chosen from those with the smallest penalty level. If none is available, the algorithm will select an agent from those with the next penalty level and so on.

 Let's assume you have a queue managed by 4 agents. Agent1 and Agent3 have the smallest penalty level, while Agent2 and Agent4 have a bigger penalty level. The first time a call is received, VoipNow searches for the group with the smallest penalty level and tries to randomly assign the call either to Agent1 or to Agent3. If none is available, the algorithm will search for the next penalty level and it will try to transfer the call to Agent2 or to Agent4.

### Random

The call is transferred to a random agent, taking into consideration the agent's penalty level when computing the Random algorithm.

 This way, an agent with penalty 0 will have a metric somewhere between 0 and 1,000, an agent with penalty 1 will have a metric between 0 and 2,000, an agent with penalty 2 will have a metric between 0 and 3,000 and so on.The difference between this strategy and the Random with member penalty algorithm is that the calls are not distributed based on penalty levels.

### Round robin with memory

This method sequentially searches for available agents and uses the order of the agents list. Each time it tries to assign a call, it remembers the position of the agent that answered the call, answered. Next time a waiting call arrives, the search begins with the agent in position answered+1.

 Let's assume you have a queue served by 3 agents. The first time a call is received, VoipNow searches for the first available operator in the order Agent1, Agent2, Agent3. Assuming Agent2 is available and answers the call, when the second call arrives, VoipNow starts searching with Agent3 and uses the order Agent3, Agent1, Agent2.

### Ring members in the adding order

The call is transferred to the agents following the order they have logged in to the queue.

 Let's assume you have a queue managed by 3 agents. Agent2 logged in first, Agent3 second and Agent1 third. When a call is received, VoipNow searches for the first available operator using the login order: Agent2, Agent3, Agent1. If Agent2 is available, the call is transferred to them. If not, it will be transferred to Agent3. If Agent 3 is not available either, the call will be redirected to Agent1.