Hi,
Thanks for your comments. The fact of the matter is that BACnet4J was born out of a need for an operator-side protocol implementation. This is why to date there is device-side functionality that is not implemented. OutOfService remains undone only because no one has yet ask for it - until now.
When time permits i can take a look at it, but having something for tomorrow is unlikely. If you end up doing it yourself and want to contribute the code back, it would be welcome.