Loop detection system

What is a loop?

Loop occurs in case if after sending a call to supplier, we get the same call coming from our customer.
If after this we continue forwarding a call to some supplier - we will close the loop.
If nobody from the loop chain has loop detection activated - the same call could be looped many times.

Why does the loop occur?

Usually, due to billing settings, when someone from the loop chain performs routing not by least cost.
This could be either misconfiguration, or intentional setting - for example, routing some destination codes with negative profit by someone from the loop chain.

Loop examples

Example 1.
We get a call from customer А and forward it to supplier B.
Then we get this call again from customer B and forward it to supplier C (for example, due to random routing).
Supplier C delivers a call to end user.
In this case we and customer B will see the same call twice inside active calls.

Example 2.
We get a call from customer А and forward it to supplier B.
Then we get the same call from customer С and forward it to supplier Б.
Supplier B delivers call to end user.
In this case we and supplier B will see the same call twice inside active calls.

Example 3.
We get a call from customer А and forward it to supplier B.
Then we get the same call from customer С and forward to to supplier B.
Supplier B delivers call to end user.
In this case we will see the same call twice inside active calls.

Can looped call be answered?

Yes.
Due to dynamic routing, which someone from loop chain might perform, the call could be finally routed to end user.

Why loops are bad?

How Smartswitch fights loops?

There is an option loop detection inside each peer with possible values:

This option could be set either individually per each peer/company, or for call peers/companies globally.

Русский интерфейс