FIFO not working on Queue

Hi my queue is not working on FIFO basis, the last caller gets connected first and the first caller is made to wait.
Please help me set it up.

[8000]
announce-frequency=15
announce-holdtime=no
autofill=no
eventmemberstatus=no
eventwhencalled=no
joinempty=strict
leavewhenempty=no
maxlen=0
monitor-type=mixmonitor
monitor-format=wav
periodic-announce-frequency=0
queue-callswaiting=queue-callswaiting
queue-thankyou=queue-thankyou
queue-thereare=queue-thereare
queue-youarenext=queue-youarenext
retry=2
strategy=leastrecent
timeout=10
weight=5
wrapuptime=0
member=Local/801@from-internal/n,0
member=Local/802@from-internal/n,0
member=Local/803@from-internal/n,0
member=Local/804@from-internal/n,0

sometimes or all the time? it is possible when using “leastrecent” for calls to be taken out of order especially if the agents are not well behaved. Simple example;

Agent A is least recent and therefore #1 to get calls.
Agent B is next least recent.

Call #1 comes in and is routed to agent A… but agent A is getting a cup of coffee and does not pick up
Call #2 comes in while #1 is ringing A … it goes to Agent B and is picked up

Calls just got pickup out of order. Calls can also be passed in the queue if they are “occupied” with an announcement telling them their call position etc.

If you get a call center with 100 agents and 5 are like agent A above, you will see complete chaos in the queue sequencing of calls.