Route execution order
When the call is initialized (from user or from gateway), the system must analyze the available routes. ДIt will base on the priorities that are specified in the route settings. The route with the highest priority (99) will be analyzed first, then the route with a lower priority (50), etc.
In case several routes satisfy the call conditions, the scenarios of these routes will be joined into one, and all applications in this scenario will be executed sequentially. For example, we have 2 routes where the Call Recording function should be performed in the first route with a higher priority (47), and the Call to the queue in the other route with a lower priority (32). In this case the call will be put on the record first, and then the call to the queue will be executed.
Let's now imagine what will happen if we add three applications to the script
Call to the queue one by one. Logically the system must first connect to the first queue, then the second, and then the third. But what if the user terminates the call when there is a connection to the first queue? Will the system try to call to the second and third queues?
Answer: Yes, but only if the subscriber has not dropped the call.
The system will execute each application that is specified in the script. In case there are no necessary conditions for its implementation, the application will be skipped and will not be executed. The understanding of this mechanism is very important, because your configuration may not work the way you expected.
For example, if you add
Call to queue application and then
SMS application, the SMS application will be executed after a call to the queue, regardless of whether the subscriber or the agent that was connected to the subscriber has dropped the call.
In order to stop processing further applications you can use the application