Time of Day routing allows for calls to be treated differently based on the time of day and day of week. This allows for things like automatically rerouting calls to a different destination when the company is closed, not allowing PSTN calls after hours, or requiring a Forced Authorization Code outside of business hours. Another real-world example I have worked with is patient rooms in hospitals, which should not receive outside calls at night.
CUCM uses the standard Partitions and Calling Search Spaces, with the addition of a Time Schedule that specifies when the Partitions will be active, to perform time of day routing. Outside the time schedule, the partition is effectively invisible to call routing. Appropriate ordering of in a CSS allows the calls to be routed to an alternate number when the partition is not available.
An important consideration in designing the Partitions and CSSs is whether you want calls to be able to route to the phone off hours at all. For instance, with the patient room example, should internal numbers be able to call the rooms, and only outside calls be blocked? We will look at two examples, one that allows for some calls to go through, one that does not.
The first example sends calls to an operator phone during the day, forwarding it to an auto attendant at night. The attendant phone’s DN will be placed in a partition that is only active during the day. Another partition will contain a CTI Route point with a DN forwarded to voicemail. This is required so that forwarding information is passed to Unity Connection.
Configuring Time of Day routing begins with the creation of two partitions, one for on-hours and one for the off-hours.
Time schedules are composed of Time Periods. Time periods are created by defining a start and end time, and day range. If you need to define time overnight, it requires two time periods. For instance, to define 5:00 PM to 8:00 AM, you would define a time period of Midnight to 8:00 AM, and another time period from 5:00 PM to midnight.
For this example, you also need to create a time schedule for on-hours, and assign it to the on-hours partition, then add the partitions to the Calling Search Spaces that need to be able to call the number, with the on-hours partition listed first.
Once the Partitions, Time Schedules, and Calling Search Spaces are in place, add the DN on the attendant phone in the on-hours partition, and the DN forwarded to voicemail in the off-hours partition.
With this configuration, the phone would not be able to be called off hours in any case, since the DN is not active at night.
The second example will allow calls from specific phones. A number of phones will be forwarded to an operator after hours, but the operator needs to be able to transfer calls to the rooms if it is deemed necessary.
In this instance, the physical phone DNs will be in a partition with no schedule assigned, so that they will be available for the operator phones, and there will be a partition that has patterns that reroute the numbers off hours.
Since the DNs that need to be blocked will always exist in the Calling Search Space, patterns need to be created that match each of the blocked DNs exactly, and appear earlier in the CSS. Depending on the requirements, these could either be DNs assigned to a CTI Route Point, Translation Patterns, or Route Patterns.
Create the Partitions, Schedule and Calling Search Spaces as in the previous example, except the time controlled Partition is the off-hours Partition. Then create Translation Patterns in the off-hours Partition that translate the room numbers to the operator number. As in the previous example, the time controlled partition needs to be listed first. To allow the operators to call the numbers off-hours, a custom CSS is assigned to their phones that does not include the off-hours Partition. With this configuration, the translation patterns will never be available to the operator phones, and the operators can call the phones at any time.
Another option for this would be to create a translation pattern, like ##.XXXX, that has a custom CSS without the time controlled partition. The operator can then transfer calls to ##<DN> off hours, and the translation pattern would strip the ## and be able to connect to the phones. This has the advantage of preventing the operator from transferring a call off hours without realizing it is outside of normal hours, and could be configured to allow any phone to transfer to the DNs without special configuration.
Controlling outbound calling
If you want to require Forced Authorization Codes after hours, you would create 2 sets of partitions, one with route patterns requiring FACs, and one without, then use time of day controls to only force the FACs outside of business hours. I would list the ones without FACs first, and apply the ToD controls to them, because the schedules are easier.
Time of day routing is pretty simple, but can be tedious when a large number of CSSs need to be modified. I wish Cisco would allow CSSs to be nested, which could help solve this problem. For instance, a CSS called “Time of Day Routes” could be created, added to all the CSSs that need to be able to call internal numbers with Time of Day control, then the partitions only need to be added to the Time of Day Routes CSS.