To my knowledge, you’d have to use something like agent pausing instead of DND to be able to log that information - on our phones (eyebeam for the softphone, polycom 501s for the hardphone) DND is a local feature - in other words, going on DND doesn’t alert the server, it just rejects any attempt to initiate a call. So I don’t think having your reps press DND would necessarily result in anything being logged, unless you modififed app_queue to make a log entry when an agent is on DND. however, this may not give you accurate stats, as you wouldn’t necessarily know when they went on DND. perhaps this could be done with hints, i don’t know.
as for the login/logout, if you’re using agentcallbacklogin, you should have entries in the queue_log file. it’s addqueuemember and removequeuemember (the dynamic login, if you will) that have issues.
like i said before, we initially used the asteriskguru queue-stats, and even purchased the source code and ported it to mysql. however (and nothing against them - they are working on several other very cool projects) the code was pretty confusing and bloated, so i took a few sections that were useful and just rewrote the rest. it actually only took me a few days total (and i’m just a novice programmer - i do it for fun, not for a living) and has worked MUCH better for us.
anyways, if you have any questions or anything, let me know…also, if you do discover any methods to log DND time, please post - that is on my long term feature request sheet