CUCM Time Periods And Time Schedules

In this post I give sample scenarios of configuring the following concepts: CUCM time periods and time schedules.

For simplicity of use, I’ll refer to Time Periods as TimeP, and Time Schedules as Time Sched

Use Case #1: the basic use of CUCM Time Periods and Time Schedules

We will use as example a phone that wants to call an international destination. We create a Time Period:

time-period-time-schedule-time-based-call-routing-2016-05-17 20_37_03

We define the following values:

  • Time of Day Start
  • Time of Day End
  • Repeat Every

Let’s assume it’s a company of hard working men that work until 9pm, from Monday to Friday:

time-period-time-schedule-time-based-call-routing-2016-05-17 20_36_03

We create the Time Schedule: Call Routing -> Class of Control -> Time Schedule

time-period-time-schedule-time-based-call-routing-2016-05-17 20_36_54

From the list of configured Time Periods, we assign the necessary Time Periods to the Time Schedule

time-period-time-schedule-time-based-call-routing-2016-05-17 20_37_26

We create a time-dependant partition, i.e. a partition whose existence in the world of partitions depends on what time it is:

time-period-time-schedule-time-based-call-routing-2016-05-17 20_37_53

We assign to it the Time Schedule we’ve just configured.

time-period-time-schedule-time-based-call-routing-2016-05-17 20_38_13

And we assign a Route Pattern to this partition. We will choose as example the pattern for international calls.

To explain what will happen: a calling party device dials a number. If the call occurs during a time interval that matches the configured Time Schedule, then the partition set with the Time Schedule appears in the list of partitions of the line/device CSS of the calling party.

If the called party number matches a route pattern in this time-based partition, (and if the route pattern is set to route calls), then the call is extended.

If the call occurs during a time interval that does not match the configured Time Schedule, then the partition set with the Time Schedule disappears from the list of partitions of the line/device CSS of the calling party. And if the called party number does not match any route pattern, the call can not be established.

Here is a test to an international call:

time-period-time-schedule-time-based-call-routing-2016-05-17 20_38_58

The call succeeds because we are calling within the office hours, which are from 8am to 9pm. Remember this is a hard-working company.

time-period-time-schedule-time-based-call-routing-2016-05-17 20_39_13

Now, back to a regular 8 to 5 company. We change range in the Time Period.

time-period-time-schedule-time-based-call-routing-2016-05-17 20_39_56

If he dials the international number out of office hours, the call is dropped.

time-period-time-schedule-time-based-call-routing-2016-05-17 20_40_13

Use Case #2: Advanced setup of CUCM Time Periods and Time Schedules

In this scenario we want to make a pattern reachable during working hours and explicitly block the same pattern after working hours and in weekend hours

The result of this use case is similar to the first one, which is to prevent a call from happening during a specific interval of time. However, instead of silently not being able to make a call, in this use case the call is explicitly blocked.

  • create time periods:
    • create a Time Period that correspond to working hours (TimeP), and
    • create Time Periods that correspond to after-hours and weekend hours (TimeP1)

time-period-time-schedule-time-based-call-routing-2016-06-08 15_52_14

  • create Time Schedules
    • create TimeSched that corresponds to working hours, and
    • create TimeSched1 that corresponds to after-hours, weekends and holidays

time-period-time-schedule-time-based-call-routing-2016-06-08 15_53_23

  • assign time periods to time schedules
    • Assign TimeP to TimeSched,
    • assign TimeP1 to TimeSched1

time-period-time-schedule-time-based-call-routing-2016-06-08 15_58_40 time-period-time-schedule-time-based-call-routing-2016-06-08 15_58_22

  • we are testing the functionality for international calls. So we will assign two time schedules to two partitions; assign TimeSched to PT, and TimeSched1 to PT1

time-period-time-schedule-time-based-call-routing-2016-06-08 16_03_16

  • Starting from a route pattern RP, create a copy of it. I’ll name it RP1

time-period-time-schedule-time-based-call-routing-2016-06-08 16_08_14

  • Configure route pattern RP1 in “blocking” mode

time-period-time-schedule-time-based-call-routing-2016-06-08 16_09_46

  • Assign RP to PT and RP1 to PT1

time-period-time-schedule-time-based-call-routing-2016-06-08 16_10_46

  • Assign both PT and PT1 to the same CSS, that I’ll name CSSx. CSSx contains now the time-based partitions. The calling party device will be configured with CSSx.

time-period-time-schedule-time-based-call-routing-2016-06-08 16_13_00

time-period-time-schedule-time-based-call-routing-2016-06-08 16_13_31

Here is what happens when the calling party device, configured with CSSx, makes a call:

  • if the call comes during a time within TimeP in TimeSched, then it will match the route pattern RP in the time-based partition PT. And it will be expanded correctly.

time-period-time-schedule-time-based-call-routing-2016-06-08 17_09_45

  • if the call comes during a time within Time Period TimeP1 in TimeSched1, then it will match the route pattern RP1 in the time-based partition PT1; it does not match RP because time-based partitions appear and disappear with time and PT disappears in this timeframe) and it is explicitly blocked.

time-period-time-schedule-time-based-call-routing-2016-06-08 16_55_41

Use case 3: we want to make a pattern reachable in working hours and restrict it to Maintenance team after working hours, by the use of FAC.

  • create Time Periods that correspond to working hours

time-period-time-schedule-time-based-call-routing-2016-06-08 17_20_33

  • create Time Periods that correspond to the maintenance window

time-period-time-schedule-time-based-call-routing-2016-06-08 17_21_04 time-period-time-schedule-time-based-call-routing-2016-06-08 17_21_15

  • create TimeSched and TimeSched1 that contain respectively the working hours time period and the maintenance window time period

time-period-time-schedule-time-based-call-routing-2016-06-08 17_23_51

time-period-time-schedule-time-based-call-routing-2016-06-08 17_23_58

  • Assign TimeSched to PT (the partition that will only be visible in normal working hours)

time-period-time-schedule-time-based-call-routing-2016-06-08 17_24_33

  • Assign TimeSched1 to PT1 (the partition that will only be visible in maintenance hours)

time-period-time-schedule-time-based-call-routing-2016-06-08 17_24_42

  • Create a duplicate RP (we’ll call it RP1);assign RP to PT and RP1 to PT1

time-period-time-schedule-time-based-call-routing-2016-06-08 17_26_29

  • Assign both PT and PT1 to the same CSS that I’ll name CSSy. Now we have a CSS that contains two time-based partitions: one that is visible only in working hours; the other is only visible in maintenance time.

time-period-time-schedule-time-based-call-routing-2016-06-08 17_28_11

  • Create a FAC with level 3
  • In RP1, configure authorization level of 3
  • → in normal time, users are able to dial the pattern, because the only available partition that contains the pattern is PT. However, in maintenance time, PT disappears and PT1 appears. The pattern will then be reachable only in PT1. And since the pattern is configure with a FAC, then you need to enter the correct FAC to expand the call.

Use case 4: Block on holidays and weekends, otherwise let calls happen

  • Create Time Periods related to holidays and weekends

time-period-time-schedule-time-based-call-routing-2016-06-10 16_33_05

  • associate these Time Periods to a TimeSched

time-period-time-schedule-time-based-call-routing-2016-06-10 16_35_47

  • associate the TimeSched  to a partition PT

time-period-time-schedule-time-based-call-routing-2016-06-10 16_37_58

  • Create a RP that corresponds to the pattern to be blocked in holidays and weekends. Configure RP in blocking mode; Put RP in the PT

time-period-time-schedule-time-based-call-routing-2016-06-10 16_38_49

  • Put the PT in the calling party’s CSS; the time-based partition containing the blocking pattern must be put before the equivalent partition containing the permitted pattern

time-period-time-schedule-time-based-call-routing-2016-06-10 16_42_18

time-period-time-schedule-time-based-call-routing-2016-06-10 16_45_04

When I dial a long-distance number from the phone, the call is abandoned silently. However, if I dial a pattern that corresponds not to a national pattern, everything is fine.

time-period-time-schedule-time-based-call-routing-2016-06-10 16_55_43

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *