Route Scenario

The Carusto phone system makes it possible to program any logic that business requires. This task is carried out using a unique script system that allows you to implement almost any functionality, whether that be communication with the database or routing based on the response from the HTTP service.

The entire list of actions in the script can be obtained from the link.

Running applications (actions)

The system contains many applications that allow you to perform various actions with the call being processed. All actions are performed sequentially one after another. Applications can be simple and with additional nesting. For example, the Condition application has a nested structure, where you can add actions that will be performed in case, the Condition is true.


Imagine a situation when you need to add a response to different events, for example, putting a subscriber on hold. The task is to notify the supervisor by mail, if the subscriber is on hold. To do this, use the Event, application, where you can specify the event you are interested in (Hold). After the subscriber is put on hold, the system will execute all the applications that are nested into this event. So, following the task, it is necessary to add the application E-mail and specify the content of the letter.

User {agent_name} put on hold {caller_number}.

As a result, if the call was put on hold, it will be immediately notified by mail.

Events are also present as part of the application launch. For example, the application Call through the gateway generates events when the status of the call changes. Whether it's an event Ringing, or Hang up, you can add any response to these events.

Parallel execution

Sometimes, it is necessary to do some actions not consistently, but simultaneously in complex scenarios. There is a mechanism for parallel execution of actions in Carusto system. It suppose the Stream application usage. All added actions within the thread will be executed sequentially, but simultaneously with the other actions of the main script.

Call routing conditions

You can configure a number of conditions for each route that will be checked before running the route script. If the call does not match all / one of the conditions, then the script for this call will not be executed. If the call satisfies the conditions of several routes, then the priority rule works.