We're using the samples at http://ucwa.lync.com/ and logging into our own topology.
After about 5 minutes, the logged in user goes "away" (availability is changed to "IdleOnline"). Once this happens, I am no longer able to push new presence states, such as "Online" to the server for the user. Busy" becomes "IdleBusy" while "DoNotDisturb", "BeRightBack" and "Away" all reflect the pushed status, but sending an "Online" returns to "IdleOnline". After an additional 5 minutes, the availability changes to "Away", and at this point it is no longer possible to push new status updated to that user.
Changing notes still works fine.
To reset the locked "IdleOnline" state, I have to log the user off, and re-authenticate him.
(Note: this happens if the user doesn't have a Lync client keeping them alive)
Is there any other way to "reinitialize/poke" the user to return the presence state to Online, without having to restart the authentication process, or briefly authenticate the user on a separate process, which also returns to an active state for the one that was marked as "Away".