Skip to main content

Using the set Day / Night mode script

Posted by ci_newman on Tue, 06/29/2010

I'm currently trying to implement an operator-based day & night mode using the tl-set-daynight. I am able to call the script via feature code to set the value of officemode but I'm not sure where I'm actually supposed to use this value. Are there any built-in scripts for the inbound routes that already use this variable or do I need to create my own scripts?

Am I missing something hugely obvious?

Currently running PBX Manager 6.0.1.79.

Cheers,

Chris


Submitted by eeman on Tue, 06/29/2010 Permalink

set day/night basically sets an ASTDB key..

to use it, you create an inbound route using the button 'create operator managed route'

then, similar to when you select a schedule, you select the key value you want to match on.

my recommendation is to make the last option in your list set to 'any' as a catch-all so you never have a case where something didnt match.

1. match temp mode and go to whatever you'd do on a unique exception (special ivr etc)

2. match day mode and go to your daytime ivr/ring group/queue/hunt list etc

3. match 'any' and send it to your night time ivr/voicemail/hunt list etc

Submitted by ci_newman on Fri, 07/02/2010 Permalink

As an extension to this, without writing my own scripts is there a method that incorporates both schedule based and operator based routes?

In this example, a customer has a standard office with opening hours of 9am - 5pm. Outside of these hours all of their calls are diverted to another office (external from the MTE).
During the day, they want to be able to use an operator-based route to divert all the calls in an emergency e.g. fire alarm / drill to their other office but come 5pm it will automatically fall back into the scheduled route.

I'm trying to get my head around the logic, but I can't see a way without taking a clone of the scripts and building it myself.

Does any one have any thoughts about how I could achieve this?

Submitted by eeman on Fri, 07/02/2010 Permalink

yes and no. The schedule based route has the option 'except when variable is set'. This works in a 'skip this step if set' sort of logic. This variable list is variables defined under Global Variables. There's basically 3 fundamental problems with this setup in an MTE environment.

1. In MTE all tenants are subject to Global Variables (hence the name). This does not scale well for hundreds of tenants as you would have to have a global manually created for each and every tenant and hundreds of globals is just a bad idea.

2. Giving tenants access to Global Variables in a GUI would be extremely irresponsible whereas in STE the worst they can do is mess up their own PBX.

3. creating dialplan macros (scripts) to set a global variable for you works, however the state does not persist after a restart/crash. Upon restart or recovering from a crash all global variables will return to their static setting defined in the file.

as a work-around you could have 2 DID in inbound routes.. one schedule based and one operator managed... make your main DID schedule based.. and your other one operator managed. then use some custom script for your daytime schedule to just re-route the call to your operator managed DID. The script would be simple one step Goto(from-outside-redir,${ARG1},1) where ARG1 is the DID you are re-routing to.

Submitted by brandilton on Thu, 02/03/2011 Permalink

here's how I accomplished this.

get an extra DID, create a schedule based route for your normal behavior:
Handler 1:
-When: After Hours
-Go to IVR/Menu>After Hours
Handler 2:
-When: All Hours
-Go to Hunt List>Live Answer

Create an extension with a call forward always to this extra DID

set main number to be operator managed router:
handler 1
-when: Night
-Run Script: Go to IVR/Menu>After Hours
handler 2
-when: Any Time
-Run Script: Go to User Extension>Extension that CFA's to DID

I've confirmed this works, anyone see any issues with this behavior?