There’s a thread here that I’m going to pull and let’s see if it helps.
All external calls, as well as local and intercom calls, go first to the PBX and then the extension (or VM, or whatever) is bridged into the existing call and the two end are connected. That’s the back-to-back part.
So, given that, there are several scenarios that you need help with:
- Incoming direct call to a teacher’s extension. There’s really no such thing - the inbound call goes to the PBX and the PBX calls the teacher’s extension. In this case, you can run the inbound call through a time condition and route it to voicemail instead of the extension. That one’s easy by routing the Inbound Route to a Time Condifion and going to town from there.
- Intercom/internal calls. Once again, these are extension to PBX which dials out to the other extension. Since they aren’t coming in on the Inbound Route, you should be good to go.
- Calls get answered by an IVR with direct dial. The direct dial here is a local (internal) call. You’ve already gotten past the Time Condition, so you have to come up with another way. Do Not Disturb on the phone is a non-starter (internal calls won’t work), so you have to come up with another approach.
I’d probably start my research with checking out the option for direct dialing through the directory. That way, if they get to the IVR, they can only dial extensions that allow for interruption (lunch room, janitor, office, etc.). Make that your “day time” IVR.
Set up a second IVR that allows for direct dial to any extension and turn that one on at 3:00. Seems like a lot of extra work, though.
As far as I know, there’s no ‘extension level’ logic that can help you, at least not yet. You could right a context that looks at the CID of the call and send it to the phone if the call originated locally and VM is it’s external. Make that your ‘from-internal’ and route the calls based on time and source.
There might be a couple commercial modules that might allow for something like this, but I just can’t think of an easy way to do this without code.