A method for distributing calls includes receiving a plurality of calls
each for connection with one of a plurality of agents and storing each of
the plurality of calls in a queue. The method includes monitoring the
time that each of the plurality of calls has spent in the queue and
determining that a first agent is available to receive a call. The method
also includes determining, for a first call that has spent the most time
in the queue, a first amount of time that the first call has spent in the
queue and determining whether the first amount of time has exceeded a
service level time. The method includes, if the first amount of time has
not exceeded the service level time, distributing the first call to the
first agent.