Day/Night confusion

Hi. I’m a little confused about how to implement the Day/Night module. I have 2 Qs:

Q #1: From what I’ve been able to gather, a Day./Night control is really just a binary switch. It has 2 options – “Day” and “Night”, but really they’re just “A” and “B”, and firing the control toggles between them. Is that correct?

If it is, then I’m not sure how to use this control. Let me explain:

The how-to docs that I’ve read tell me to create a Day/Night control which points at either the normal time condition, or at the night IVR. Then, point the inbound routes at the Day/Night control instead of at the time condition. Once I’ve done that, I can use the control to toggle to the night IVR earlier than the time condition would do. So…

I’m at the office and it’s Friday and I go home early. So I dial *280 to toggle to the night IVR, and head home. Well and good.

But then what happens on Monday morning?

The time condition fires at 7am to enable the ring group, but the inbound routes aren’t pointed at the time condition, they’re pointed at the Day/Night control, and the Day/Night control is currently toggled to point at the night IVR. The time condition will fire at 7am, but it won’t do anything because it isn’t currently in the logic path.

So if I use the Day/Night control to manually enable the night IVR on Friday afternoon, do I have to remember to toggle it back again so that it’s pointed at te time condition, in time for Monday morning?

If so, then I don’t think the Day/Night control is going to help me very much, because my memory’s what I forget with these days… :slight_smile:

Or, does the Day/Night control have some sort of built-in ability to reset itself? If so, then what is that based on? So far as I can see, there’s no time awareness built into the Day/Night control.

Or am I completely missing the point, and is the Day/Night control actually much more than a binary switch?

That was Q #1. Q #2 is this: I get, more or less, how to insert a Day/Night control into the logic path between the inbound routes and the time condition. But what does it mean to “associate” a Day/Night control with a time condition? Is that just an alternate way of achieving the same result? Or does it have a different effect? Can the 2 methods be used together, or should they be exclusive?

Thanks in advance to anybody who wants to help me figure this out.



Revisited 12/29/09

Well, since there has been no response to this post, I decided to try to answer for myself. I’ll share what I learned for anybody that’s interested.

I set up a time group that didn’t match (“night” mode) for just 2 minutes, then set up a time conditon using that time group that pointed to my Night IVR when times did not match (2 minutes) and to my Day IVR the rest of the time. Then set up a day/night control which pointed to that time condition in Day mode and to the night IVR in Night mode. Finally, set up a custom application code (51) which pointed to the day/night control.

Dialed 51, day IVR answered. Dialed day/night code. Dialed 51 again, and sure enough the night IVR answered. Waited. Time condition kicked out, then 2 minutes later kicked in (back to “time matches” mode) again. Dialed 51, and the night iIVR still answered.

Well, no surprise. As noted above, the day/night control has no apparent awareness of time events, and so has no way of resetting itself.

So here’s what I’ve learned: If you’re leaving the office early and want to roll the phones to the night IVR before the time condition normally would, you can do that using a day/night control. But you HAVE to remember to turn the day/night control off again before the time condition would normally kick back to Day (time matches) mode. If you don’t, the day/night control will remain in charge, bypassing the time condition, and your system will stay in night mode.

I tried the other way too – pointed the custom application (51) at the time condition instead of the day/night control, and then used the “Associate” field in the time condition to select the day/night control. Same result. It doesn’t reset.

So the time condition is useful in that it does give you ad-hoc control, but it does it by by-passing automatic controls, not by manually advancing those controls to their next state and then leaving them in charge.



I wondered about that, too.

My understanding is that Day/Night Controls override Time Conditions. What I did not know is that once you override a Time Condition it won’t kick back in automatically.

Day/Night Control with a Time Condition

The Day/Night Control module is similar to many other modules in the system. You can create multiple day/night feature codes and each can be used as a destination from within FreePBX as well as provide two destinations of their own. The feature code itself is nothing more than a two way toggle switch. You can change it to either DAY or NIGHT and the state is toggled each time you dial the feature code.

If you start with a piece of paper and a flow chart, drawing what you need from left to right, then create the destinations, time conditions, and day/night controls from right to left, you find it much easier.

In effect, the call comes in via inbound routes, and then you pass the call from FreePBX module to FreePBX module, and at each step, a decision can be made about the call, and where to send it next until it reaches the destination.

Example of Day/Night Control Feature Code used with a Time Condition

You have an Inbound Route for your main Company DID, that points to a Time Condition set to ring your receptionist at queue 1200 during the normal business hours of 8:00am to 5:00pm Monday-Friday. After hours, it rings the After Hours IVR. You would like to provide an ability to override the Time Condition with a day/night feature code.


Create our new day/night feature code and give it index 0 (or what ever you prefer).

Give this a useful name: Receptionist Override

Set the Current Mode to the time of day that it currently is. Note that all of your Day/Night Codes will be set the same.

Provide an optional Password if you want to require password access to this feature code.

Under DAY destination, choose the Receptionist Extension.

Under NIGHT destination, choose the IVR.

Press Save

Go to the Inbound Route that was pointing to the Time Condition and change it to point to your newly created Receptionist Override Day Night mode destination.

Now you can dial *280, optionally entering a password if configured, and change between the Day mode, where the call continues to be controlled by the Time Condition, or the Night mode, where the call is routed around the Time Condition to the normal After Hours IVR.

Accessing the Day/Night Control from Outside

To enable/disable the feature code from an outside line, use the Misc


Go to the Misc Destinations Module

Type in a meaningful description: Receptionist Override

In the Dial Box type: *280

Now use this Misc Destination as a destination for an Inbound Route, IVR selection, or other means.

NOTE: Day/Night Controls override Time Conditions.

NOTE: There are plenty of other ways you can use the day/night feature code and there is no need to do it in conjunction with a Time Condition. It is simply a module that can be chosen as a destination by other modules and provides a two way toggle switch to continue the call routing to either its Day or Night destinations.

See also: