You are here: Administration > Infinity services > Configuring Call Routing Rules

Configuring Call Routing Rules

Call Routing Rules determine how calls are routed within Pexip Infinity. This includes calls received by Pexip Infinity that are to be routed via the Pexip Distributed Gateway service to their ultimate destination, and outgoing calls made from within a Pexip Infinity conference (such as when manually adding a participant to a Virtual Meeting Room).

This topic explains when Call Routing Rules are used, the main considerations when configuring your rules, how to add or modify rules, and provides an example rule.

When are Call Routing Rules used?

Call Routing Rules are always used for matching incoming calls, and may be used for matching outbound calls made from a Pexip Infinity conference.

Incoming calls

If an incoming call does not match an alias associated with a conference service (Virtual Meeting Room, Virtual Auditorium or Virtual Reception), it is deemed a Pexip Distributed Gateway call and it must match a Call Routing Rule for the call to be placed to the destination alias / target system.

Outgoing calls from a conference

Outgoing calls made from within a Pexip Infinity conference are only checked against Call Routing Rules when:

  • Automatically Dialed Participants or participants added manually via the Pexip Infinity Administrator interface have their Route this call option set to Automatically
  • participants added via the Infinity Connect Web App have selected a Protocol of Automatic

and then it must match a suitable rule for the call to be placed to the destination alias/target system.

Call routing considerations

When configuring a Call Routing Rule, the main points to consider are:

  • Rule priority: this is the order in which the rules are considered to see if the conditions specified in the rule match the characteristics of the call that Pexip Infinity is trying to route. Rule checking stops when a match is found, even if the call that is placed as a result of that match fails for any reason.
  • Applicability to incoming or outgoing calls: you must decide whether the rule applies only to incoming Pexip Distributed Gateway calls, or only to outgoing calls placed from within a Pexip Infinity conference (where Automatic routing has been selected), or to both incoming gateway calls and outgoing calls from conferences.
  • Restricting incoming calls to those from registered devices or specific call protocols: for incoming calls via the Pexip Distributed Gateway, whether to limit the rule's applicability to only allow calls to be made from devices that are registered to Pexip Infinity, or to limit them to certain incoming protocols e.g. SIP only.
  • Alias matching and transforms: the dialed alias or alias patterns that apply to this rule. A rule can be configured to apply to a specific alias e.g. alice@example.com, or to an alias pattern defined by a regex (regular expression) such as .+@example.com (any destination alias with the domain example.com). The destination alias can also, optionally, be transformed before the outgoing call is placed.
  • Call media settings: whether to limit the media capabilities of the call, or whether to apply a theme.
  • Outgoing call placement: every rule must define to where and how the call is routed to the destination alias. This includes defining the types of devices or systems to which the call is routed, such as limiting it to registered devices only or by specifying the SIP proxy, H.323 gatekeeper or Lync / Skype for Business server to use.

Note that any incoming call that has a destination alias that matches the alias of any Pexip Infinity Virtual Meeting Room, Virtual Auditorium or Virtual Reception is always directed automatically to that conferencing service; the call will not be routed via the Pexip Distributed Gateway and the Call Routing Rules are not applied.

The following diagram shows the call routing logic within Pexip Infinity when handling incoming call requests and when dialing out from within a conference.

Note that as an alternative to using Pexip Infinity's own routing logic, you can configure Pexip Infinity to instead defer its decision making to an external policy service or to use a local policy script (see policy profiles for more information). This allows Pexip Infinity administrators to implement routing decisions based on their specific requirements.

Creating and modifying Call Routing Rules

To add, edit or delete a Call Routing Rule, go to Service configuration > Call routing.

When specifying a Call Routing Rule, the options are:

Option Description
Name The name used to refer to this rule.
Service tag This optional field allows you to assign a unique identifier to this service, which you can then use to track use of the service. For more information, see Tracking usage with a service tag.
Description An optional description of the rule.
Priority

Assign a relative priority to this rule, from 1 to 200. Rules are checked in order of priority, starting with 1 and working down the list until a match is found.

Rule checking stops when a match is found, even if the call that is placed as a result of that match fails for any reason.

Use this rule for...
Incoming gateway calls

Applies this rule to incoming calls that have not been routed to a Virtual Meeting Room or Virtual Reception, and should be routed via the Pexip Distributed Gateway service.

Default: selected.

Outgoing calls from a conference

Applies this rule to outgoing calls placed from a conference service (e.g. when a participant is added to a Virtual Meeting Room) where Automatic routing has been selected.

Default: not selected.

Note that the same rule can be applied to both incoming and outgoing calls if required.

Calls being handled in location

Applies the rule only if the incoming call is being handled by a Conferencing Node in the selected location or the outgoing call is being initiated from the selected location.

To apply the rule regardless of the location, select Any Location.

Default: Any Location.

When matching incoming Gateway calls...
Match incoming calls from registered devices only

Select this option if you want this rule to only apply to incoming calls from devices, videoconferencing endpoints, soft clients or Infinity Connect clients that are registered to Pexip Infinity. Note that the call must also match one of the selected protocols below.

Calls placed from non-registered clients or devices, or from the Infinity Connect Web App will not be routed by this rule if it is enabled.

Default: disabled.

Match Infinity Connect (WebRTC/RTMP)

Match SIP

Match Lync / Skype for Business (MS-SIP)

Match H.323

Select the source / protocols of the incoming call to which the rule should apply. Note that matching Lync / Skype for Business (MS-SIP) calls does not apply if Match incoming calls from registered devices only is selected.

Default: these options are all enabled by default.

Alias match and transform
Match against full alias URI

This setting is for advanced use cases and will not normally be required.

By default, Pexip Infinity matches against a parsed version of the destination alias, i.e. it ignores the URI scheme, any other parameters, and any host IP addresses. So, if the original alias received by Pexip Infinity is sip:alice@example.com;transport=tls for example, then by default the rule will match against alice@example.com.

Select this option to match against the full, unparsed alias instead.

You must select this option if you are using this rule to support your Lync / Skype for Business IVR gateway (where this rule is routing calls handled by a Virtual Reception into the relevant Lync / Skype for Business meeting). See Configuring Pexip Infinity as a Lync / Skype for Business gateway for instructions on how to do this.

Destination alias regex match

The regular expression that the destination alias (the alias that was dialed) is checked against to see if this rule applies to this call.

Pexip Distributed Gateway supports case-insensitive Perl-style regular expression patterns. See Regular expression (regex) reference for information about writing regular expressions.

Destination alias regex replace string

The regular expression string used to transform the originally dialed alias (if a match was found).

If you do not want to change the alias, leave this field blank.

Call media settings
Maximum inbound call bandwidth (kbps) Enter a value in this field to limit the bandwidth of media being received by Pexip Infinity from each individual participant dialed in via this rule. For more information see Restricting call bandwidth.
Maximum outbound call bandwidth (kbps) Enter a value in this field to limit the bandwidth of media being sent from Pexip Infinity to each individual participant dialed out from this rule. For more information see Restricting call bandwidth.
Call capability

Allows you to limit the media content of the call. The participant being called will not be able to escalate beyond the selected capability. For more information, see Controlling media capability.

Default: Main video + presentation.

Theme

The theme to use for calls placed using this rule. For more information, see Customizing images and voice prompts using themes.

Default: <use Default theme> (the global default theme will be used).

Outgoing call placement (individual fields are only displayed when appropriate)
Call target

The device or system to which the call is routed. The options are:

  • Registered device or external system: route the call to a matching registered device if it is currently registered, otherwise attempt to route the call via an external system such as a SIP proxy, Lync / Skype for Business server, H.323 gatekeeper or other gateway/ITSP.
  • Registered devices only: route the call to a matching registered device only (providing it is currently registered).
  • Lync / Skype for Business meeting direct (not via Virtual Reception): route the call via a Lync / Skype for Business server to a Lync / Skype for Business meeting. Note that the destination alias must be transformed into a Lync / Skype for Business Conference ID.
  • Lync / Skype for Business clients, or meetings via a Virtual Reception: route the call via a Lync / Skype for Business server either to a Lync/SfB client, or — for calls that have come via a Virtual Reception — to a Lync / Skype for Business meeting. For Lync / Skype for Business meetings via Virtual Reception routing, ensure that Match against full alias URI is selected and that the Destination alias regex match ends with .*

Outgoing location

When calling an external system, this forces the outgoing call to be handled by a Conferencing Node in a specific location.

When calling a Lync / Skype for Business meeting, a Conferencing Node in this location will handle the outgoing call, and — for Lync / Skype for Business meeting direct targets — perform the Conference ID lookup on the Lync / Skype for Business server.

Select Automatic to allow Pexip Infinity to automatically select the Conferencing Node to use to place the outgoing call (which will usually be the node that received the call).

Protocol

The protocol used to place the outgoing call. Note that if the call is to a registered device, Pexip Infinity will instead use the protocol that the device used to make the registration.

Default: SIP.

SIP Proxy*

You can optionally specify the SIP Proxy to use to place an outgoing SIP call.

Default: Use DNS.

H.323 Gatekeeper*

You can optionally specify the H.323 Gatekeeper to use to place an outgoing H.323 call.

Default: Use DNS.

Lync / Skype for Business server*

When calling an external system, this is the Lync / Skype for Business server to use for outbound Lync / Skype for Business (MS-SIP) calls.

When calling a Lync / Skype for Business meeting, this is the Lync / Skype for Business server to use for the Conference ID lookup and to place the call.

Default: Use DNS (note that a server must be selected when the Call target is Lync / Skype for Business meeting direct (not via Virtual Reception)).

TURN server** You can optionally specify the TURN server to use when placing calls to ICE-enabled clients (such as Lync / Skype for Business clients and Infinity Connect WebRTC clients).
STUN server** You can optionally specify the STUN server to use when placing calls to ICE-enabled clients (such as Lync / Skype for Business clients and Infinity Connect WebRTC clients).
Rule state
Enable this rule Determines if the rule is enabled or not. Any disabled rules still appear in the rules list but are ignored. Use this setting to test configuration changes, or to temporarily disable specific rules.

* If you do not select a specific H.323 Gatekeeper, SIP Proxy or Lync server, the Conferencing Node will attempt to use DNS to locate an appropriate system via which to route the call (rather than fall back to using the gatekeeper / proxy / server associated with the node's system location).

** If you do not select a specific TURN server or STUN server, the call will use the TURN / STUN server associated with the node's system location.

Example

In our example organization, every employee has their own video endpoint with an alias in the format firstname.lastname@example.com, and their own Virtual Meeting Room with an alias in the format meet.firstname.lastname@example.com.

In most cases, employees will use their standalone SIP or H.323 endpoints to call others within the organization, but sometimes they want to use Infinity Connect to make a point-to-point call.

In order to support this, we set up the following Call Routing Rule (unspecified settings can be left as their default values):

Option Input Notes
Name Infinity Connect to SIP  
Description Allow Infinity Connect (WebRTC / RTMP) users to call SIP endpoints directly  
Incoming gateway calls
Outgoing calls from a conference
  We want this rule to match incoming gateway calls only.
Calls being handled in location Any location We want this rule to apply throughout our deployment.
Match Infinity Connect (WebRTC / RTMP)
Match SIP
Match Lync / Skype for Business (MS-SIP)
Match H.323
  In this example, we only want the rule to apply to calls from Infinity Connect clients.
Destination alias regex match .+@example.com This regular expression will match any destination alias with the domain example.com.
Destination alias regex replace string <blank> We have left this blank because we do not want to amend the alias.
Call target Registered device or external system We want to call either a matching registered device (if it is currently registered), otherwise route the call via an external SIP system.
Outgoing location Automatic We want to place the outgoing call from the same node that received the call.
Protocol SIP The call will be interworked to SIP.
SIP Proxy Use DNS We want to use DNS to locate an appropriate SIP proxy to place the call.

This rule means that if an Infinity Connect user dials any alias with the domain @example.com (e.g. alice.jones@example.com), the call will be routed over SIP. We do not need to worry about this rule applying to VMR aliases with the same domain (e.g. meet.alice.jones@example.com) because Call Routing Rules are only applied to incoming calls after checking whether there are any VMRs with that alias.