Problem with call status in queue

Hi, I have problem with call status of extensions that are in the queue.
Configuration is little complex so let me explain it.

In Queue (number4001) are three static agents: 800, 801, 802.
Each agents has CFU set to call number 5588, where executes macro ( code of macro posted at the bottom os this post).
All incoming call are directed directly do agent, not to queue.
( all agnets of queue have defined inbound routes from PSTN to them)
After 5 sec of ringing, CFU occurs and macro executes 2 things:

first --> paused agents of queue that CFU has occured,
second --> redirect call again to queue.

When all agents are paused, incoming call is directed to failover destination.

So it looks that: Incoming call -->call agent 800–> After 5 sec CFU to 5588–>Macro paused agent 800 in queue and direct call again to Queue --> doing the same to rest agents of queue untill all agents have been paused --> go to failover destination

When I chceck CDR Reports extension of agents that CFU occures and have been paused, have satus ANSWERED. My question is have to make that status NO ANSWERED ( because agent don’t answered call, and paused in queue)?

Code of macro:

exten => 5588,n,NoOp(${EXTEN})
exten => 5588,n,NoOp(${EXTTOCALL})

exten => 5588,n,NoOp(${BLKVM_OVERRIDE})

exten => 5588,n,NoOp(${CALLERID(number)})
exten => 5588,n,Set(CDR(userfield)=NO ANSWER)

exten => 5588,n,Macro(user-callerid,SKIPTTL,)
exten => 5588,n,Set(CALLBACKNUM=${AMPUSER})
exten => 5588,n,PauseQueueMember(,"Local/${EXTTOCALL}@from-queue/n")
exten => 5588,n,UserEvent(RefreshQueue)

exten => 5588,n,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 5588,n,Set(__NODEST=)
exten => 5588,n,Set(CDR(disposition)=NO ANSWER)
exten => 5588,n,Set(DIALSTATUS=BUSY)
exten => 5588,n,Goto(ext-queues,4001,1)

Settings of Queue:
Max wait time: Unlimited
Leave When Empty: YES
Ring stategy: random
Agent timeout: 8sec
Retry: 1sec
Skip Busy Agents: YES

Thanks in advanced.

As you are trying to do something complex, you should use call event logging, instead. CDRs are not designed for complex cases. Judicious use of ResetCDR may allow you to remove the answered status.