Callback function and position announcement

Is there any way to combine the queue callback implementation at http://www.voip-info.org/wiki/view/Asterisk+Queue+Callback with a correct periodic position announcement?

Just enabling the position announcement would give a wrong position to the customer if anyone has used the callback option and hung up. But the correct position is only one db-query away… is there any way I can “override” the function for calculating this position?

I would assume the announce-holdtime also gives a too short holdtime in this scenario.

Any ideas?