Routing conditions
You can configure a number of conditions for each route. These conditions will be checked before running the script for this route. ЕIt is possible to configure the execution of the route in case of matching all conditions or just one of them. If the Conditions
field is empty, the script applies to all calls.
As a condition operand you can use variables
. The value of the variable will be determined when a call comes in. For example, the variable "caller number" is set. At the time of the call, the system will determine this number and place it in a variable.
That is, when you receive a call to the system, it will substitute the required value in one or another variable, which will be used in the call processing scenario.
User
The variable with the type "user" is available only in the routing To user
and From user
.
During the initiation of a new call from user or to user, the system analyzes all routes which conditions the call satisfies.
When the user makes a call, the system checks all routes From user
and where the variable User
is present, it substitutes the user who made the call.
When a user receives a call, the system, before making a call to the user's devices, first checks all routes To user
,and also substitutes the user who receives the call to the variable User
.
Due to such system, it is very easy to create flexible routing for any user parameters.
For example, there is a task to route all calls that should be received by John Doe <1000>, to another user. For this you need:
- Create a new route
To user
(with the highest priority, for do not letting routes with a higher priority to do other actions with the call) - Add condition:
User
is John Doe <1000> - In the route script, add
Call to user
application, where you will specify the user to whom you want to route the call. After saving the route, the next call to the user John Doe <1000> will be transferred to the other user that we specified earlier.
Let's consider one more example: the task of blocking an outgoing call to another country for the user. For this we need:
- Add a new route to the section
From user
. - Add a condition
User
is John Doe <1000> - Add an additional condition
Call
>Destination number
pattern+380.
- In the route script, add the application
Hang up
When making a call from the user John Doe <1000> to the number that starts at +380 , the system will immediately drop the call. The system will ignore this route for other calls, because the second condition does not match.
Gateway
By analogy with the user, with an incoming or outgoing call from the gateway, the system analyzes routes To gateway
and From gateway.
When adding routes with the
Gatewaycondition the system will substitute the corresponding gateways in the variable
gateway` and analyze all routes which conditions the call satisfies.
Call
There is a variable Call
which works for all routes. You can use it to add a condition for a number of call parameters:
- Caller's number
- Destination number (to make a call to)
- User agent
- Caller's name
Imagine there is a task to route all calls that come from the number +380 to a certain queue of calls. For this you need:
- Add a new route to the
From gateway
section with the highest priority. - Add condition
Call
>Caller's number
starts from+380
- Add the action
Call to the queue
in the route script.
After saving, any call from any gateway with the caller's number starts from +380 will be routed to the specified queue.
Time
There is a number of values available in the Time
variable which are not explicitly about a call.
To add a condition by time of the day, day of the week, month, date, etc. we need to use this variable and select the range of time we are interested in.
For example, all calls arriving outside of business hours must be routed to the IVR. For this:
- Add a new route to the section
From gateway
with the highest priority. - Add condition
Time
>time of day
between
06 PM и 08 AM - Add an action
IVR
in the route scenario. After saving, any call that arrives to the company after 6 pm will be sent to the voice menu (IVR).