Request Terminated

Hi, this problem is driving me crazy, I have an asterisk setup with 10 trunks all of them are sip trunks, the problem is that from 200 calls that I receive in an hour for 100 of the calls i get 100 calls with the status code 487 Request Terminated by the asterisk,
this is the callflow
Asterisk -----------------------Invite---------->extension
Asterisk<--------487 Request Terminated-----extension

This calls goes to a Q, the Q set the callers to an onhold stat if the agents are busy and as soon as one agent change to idle it sends the call, I know that some callers ends the call, but when that happens I get a message in the debugging console saying “User disconnected from queue xxxx when they almost made it” we are losing near the 50% of the calls, and I don’t know what does the problem can be, if some body can help me please!!!