When a call arrives at a Transformation Table, the incoming message contains a number of Informational Elements (IEs). These IEs include important call information such as: Called Address/Number, Called Extension, Calling Name, Redirecting Number and others.
Each Informational Element is processed row by row in the Transformation Table.
In an incoming call processed by the above transformation table:
- If the Called Number is 5551212, it is transformed to 4881234
- If the Calling Number begins with +14085559876, the +1 is stripped and the Calling Number becomes 4085559876.
- The Calling Name is set to Switchboard.
Once all the transformations are complete, the Mandatory/Optional Match Type determines if the Transformation Table, and by extension the Call Route, is successful or failed.
The Mandatory/Optional Match Type
The Mandatory/Optional Match Type configuration determines whether a particular transformation is critical to the success of the Transformation Table/Call Route. Any single transformation entry which is deemed critical to successfully routing a call should be marked Mandatory, the remainder should be marked Optional.
It is important to note that the Mandatory/Optional Match Type configuration works on a per Input Field Type basis. The Mandatory/Optional settings for Called Number are evaluated separately from Redirecting Number. We show some examples below to highlight this very important distinction.
Single Mandatory Entry
The most basic scenario is the scenario in which a Transformation Table contains only one entry, and that entry is a mandatory entry, as shown here.
When the Called Number is processed against this single transformation, the Called Number must match the regex value in the Input Field Value. If the Input Field Value does not match the Called Number, this transformation will fail, and so will the route entry that called this transformation table.
Multiple Mandatory Entries
When there are multiple mandatory entries in a transformation table, each Input Field Type is evaluated independently for its Match Type.
In the case above, the first transformation entry, Calling Address/Number, has its Match Type set to Mandatory. The second transformation entry, Calling Name, also has its Match Type set to Mandatory. Both of these transformations must match: The calling number must be +15105744912 and the Calling Name must be John Doe, otherwise, the table fails.
Each Input Field Type is evaluated independently. In the case above, the Mandatory setting for Calling Address/Number is evaluated separately from Calling Name.
As with Mandatory matching, Optional matches are performed per Input Field Type. At least ONE row for EACH Input Field Type must match, otherwise the table fails (see the figure below).
Single Input Field Type
In this example, if the Calling Name is John Doe, Mary Kay, or Bill Smith, the table is true (passed).
If a Transformation Table only contains multiple entries for a single Input Field Type (e.g. Calling Name above), and all of entries have a Match Type of Optional, then the table is true if any one of the transformations succeed.
Multiple Input Field Types
Notice that there are three different Input Field Types; Calling Name, Calling Extension, and Calling Address/Number. At least one of EACH Input Field Types must match, otherwise the table fails. In order for this transformation table to be true:
- The Calling Name must either be Joe Doe or Mary Francis
- The Calling Extension must be 5255
- The Calling Address/Number must be 6900
In the example above, there is only one transformational entry for Calling Extension and Calling Address/Number Input Field Types. If there is only one transformation for a particular Input Field Type, then the Match Type setting for that entry is irrelevant. Each Input Field Type must have at least one successful transformation. If there is only one transformation entry for a particular Input Field Type, like the Calling Extension above, then that transformation must be successful. In this case of a sole Input Field Type, the configuration of the Match Type, either Mandatory or Optional, has no bearing: that tranformation must succeed or the tranformation table will be false (failed).
Mixed Mandatory and Optional Matching
When a Transformation table has a mixture of both Optional and Mandatory matching criteria:
- All transformations with a Mandatory Match Type must be successful in order for the tranformation table to be true, regardless of any Optional entries.
- If any Input Field Type has only Optional Match Types, then at least one of those transformations must be successful in order for the transformation table to be true.
In the example above, the Redirecting Number transformation must be successful because it is the only translation entry for the Redirecting Number Input Field Type; the Match Type for Redirecting Number is irrelevant.
There are several transformation entries for Called Address/Number Input Field Type and those all have a Match Type set to Optional. In addtion to the outcome evaluation of the Redirecting Number, at least one of the Called Number transformations must be successful for the translation table to be true (passed).
The table below is the same as the table above, with an additional Called Number transformation entry at the bottom of the table.
The additional Mandatory Called Address/Number means only the Mandatory translation must match the transformation table to possibly be true, with respect to the other Called Number Optional translation entries. Of course, the Redirecting Number transformation entry must also be evaluated in order to determine whether the transformation table will be ultimately true (pass) or false (fail).