Top

Call Router Basic Concepts

Call Router

The DGW Call Router uses the Call Routing service (CRout) to route calls between a SIP gateway and an endpoint (FXS, FXO, PRI, or BRI).

In some specific cases, the Call Router can also route a call from an endpoint to another endpoint.

Calls between the following telephony interfaces are allowed:
  • ISDN to ISDN (TDM hairpinning)
  • ISDN to SIP
  • E&M to E&M (TDM hairpinning)
  • E&M to SIP
  • R2 to R2 (TDM hairpinning)
  • R2 to SIP
  • FXS to SIP
  • FXO to SIP
The Call Router can not route a call from one SIP gateway to another SIP gateway. This is however possible on the Sentinel 100 and 400 using the Sbc service.

Top

General Call Router Workflow


Top

Call Router Specific Naming Rules

When working with call router parameters, you must prefix the name of:
  • a route with "route-", for instance: route-isdn_sip.
  • a SIP interface with "sip-", for instance: sip-default.
  • an ISDN interface with "isdn-", for instance: isdn-default.
  • a hunt with "hunt-", for instance: hunt-trunkLines.

Top

Routing

Routing is the operation that consists in finding which route to use for a call, and applying the various transformations and translations defined within the route.

Simply said, routing consists in sending a call from a source to a destination by using a user-defined route. For more details on sources and destinations, refer to the Source and Destination section. When a call is established, two call legs exist:
  • The inbound call leg, for the incoming call that entered the Call Router.
  • The outbound call leg, for the outgoing call made to the callee after the processing made by the Call Router.
The following diagram is a simplified overview of the steps occurring during call routing. For a complete workflow of the Call Router, refer to the General Call Router Workflow section.

Step Description
Incoming Call A call coming from a telephony interface (FXO, FXS, BRI, or PRI) or from SIP.
Read Call Properties

The Call Router reads the call properties of the call's signaling data. Call properties are common to all telephony technologies and contain information that the Call Router will use to route the call.

For more details on call properties, refer to the DGW Configuration Guides -Call Properties document published on the Media5 Documentation Portal.

Find Route The Call Router sequentially selects, from several routes defined in the Routes table, the proper route to use for the call. The route is chosen if the destination is valid and provided the value of the following criteria are matched with the call properties of the call:
  • Call source
  • Criteria rule matching the criteria property
Transform Call Properties (optional) Transformations applied to call properties are defined in the Transformations and Transformation Rules tables. Specific, user-defined transformations are applied to a call property criteria. Transformations can include, for example, to:
  • add or remove prefixes to the called number
  • modify or block the caller ID

For more details on call properties, refer to the DGW Configuration Guides - Call Properties document published on the Media5 Documentation Portal.

Translate Signalling Properties (optional) Translations applied to the signaling properties are defined in the Signaling Properties table. Translations can include, for example, to:
  • control SIP features such as the destination host, privacy level of the call, or ringing feedback (180 vs 183).
  • override the default mapping between SIP headers and call properties (Call properties translations and SIP header translations).
For more details, refer to SIP Signaling Properties.
Send Call to Destination When the Call Router has completed its processing, the call is sent to its destination which is the exit point (SIP gateway, PRI interface, FXS interface, etc.) on which the outgoing call leg is created to forward the call to the callee.

Top

Source and Destination

A call always has a source and a destination.

A call can go through several destinations before reaching its final destination.

A source and a destination can be:

  • an endpoint (FXS, FXO, PRI, or BRI)
  • a SIP gateway
  • a route
  • a hunt
However, an initial source and a final destination can only be either:
  • an endpoint (FXS, FXO, PRI, or BRI)
  • a SIP gateway

Top

Signaling Properties

Signaling properties specify how to set up a call to the destination i.e. either a Mediatrix unit or a third-party equipment.

Signaling properties are assigned to a route and used to modify the behaviour of the call at the SIP protocol level. Signaling properties are applied after the call has been validated against the transformations, if there is a transformation specified in the route. As for the routes, the call is validated against the call signaling properties one after the other until the call matches one signaling property. At this point, the transformation is executed by modifying the behaviour of the call. Up to 40 signalling properties can be added.


Top

SIP Signaling Properties

SIP signaling properties are signaling properties used on the SIP leg of routing to control several SIP features.

SIP signaling properties are used by the mechanism through which the Call Router controls several SIP features of the calls during the SIP leg of the call. As for call properties, SIP signaling properties are used by the Call Router to apply routing decisions, but on the SIP leg.

SIP signalling properties are assigned to a route and used to modify the behaviour of the call at the SIP protocol level. Once a Route has been chosen, transformations are applied and then SIP signaling properties are applied.

A SIP signaling property transformation overrides the default value of the SIP signaling properties of an incoming SIP message. It modifies the properties before the call is sent to its destination. When a Route is chosen, SIP signaling properties are applied if possible. At this point, the transformation of the SIP signaling properties is performed.


Top

Routes

Routes are used by the Call Router to send calls from one endpoint to another.

Routes are defined in the Routes table of the DGW Web interface. A call will be routed through a specific route only if the source criteria, the criteria property, and the criteria rule match. If there is a match, the call will be routed and transformations will be applied. The route includes information such as:
  • the source the call must come from for the route to be applied
  • the call properties the call must match for the route to be applied i.e. the property criteria
  • the criteria rule, i.e. the regular expression applied to call property
  • the transformations that will be applied to the call properties i.e. which transformation are used
  • the call signaling properties
  • the destination of the call

Top

Route Ordering - Very Important

The order of the routes in the Routes table is important.

The most exclusive routes should be first and the most inclusive routes last, otherwise all calls will be routed by the same route, hence routed to the same destination.

For example, one of the first routes could be for a specific username for which the call would systematically be sent to a specific destination. The last route could route the unmatched calls to the receptionist's extension. If a call cannot be matched to any route, then the call is cancelled and an error message is issued.


Top

Call Property Transformations

A Call Property Transformation is a mechanism through which the Call Router transforms call properties on the basis of specific criteria. Because this mechanism is applied when routing is processed by the Call Router, it provides a fine level of granularity to act on the signaling data of the call, allowing the user to route calls just about anywhere or to choose what signaling data will be displayed in the Caller Id.

A Call Property Transformation consists in:
  • Defining on which criteria the transformation is based on and which criteria the transformation is applied to, both criteria being a call property, either identical or not. If the value of the Criteria Based On and Criteria Rule fields matches, then the transformation rule is applied to the le call property defined in the Transformation Applies To field.
  • Transforming the call property specified in the transformation criteria.

Call property transformations can be used, for example, to:

  • Modify or block caller IDs
  • Add or remove prefixes to the called number
  • Block outgoing international calls
  • Send all calls to a specific extension

Call property transformations thus influence routing and/or the setup message leaving the call router. They are specifically called within a route. As for the Routes table, the Transformations table finds the first matching entry. It then executes it by transforming a call property. A transformation always examines one call property and changes another property. The call router executes all transformations that match by following the Transformation Rules table rows as they are entered. If you want the Call Router to try to match one row before another one, you must put that row first.

Transformations can be applied to:
  • calling party call properties
  • called party call properties
  • generic properties used for call properties that apply to both calling and called parties

Top

Call Property Transformation Workflow


Top

Route/Transformation/Next Transformation Recursiveness Example


|-Route 1
| |-Transformation 1
| | |-Next Transformation 1
| | | |-Next Transformation 2
| | | | |-Next Transformation 3
| | | | | |-Next Transformation 4
| | | | | | |-Next Transformation 5
| |-Transformation 2
| | |-Next Transformation 1
| | | |-Next Transformation 2
| | | | |-Next Transformation 3
| |-Transformation x
| |-Transformation 40
|-Route 2
| |-Transformation 1
| |-Transformation 2
| |-Transformation 3
| | |-Next Transformation 1
| | | |-Next Transformation 2
| | | | |-Next Transformation 3
|-Route 3
|-Route x
|-Route 40
 

Top

Call Properties

Although telephony technologies (SIP, FXS, ISDN, R2, CAS, etc.) all have the same purpose, i.e. make calls, they all have their own signaling, their own set of conventions, and their own vocabulary. Call properties are the common representation of the basic information pieces (signaling data) that all telephony technologies carry to route calls. The Call Router uses the call properties to apply routing decisions.

Using this single common representation simplifies the way we create routes in the Call Router because we can make abstraction, to a certain point, of the individual telephony technologies.

There is a large number of call properties, some of which are very generic and others more specific to certain types of telephony interfaces. During a call, only the call properties that make sense for the telephony interface being used are set with the relevant information. Therefore, a call property can be:
  • Undefined: No value is assigned to the call property
  • Defined: A value is assigned to the call property
  • Empty: The call property is defined, but its value is empty (e.g. an empty string)

For example, when a call comes from ISDN, a number of call properties are set with the information extracted from the ISDN signaling: Calling Name, Called E164, ... The other Call Properties that are not relevant to ISDN are left undefined: for instance Calling Host and Calling URI, which makes sense only for calls coming from SIP.

For more details on call properties, refer to Call Properties - Incoming Calls and Call Properties - Outgoing Calls sections .

The transformation applied to the call properties can be configured in the Transformations and Transformation Rules tables of the DGW 2.0 Web interface.


Top

Calling vs Called Call Properties

Many Call Properties exist in a Calling and Called version, with names such as CallingXxx or CalledXxx. This indicates if the Call Property is related to the Calling (incoming) or the Called (outgoing) side of the call.

For example, in a SIP to ISDN call from 987654321@voipprovider.com to 8191234567, the CallingE164 and CalledE164 Call Properties are assigned the 987654321 and 8191234567 values, respectively.

Note: within one single call, depending on the context, many call properties may only have a value set for the Called or the Calling version, and in some cases, no value can be set for either the Called or Calling version of the call properties.
Note: in a call, depending on the context, the Calling and/or Called versions of the call properties, may, or may not, be set to a value.
Note: Depending on the context, a call property with a calling and called version

Top

SIP Call Properties - Destination

Note: This table explains how the SIP fields are populated from the Call properties of the incoming call. In all cases, the value of the Call properties are used provided they are available.
SIP Field Description
To

Use the value of the 'Calling URI' Call Property as the value of the 'To' field.

If the 'Calling URI' Call Property has no value, the 'To' field is built with the following elements:
  • The 'username' Call Property is set to the first value available within the following Call Properties, in the specified order:
    • called 'SipUsername' Call Property
    • E164 Call Property
    • SipEp.InteropDefaultUsername parameter
  • Use the value of the 'Called Phone Context' Call Property as the value of the user's 'Phone Context' Call Property.@@@si 'Called Phone Context' n'a pas de valeur????otherwise?????. If the 'user' part of the URI has a value, the value of the 'user' part is also added. The value of the 'user' Call Property of the URI can be found in the SipEp.InteropSipUriUserParameterValue parameter.
    • If the SipEp.InteropSipUriUserParameterValue parameter has no value, the value of the 'Phone' field is added to the 'Called Phone Context' Call Property .
  • If the 'Called Host' Call Property has a value, it is used as the 'Host' Call Property, otherwise the home domain proxy host is used.
  • If the 'Call TON' is 'international', add the + sign and the 'user' Call Property of the URI to the 'Phone' Call Property.
  • If the 'user' part of the URI has no value and the SipEp.InteropSipUriParameterValue parameter has a value then the value of the SipEp.InteropSipUriParameterValue is used as the value of the URI.
From If the 'Called URI' Call Property has a value, it is used as the value of the 'From' field. Otherwise, the 'From' field is built with the following elements:
  • If the 'Calling Name' Call Property has a value it is used as the value of the 'Friendly Name' Call Property.
  • The 'Username' Call Property is set to the first value available within the following Call Properties, in the specified order:
    • calling 'SipUsername' Call Property
    • E164 Call Property
    • SipEp.InteropDefaultUsername parameter
  • If the 'Calling Phone Context" Call Property has a value, it is used as the value of the user's 'Phone Context' Call Property. If the 'user' username part of the URI has a value, it also added. The value of the 'user' Call Property of the URI can be found in the SipEp.InteropSipUriUserParameterValue parameter.
    • If the SipEp.InteropSipUriUserParameterValue parameter has no value, the value of the 'Phone' field is added to the 'Called Phone Context' Call Property.
  • If the 'Calling Host' Call Property has a value, it is used as the value of the 'Host' Call Property, otherwise the value of the 'home domain proxy host' is used.
  • If the call 'TON' is 'international', add the + sign and the 'user' property of the URI parameter to the 'Phone' property.
  • If there is no 'user' part defined in the URI parameter and the SipEp.InteropSipUriUserParameterValue parameter has a value, then the value is added.
Request URI

Use the value of the 'Calling URI' Call Property as the value of the 'Request URI' field.

If the 'Calling URI' Call Property has no value, the 'Request URI' field is built with the following elements:
  • The 'username' Call Property is set to the first value available within the following Call Properties, in the specified order:
    • called 'SipUsername' Call Property
    • E164 Call Property
    • SipEp.InteropDefaultUsername parameter
  • Use the value of the 'Called Phone Context' Call Property as the value of the user's 'Phone Context' Call Property.@@@si 'Called Phone Context' n'a pas de valeur????otherwise?????. If the 'user' part of the URI has a value, the value of the 'user' part is also added. The value of the 'user' Call Property of the URI can be found in the SipEp.InteropSipUriUserParameterValue parameter.
    • If the SipEp.InteropSipUriUserParameterValue parameter has no value, the value of the 'Phone' field is added to the 'Called Phone Context' Call Property .
  • If the 'Called Host' Call Property has a value, it is used as the 'Host' Call Property, otherwise the home domain proxy host is used.
  • If the 'Call TON' is 'international', add the + sign and the 'user' Call Property of the URI to the 'Phone' Call Property.
  • If the 'user' part of the URI has no value and the SipEp.InteropSipUriParameterValue parameter has a value then the value of the SipEp.InteropSipUriParameterValue is used as the value of the URI.
Contact If the 'Called URI' Call Property has a value, it is used as the value of the 'Contact' field. Otherwise, the 'Contact' field is built with the following elements:
  • If the 'Calling Name' Call Property has a value it is used as the value of the 'Friendly Name' Call Property.
  • The 'Username' Call Property is set to the first value available within the following Call Properties, in the specified order:
    • calling 'SipUsername' Call Property
    • E164 Call Property
    • SipEp.InteropDefaultUsername parameter
  • If the 'Calling Phone Context" Call Property has a value, it is used as the value of the user's 'Phone Context' Call Property. If the 'user' username part of the URI has a value, it also added. The value of the 'user' Call Property of the URI can be found in the SipEp.InteropSipUriUserParameterValue parameter.
    • If the SipEp.InteropSipUriUserParameterValue parameter has no value, the value of the 'Phone' field is added to the 'Called Phone Context' Call Property.
  • If the 'Calling Host' Call Property has a value, it is used as the value of the 'Host' Call Property, otherwise the value of the 'current IP address/port' is used.
  • If the call 'TON' is 'international', add the + sign and the 'user' property of the URI parameter to the 'Phone' property.
  • If there is no 'user' part defined in the URI parameter and the SipEp.InteropSipUriUserParameterValue parameter has a value, then the value is added.
Diversion If the 'Last Diverting E.164' Call property has a value, the value of the 'Diversion' header is added. The 'Diversion' header is built with the following elements:
  • Use the value of the 'Last Diverting E.164' Call Property as the value of the 'username' part of the URI .
  • The value of the 'home domain proxy host' is used as the 'host' part of the URI.
  • The value of the 'Last Diverting Reason' Call Property is used as the value of the 'reason' field:
    • cfu: "unconditional"
    • cfb: "user-busy"
    • cfnr: "no-answer"
    • All other values or when undefined: 'unknown'.
  • If the 'OriginalDivertingE164' Call Property has no value, then value of the 'Counter' field is set to the value of the 'DivertingCounter' Call Property, otherwise the 'Counter' field is set to the value of the 'DivertingCounter' Call Property -1.
If the 'Last Diverting E.164' and 'Original Diverting E.164' Call Properties have a value, then a second 'Diversion' header is added. This Diversion header is built with the following elements:
  • The value of the 'Original Diverting E.164' Call Property is used as the 'username' Call Property of the URI.
  • The configured 'home domain proxy host' is used as the 'host' Call Property of the URI.
  • The value of the 'Original Diverting Reason' Call Property is used as the value of the 'Reason' field:
    • cfu: "unconditional"
    • cfb: "user-busy"
    • cfnr: "no-answer"
    • All other values or when undefined: "unknown'
The field counter is set to 1.

Top

SIP Call Properties - Source

Call Property SIP Information
Called URI Use the URL of the 'To' field as the 'Called URI' Call Property.
Calling URI Use the URL of the 'From' field as the 'Calling URI' Call Property.
Called Name Use the 'friendly name' Call Property of the 'To' field as the 'Called Name' Call Property.

If there is no 'friendly name', the 'Called Name' Call Property is undefined.

Calling Name Use the 'friendly name' Call Property of the 'From' field as the 'Calling Name' Call Property

If there is no 'friendly name' Call Property , the 'Calling Name' Call Property is undefined.

Called E164 If the 'username' Call Property of the 'Request-Uri' field is E164 compatible, then the 'username' Call Property of the 'Request-Uri' field is used as the 'Called E164' Call Property. The “+” prefix and “-” separator are removed.

If there is no 'username' Call Property or if the 'username' Call property is not E164 compatible, then the 'Called E164' Call Property remains empty.

Calling E164 If the 'username' Call Property of the 'From' field is E.164 compatible, then the 'username' Call Property of the 'From' field is used as the 'Calling E164' Call Property. The “+” prefix and the “-” separator are removed.

If there is no 'username' Call Property or if the 'username' Call Property is not E.164 compatible, then the 'Calling E164' Call Property is undefined.

Called Host Use the 'Host' Call Property of the 'To' field as the 'Called Host' Call property.
Calling Host Use the 'Host' Call Property of the 'Contact' field as the 'Calling Host' Call Property.
Called TON If the 'username' Call Property of the 'To' field is E.164 compatible and has the + sign in front, the 'Called TON' Call Property is 'international'.

Otherwise the 'Called TON' Call Property is undefined.

Calling TON If the 'user name' Call Property of the 'From' field is E.164 compatible and has a + sign in front, the 'Calling TON' Call Property is 'international'.

Otherwise the 'Calling TON' Call Property is undefined.

Called Phone Context If the 'username' Call Property of the 'phone-context' Call Property of the 'To' field is E.164 compatible, then the 'Called Phone Context' Call Property is the 'phone-context' Call Property of the 'username' Call property of the 'To' field.

Otherwise the 'Called Phone Context' Call Property is undefined.

Calling Phone Context If the 'username' Call Property of the 'phone-context' Call Property of the 'From' field is E.164 compatible, then the 'Calling Phone Context' Call Property is the 'phone-context' of the 'username' of the 'To' field. Otherwise the 'Calling Phone Context' Call Property is undefined.
Called SIP Username Use the 'username' Call Property of the 'Request-Uri' field as the 'Called SIP Username Call Property'.

Note that this does not include the 'username' Call Properties such as the 'phone-context'

.
Calling SIP Username Use the 'username' Call Property of the 'From' field as the 'Calling SIP Username' Call Property

Note that this does not include the 'username' Call Property such as the 'phone-context' Call Property.

Last Diverting Reason If the INVITE field contains at least one 'Diversion' header, then the value of the 'Last Diverting Reason' is the 'reason' field of the first 'Diversion' header:
  • "user-busy": cfb
  • "unconditional":cfu
  • "no-answer": cfna
  • All other values: unknown
Otherwise, the value of the 'Last Diverting Reason' is undefined.

The 'Reason' field is not case sensitive.

Original Diverting Reason If the INVITE field contains more than one 'Diversion' header, the 'Original Diverting Reason' Call Property is the 'Reason' field of the last 'Diversion' header:
  • user-busy": cfb
  • "unconditional":cfu
  • "no-answer": cfna
  • All other values: unknown
Otherwise, the 'Orignial Diverting Reason' Call Property is undefined.

The 'reason' field is not case sensitive.

Last Diverting E.164 If the INVITE field contains at least one 'Diversion' header, the value of the 'Last Diverting E.164' Call Property is the 'username' Call Property of the URI (can be a SIP URI, SIPS URI, or TEL URI) of the first 'Diversion' header converted into an E.164.

If the 'username' Call Property of the URI has no value, or if it is not E.164 compatible, then the 'Last Diverting E.164' Call Property is undefined.

Original Diverting E.164 If the INVITE field contains more than one 'Diversion' header, the 'Original Diverting E.164' is the 'username' Call Property of the URI (can be a SIP URI, SIPS URI, or TEL URI) of the last 'Diversion' header converted into an E.164.

If the 'username' Call Property has no value or is not E.164 compatible, the 'Original Diverting E.164' Call Property is undefined.

Diverting Counter If the INVITE field contains at least one 'Diversion' header, the 'Diverting Counter' is the sum of the value of the 'counter' field of all 'Diversion' headers. If a 'Diversion' header does not contain the 'counter' field, the value is assumed to be one for the header.
All others The property is undefined.

Top

SIP Header Translations Override

A SIP Header Translation overrides the default value of SIP headers in an outgoing SIP message.

It modifies the SIP headers before the call is sent to its destination. As for the Routes table, the SIP Header Translation Overrides table finds the first matching entry. It then executes it by modifying the behaviour of the call.


Top

Hunt

A hunt consists in a group of destinations that can be associated with a route.

A hunt is used to make sure that if a destination is not available, that other destinations will be tried to route the call. For example, if the hunt specifies 4 different port destinations, then each destination will be checked for availability to route the call. If the first port is not available, the second port will be checked, and so on.

To use a hunt, the destination of a route must designate the hunt (i.e. the name of an entry in the Hunt table). The hunt name must be unique in the Hunt table.

The behavior of a hunt is defined by:

  • A list of destinations to try
  • An algorithm defining the sequence in which the hunt is performed. The Hunt configuration must specify which algorithm to use
  • A timeout value
  • A list of rejection causes that causes the hunt to continue

A maximum of 40 hunts can be created and used.

The execution order of the hunt destinations is defined by the sequential order of the Hunt table, separated by commas. The first destination defined is the first one used.


Top

Auto-Routing

When the auto-routing feature is enabled, the Call Router can automatically create routes from a source to a destination.

If the auto-routable parameter is enabled for an endpoint (FXS, FXO, PRI, or BRI), two routes are generated and added to the Call Router:
  • one directing incoming calls from the associated auto-routing SIP gateway to the endpoint
  • one sending outgoing calls from the endpoint to the associated auto-routing SIP gateway
The auto-routing routes are not displayed in the Route Config page because you cannot edit them. They are however listed in the Status page and are attributed a type:
  • User: the route has been manually entered
  • Auto: this is an auto-routing route.
Note: By default, auto-routing can only be used if the username of the endpoint is an E.164 string and the username part of the request-URI of the received INVITE can be converted into an E.164. This can be changed in the Auto-Routing menu by setting the criteria to SIP Username.

Top

TDM Hairpinning and SIP Loopback

TDM Hairpinning is defined as a standard inbound telephony call that is simply routed back out using the same Information Layer 1 Protocol. TDM Hairpinning is only supported between ISDN to ISDN, E&M to E&M or R2 to R2 endpoints and needs both calls to use the same codec.

However, a different approach, SIP loopback, is possible between two telephony interfaces for cases where TDM hairpinning is not supported.

SIP loopback can be achieved by:
  • creating a route from the source telephony interface to a different SIP gateway which points to the unit itself
  • overriding the SIP destination by using a call property, for example Called E164
  • creating a route from the SIP interface to the destination telephony interface
For example:


Top

SIP Redirects

The SIP redirect feature allows a user to redirect a SIP call.

The SIP redirection can be used as a Route destination. When the route source is a SIP interface, incoming SIP INVITEs are replied with a 302 “Moved Temporarily” SIP response. This type of destination is only valid when the source of the route is a SIP interface. When a route is configured with a SIP redirect destination, incoming SIP INVITEs are replied with a 302 "Moved Temporarily" SIP response.

For example: cascade for incoming calls

For example: cascade for outgoing calls


Top

Call Router Configuration Limitations

Configuration Parameter Maximum Number
Route 40
Signaling Property 40
Transformations 40
Transformation Rules 100
SIP Header Translations 100
Call Property Translation Override 100

Top

Basic Call Router Tasks

Creating a Basic Route

Several configuration steps are required to be able to route a call from one endpoint to another.

Steps
  1. Create a route to determine the destinations the calls should be sent to.
    1. Creating a Route from a SIP Gateway to a Destination
    2. Creating a Route from a Physical Interface to a SIP Destination
  2. Create the transformation rules to be applied to selected call properties by creating a transformation.
    1. Creating a Call Property Transformation
  3. Associate the call property transformations to a specific route.
    1. Associating a Call Property Transformation to a Route
  4. Apply changes.

Top

Routes

Creating a Route from a SIP Gateway to a Destination

Steps
  1. Go to Call Router/Route Config.
  2. In the Routes table, click .
    • click located on the same row as an existing route to add a new route above or,
    • click located at the bottom of the table to add a route at the end of the table.
    Note: A maximum of 40 routes can be created.
  3. In the Configure Route table, from the selection list of the Sources field, select a SIP gateway.
  4. If necessary, from the selection list of the Destination field, select an Interface or a hunt group.
    Note: Leave the Signaling Properties, the Transformations and Criteria Property fields empty.
  5. Click Save.
Result
A new route is created and will appear in the Routes table.


Top

Creating a Route from a Physical Interface to a SIP Destination

Steps
  1. Go to Call Router/Route Config.
  2. In the Routes table, click .
  3. In the Configure Route table, from the selection list of the Sources field, select an interface.
  4. From the selection list of the Destination field, select a SIP Gateway or a SIP hunt group.
    Note: Leave the Signaling Properties, the Transformations and Criteria Property fields empty.
    Note: A maximum of 40 routes can be created.
  5. Click Save.
Result



Top

Modifying a Route

Steps
  1. Go to Call Router/Route Config.
  2. In the Routes table, click located on the same row as the route you wish to modify.
  3. In the Configure Route table, modify the fields as required.
    Note: If you selected Date/Time as a criteria property, remember to click Date/Time Criteria Editor to edit the date and the time.
  4. Click Save.
Result

When the route is used, the modifications will be applied.


Top

Deleting a Route

Steps
  1. Go to Call Router/Route Config.
  2. In the Routes table, click located on the same row as the route you wish to delete.
  3. Click Save.
Result
The route is permanently deleted and will no longer be displayed in the Routes table.

Top

Modifying the Execution Priority Level of a Route

Steps
  1. Go to Call Router/Route Config.
  2. In the Routes table, click or located on the same row as the route you wish to prioritise.
  3. Click Save.
Result
Calls will be evaluated against the Routes in the new order.

Top

Call Property Transformations

Creating a Call Property Transformation

Steps
  1. Go to Call Router/Route Config.
  2. In the Transformations table, click .
    • click located on the same row as an existing call property transformation to add a new call property transformation above or,
    • click located at the bottom of the table to add a call property transformation at the end of the table.
    Note: A maximum of 40 call property transformations can be created.
  3. In the Configure Transformation table, in the Name field, enter a name for the call property transformation.
  4. From the selection list of the Criteria Based On field, select the call property that must be matched to apply the Transformation.
  5. From the selection list of the Transformation Applies To field, select the call property to transform.
  6. Click Save and Insert Rule.
  7. In the Configure Transformation Rule table, from the Name selection list, select the name entered at step 3.
  8. In the Criteria field, indicate the call property criteria to match to apply the transformation.
  9. In the Transformation field, select the transformation to apply to the call property.
  10. Click Save or Save and Insert Rule to add another Transformation.
Result
The new Call Property Transformation is available to be used in a route.


Top

Modifying a Call Property Transformation

Steps
  1. Go to Call Router /Route Config.
  2. In the Transformations table, click located on the same row as the call property transformation you wish to modify.
  3. In the Configure Transformation table, modify the fields as required.
    Note: If you selected Date/Time as a criteria property, remember to click Date/Time Criteria Editor to edit the date and the time.
  4. Click Save.
Result
When the call property transformation is used by a route, the modifications will be applied.

Top

Modifying a Call Property Transformation Rule

Steps
  1. Go to Call Router/Route Config.
  2. In the Transformation Rules table, click located on the same row as the transformation you wish to modify.
  3. In the Configure Transformation Rule table, modify the fields as required.
  4. Click Save.
Result
When the Call Property Transformation Rule is used by a Call Property Transformation, the modifications will be applied.

Top

Deleting a Call Property Transformation

Steps
  1. Go to Call Router/Route Config.
  2. In the Transformations table, click located on the same row as the transformation you wish to delete.
  3. Click Save.
Result
The call property transformation is permanently deleted and will no longer be displayed in the Transformations table hence will no longer be available to be associated with a route.

Top

Deleting a Call Property Transformation Rule

Steps
  1. Go to Call Router/Route Config.
  2. In the Transformation Rules table, click located on the same row as the call property transformation rule you wish to delete.
  3. Click Save.
Result
The call property transformation rule will be permanently deleted and will no longer be displayed in the Transformation Rules table to be associated with a call property transformation.

Top

Modifying the Execution Priority Level of a Call Property Transformation Rule

Steps
  1. Go to Call Router/Route Config.
  2. In the Transformation Rules table, click or located on the same row as the call property transformation rule you wish to move.
  3. Click Save.
Result
Call property transformations will be validated against the call property transformation rules in the new order. The order is important, because rules are executed in the listed order.

Top

Associating a Call Property Transformation to a Route

Before you begin
The Creating a Call Property Transformation step must be completed.
Steps
  1. In the Routes table, click located on the same line as the route you wish to associate a call property transformation to.
  2. From the selection list of the Transformations field, select the transformation you wish to associate to the route.
  3. Click Save.
Result
For each incoming call from SIP or an interface, the associated call property transformation defined in the transformation will be applied. Transformations are executed in sequence, separated by commas.


Top

Signaling Properties

Creating a Signaling Property

Steps
  1. Go to Call Router /Route Config.
  2. In the Signaling Properties table, click .
    • click located on the same row as an existing signaling property to add a new signaling property above or,
    • click located at the bottom of the table to add a signaling property at the end of the table.
    Note: A maximum of 40 signaling properties can be created.
  3. In the Configure Signaling Property table, modify the fields as required.
  4. Click Save.
Result
The signaling property will be available to be used in a route.

Top

Modifying a Signaling Property

Steps
  1. Go to Call Router /Route Config.
  2. In the Signaling Properties table, click located on the same row as the signaling property you wish to modify.
  3. In the Configure Signaling Property table, modify the fields as required.
  4. Click Save.
Result
When the signaling property is used in a route, the modifications will be applied.

Top

Deleting a Signaling Property

Steps
  1. Go to Call Router/Route Config.
  2. In the Signaling Properties table, click located on the same row as the signaling property you wish to delete.
  3. Click Save.
Result
The signaling property is permanently deleted and will no longer be displayed in the Signaling Properties table to be associated with a Route.

Top

Modifying the Execution Priority Level of a Signaling Property

Steps
  1. Go to Call Router/Route Config.
  2. In the Signaling Properties table, click or located on the same row as the signaling property you wish to move.
  3. Click Save.
Result
The Routes will be evaluated against the signaling properties in the new order.

Top

SIP Header Translations

Creating a SIP Header Translation Override

Steps
  1. Go to Call Router/Route Config.
  2. In the SIP Header Translation Overrides table,
    • click located on the same row as an existing SIP header translations to add a new SIP header translation above or,
    • click located at the bottom of the table to add a SIP header translations at the end of the table.
  3. In the Configure SIP Header Translation Override table, complete the fields as required.
    Note: You can add up to 100 SIP header translations.
  4. Repeat steps Step 2 to Step 3 to add another SIP header translation.
  5. Click Save.
Result
The SIP header translation override will be available in the Configure Signaling Property table, in the SIP Header Translation Overrides drop-down list.


Top

Modifying a SIP Header Translation Override

Steps
  1. Go to Call Router/Route Config.
  2. In the SIP Header Translation Overrides table, click located on the same row as the route you wish to modify.
  3. In the Configure SIP Header Translation Override table, modify the fields as required.
  4. Click Save.
Result
When the SIP header translation override is used by a signaling property the modifications will be applied.

Top

Deleting a SIP Header Translation Override

Steps
  1. Go to Call Router/Route Config.
  2. In the SIP Header Translation Overrides table, click located on the same row as the signaling property you wish to delete.
  3. Click Save.
Result
The SIP header translation will no longer be displayed in the SIP Header Translation Overrides table and will no longer be available to be associated with a signaling property.

Top

Call Property Translations Override

Creating a Call Property Translation Override

Steps
  1. Go to Call Router /Route Config.
  2. In the Call Property Translation Override table, click located on the same row as the route you wish to modify.
  3. In the Configure Call Property Translation Override table,
    • click located on the same row as an existing call property translation override to add a new call property translation override above or,
    • click located at the bottom of the table to add a call property translation override at the end of the table.
    Note: You can create up to 100 call property translation overrides.
  4. Click Save.
Result
When the call property translation override is used by a signaling property, the modifications will be applied.

Top

Modifying a Call Property Translation Override

Steps
  1. Go to Call Router /Route Config.
  2. In the Call Property Translation Override table, click located on the same row as the route you wish to modify.
  3. In the Configure Call Property Translation Override table, modify the fields as required.
    Note: If you selected Date/Time as a criteria property, remember to click Date/Time Criteria Editor to edit the date and the time.
  4. Click Save.
Result
When the call property translation override is used by a signaling property, the modifications will be applied.

Top

Deleting a Call Property Translation Override

Steps
  1. Go to Call Router/Route Config.
  2. In the Call Property Translation Override table, click located on the same row as the call property translation override you wish to delete.
  3. Click Save.
Result
The call property translation override will no longer be displayed in the Call Property Translation Override table and will no longer be available to be associated with a signaling property.

Top

SIP Redirects

Creating SIP Redirection

Steps
  1. Go to Call Router/Route Config.
  2. In the SIP Redirects table, click .
    • click located on the same row as an existing SIP redirection to add a new SIP redirection above or,
    • click located at the bottom of the table to add a SIP redirection at the end of the table.
  3. Set the Name field.
  4. Set the Destination Host field.
  5. Click Save.
Result
The SIP redirection will be available to be used in routes.


Top

Modifying a SIP Redirect

Steps
  1. Go to Call Router /Route Config.
  2. In the SIP Redirects table, click located on the same row as the SIP redirect you wish to modify.
  3. In the Configure SIP Redirects table, modify the fields as required.
  4. Click Save.
Result
When the SIP redirect is used, the modifications will be applied.

Top

Deleting a SIP Redirect

Steps
  1. Go to Call Router/Route Config.
  2. In the SIP Redirects table, click located on the same row as the SIP redirect you wish to delete.
  3. Click Save.
Result
The SIP redirect will no longer be displayed in the SIP Redirects table and will no longer be available.

Top

Hunt

Creating a Hunt

Steps
  1. Go to Call Router/Route Config.
  2. In the Hunt table,
    • click located on the same row as an existing hunt to add a new hunt above or,
    • click located at the bottom of the table to add a hunt at the end of the table.
    Note: You can create up to 40 hunts.
  3. In the Configure Hunt table, enter a name in the Name field.
  4. From the Suggestion selection list next to the Destinations field, select 1 or several destinations.
  5. From the Suggestion selection list next to the Causes field, select the causes pertinent to your situation.
  6. To create another hunt group, repeat steps 2 to 5 .
    Note: Up to 40 hunt groups can be created.
  7. Click Save.
Result
The hunt is available to be used in a route.


Top

Modifying a Hunt

Steps
  1. Go to Call Router/Route Config.
  2. In the Hunt table, click located on the same row as the hunt group you wish to modify.
  3. In the Configure Hunt table, modify the fields as required.
  4. Click Save.
Result
The modifications will take effect immediately in all the instances where the hunt is used.

Top

Deleting a Hunt

Steps
  1. Go to Call Router/Route Config.
  2. In the Hunt table, click located on the same row as the Hunt group you wish to delete.
  3. Click Save.
Result
The Hunt group is permanently deleted and is no longer displayed in the Hunt table to be associated to a route.

Top

Auto-Routing

Enabling Auto-Routing

Steps
  1. Go to Call Router/Auto-Routing.
  2. From the Auto-Routing drop-down list, select Enable.
  3. Complete the fields as required.
    Note: E164 is the default value of the Criteria Type field.
  4. Click Apply.

Top

Linking an Endpoint to Several SIP Gateways

Before you begin
The Enabling Auto-Routing procedure must be completed.
Context

This procedure is for outgoing calls only. For incoming calls, only one destination is used, however, it is possible to set a hunt to multiple SIP gateways.

Steps
  1. Go to Call Router/Auto-Routing.
  2. From the Endpoints auto-routing table, click located on the row of the endpoint you wish to link to several SIP gateways.
  3. From the Configure Auto-Routing section, complete the fields as required.
  4. From the Apply To The Following Endpoints table, select the endpoints you wish to link to the gateways selected at previous step.
  5. Click Apply.
  6. Click Apply, again.

Top

Appendix

Routing Examples

This is an example on how a call is routed to it's final destination.

In this scenario, the user makes a call to 5145552222 using the fxs-Slot3/FXS1 port and src-E164=5551111 call property.
Routes Source Criteria Property Criteria Rule Transformations Signaling properties Destination
1 sip-default fxs-Slot3/FXS1
2 fxs-Slot3/FXS1 Called E164 911 map911 sip-default
3 fxs-Slot3/FXS1 normalize privacyId sip-default
Find the Route
  • Route 1 does not match because "fxs-Slot3/FXS1 does not match the "sip-default"
  • Route 2 does not match because although "fxs-Slot3/FXS1" matches the fxs-Slot3/FXS1" source, the "911" criteria rule does not match 4505552222.
  • Route 3 is chosen because "fxs-Slot3/FXS1" matches the source "fxs-Slot3/FXS1" source and the criteria rule included all criteria rules

The SIP-default destination is associated with the call. Therefore the call will be routed to the network using the SIP default gateway.

Transformation Name Criteria Transformation
1 map911 Called E164
2 normalize Called E164 Called E164

Apply transformations

  • Transformation 1 is not used, because "map911" name does not match.
  • Transformation 2 is applied because both name and criteria match.
Name Criteria Rule
map911
normalize 819.......$
normalize 514.......$
normalize 450.......$
Apply criteria rule
  • Criteria rule 1 is not applied because the name does not match.
  • Criteria rule 1 does not apply because the criteria does not match (called number does not start by 819) even if the name matches.
  • Criteria rule 3 does not apply because the criteria does not match (called number does not start by 514) even if the name matches.
  • Criteria rule 4 is applied because the name and the criteria match.
Signaling properties Name ... Privacy ...
1 privacyId Id
Apply signaling properties "privacyId"
  • Signaling property 1 is chosen because the name matches (no criteria to validate) therefore the "privacy=ID" property is added to the call.

For more Route examples, refer to DGW Configuration Guide - Call Router Basic Routes document published on the Media5 Documentation Portal.


Top

Regular Expressions

A regular expression is a string used to find and replace strings in other large strings.

Regular expressions can be used in the DGW software to enter a value in several routing types, often by using wildcard characters. These characters provide additional flexibility in designing call routing and decrease the need for multiple entries in configuring number ranges.
  • The expression cannot begin by “^”, it is implicit in the expression.
  • The matching criterion implicitly matches from the beginning of the string, but not necessarily up to the end. For instance, 123 will match the criterion 1, but it will not match the criterion 2.
  • To match the whole string, you must end the criterion with “$”. For instance, 123 will not match the criterion 1$ and will match the criterion 123$.
  • Use the “local_ip_port“ macro to replace the properties by the local IP address and port of the listening network of the SIP gateway used to send the INVITE.

Top

Regular Expression Wildcards

Character Description
. Single-digit place holder. For instance, 555 .... matches any dialed number beginning with 555, plus at least four additional digits. Note that the number may be longer and still match.
* Repeats the previous digit 0, 1, or more times. For instance, in the pattern: 1888*1 the pattern matches: 1881, 18881, 188881, 1888881 Note: If you are trying to handle the asterisk (*) as part of a dialed number, you must use \*.
[ ] Range of digits.
  • A consecutive range is indicated with a hyphen (-), for instance, [5-7].
  • A nonconsecutive range is indicated without a delimiter, for instance, [58].
  • Both can be used in combination, for instance [5-79], which is the same as [5679].
You may place a (^) symbol right after the opening bracket to indicate that the specified range is an exclude list. For instance, [^01] specifies the same range as [2-9]. Note: The call router only supports single-digit ranges. You cannot specify the range of numbers between 99 and 102 by using [99-102].
( ) Indicates a group (also called pattern), for instance, 555(2525). It is used when replacing a number in a mapping. For more details, refer to Regular Expression Groups.
? Matches 0 or 1 occurrence of the previous item. For instance, 123?4 matches both 124 and 1234..
+ Repeats the previous digit one or more time. For instance 12+345 matches 12345, 122345, etc. (but not 1345). If you use the + at the end of a number, it repeats the last number one or more times. For instance: 12345+ matches, 12345, 123455, 1234555, etc.
| Indicates a choice of matching expressions (OR).

Top

Regular Expression Groups

Groups can be used in Transformation Rules to reuse parts of the Call Property that was used in the Criteria.

A group is placed within parenthesis. You can use up to nine groups defined by “\1” to “\9” and matching is not case sensitive. “\0” represents the whole string. Lets say for instance you have the following string: 9(123(45)6)

The following describes how groups are replaced in a property transformation:
Replacement Result
\0 9123456
\1 123456
\2 45
\3
Groups can only be used with the following routing types:
  • Calling/Called E.164
  • Calling/Called Name
  • Calling/Called Host
  • Calling/Called URI

Top

Top

Online Help

If you are not familiar with the meaning of the fields and buttons, click Show Help, located at the upper right corner of the Web page. When activated, the fields and buttons that offer online help will change to green and if you hover over them, the description will bedisplayed.


Top

DGW Documentation

Mediatrix devices are supplied with an exhaustive set of documentation.

Mediatrix user documentation is available on the Media5 Documentation Portal.

Several types of documents were created to clearly present the information you are looking for. Our documentation includes:
  • Release notes: Generated at each GA release, this document includes the known and solved issues of the software. It also outlines the changes and the new features the release includes.
  • Configuration notes: These documents are created to facilitate the configuration of a specific use case. They address a configuration aspect we consider that most users will need to perform. However, in some cases, a configuration note is created after receiving a question from a customer. They provide standard step-by-step procedures detailing the values of the parameters to use. They provide a means of validation and present some conceptual information. The configuration notes are specifically created to guide the user through an aspect of the configuration.
  • Technical bulletins: These documents are created to facilitate the configuration of a specific technical action, such as performing a firmware upgrade.
  • Hardware installation guide: They provide the detailed procedure on how to safely and adequately install the unit. It provides information on card installation, cable connections, and how to access for the first time the Management interface.
  • User guide: The user guide explains how to customise to your needs the configuration of the unit. Although this document is task oriented, it provides conceptual information to help the user understand the purpose and impact of each task. The User Guide will provide information such as where and how TR-069 can be configured in the Management Interface, how to set firewalls, or how to use the CLI to configure parameters that are not available in the Management Interface.
  • Reference guide: This exhaustive document has been created for advanced users. It includes a description of all the parameters used by all the services of the Mediatrix units. You will find, for example, scripts to configure a specific parameter, notification messages sent by a service, or an action description used to create Rulesets. This document includes reference information such as a dictionary, and it does not include any step-by-step procedures.

Top

Copyright Notice

Copyright © 2023 Media5 Corporation.

This document contains information that is proprietary to Media5 Corporation.

Media5 Corporation reserves all rights to this document as well as to the Intellectual Property of the document and the technology and know-how that it includes and represents.

This publication cannot be reproduced, neither in whole nor in part, in any form whatsoever, without written prior approval by Media5 Corporation.

Media5 Corporation reserves the right to revise this publication and make changes at any time and without the obligation to notify any person and/or entity of such revisions and/or changes.