From MiRTA PBX documentation
Jump to navigation Jump to search

Conditions allow to manage the call flow, playing for example a different messages or routing the call based on hours, or days, or calling party. Conditions can also apply to extension state or user input.


There are several type of conditions:


Weektime a complete week planner allows to easily identify in which day/hour to trigger the destination.


Calendar a complete calendar with dates


Hours specifies distinct hours range


Caller ID the routing decision is made using the Caller ID of the call. For example, allowing coworkers calling the main number to reach directly the support staff without waiting in the Queue. You can use exact number of regular expressions. Please note, if you need to escape a character, like the +, you need to use three \, like ^\\\+39.*

Weekday allows to route calls based on the day of the week

Date permits to route the calls based on specified dates. A date, like Christmas, can be made “recurring”, so it will trigger every day, regardless the year.

Extension Status the routing decision is made based on the status of an extension. This condition is really powerful when connected to the custom setting of extension status or a Flow/Variable.

Variable Value checks the value of a variable defined in the Flow/Variable sections or at runtime. It is possible also to check using a Regex.

Multiple Extension Status permits to check if any or all of your extensions are online/offline or in use, useful to route calls automatically on the backup number in case the internet connection for a client is offline

AGI Script execs an AGI script and check the variable AGIRESULT. If set to true, the condition is matched, otherwise the “not match” condition is followed.

Authenticate requests a PIN to be entered

Tenant - number of channels permits to check the number of channels used by the tenant

DID - number of channels permits to check the number of channels used by the selected DID

Number of custom group channels allows to check with the number of calls running, being marked in a specific group

Answering Machine Detection useful when using Call Campaigns, allows to identify answering machine

SIP Header will check for the SIP Header in the call

Agent logged in a queue will check if an agent is currently logged in the queue

Agent paused from queue will check if an agent is currently paused from the queue

For every type of condition you have two destinations, "when matches" and "when NOT matches"