I think this is - again - a problem of a "missing" step in the call flow of FreePBX.
As discribed in my thread Redirect calls if member of ring group is busy - there needs to be an option to route calls depending upon the device/extension state of an extension/ring group/queue/etc.
I still can't imagin, this would be hard to implement.
For mrapoc here this would do it:
incoming call ------> check if device/extension/ring group is busy --->
---> yes: go to queue ---> exit after timeout
---> no: dial extension/ring group/etc
That would solve my problem too
Maybe there is some expert out there, who has an idea of getting that set up within FreePBX.