I think it may be possible to apply different configuration schemes on the OBi using the OBi Device Provisioning. It may be more trouble than it's worth, but if you really want it, it may be doable this way. Here is an idea without going into specifics. Some one with coding skills could easily come up with a much more efficient way of doing this.
As per guide:
"Initial configuration of OBi devices may be done by through local or remote provisioning or by modifying individual parameters via the device web management interface"
The OBi Device Provisioning Guide goes on to mention the specifics. There is a script command "WAIT" which probably can be used to cycle between configurations. User Defined Marcos can be used to store snippets of code which can be repeated easily. It seems the tools are all there for the taking.
The easiest way that I can think of for a non programmer such as my self would be to make a backup with the different configurations that I would like to have eg: Call forward, Do not disturb, etc...
Each backup configuration could be pushed into the OBi using TFTP using DOS (
http://stuff.mit.edu/afs/athena/astaff/project/lwpdocs/iii09.txt) and Windows Tash Scheduler or a Linux Cron job. Or it could be pulled into the OBi using the built in scripts via the ConfigURL. Either way the OBi is still relying on an external server. A work around for not maintaining your own external server would be to set this up on a "free" Google App Engine (
https://developers.google.com/appengine/).Side note:
The same method could be used to support a remote OBi, if the ConfigURL is pointing to your tftp or http server since your are basically becoming the ITSP Provisioning service.
If only Obi support could give us a little snippet of code to give us a head start on setting a timer on some of the features. (Or even better introduce it directly in the firmware).