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 VMR).

This topic explains when Call Routing Rules are used, the main considerations when configuring your rules, our recommendations, 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 conferencing service (Virtual Meeting Room, Virtual Auditorium, Virtual Reception, scheduled conference, or Test Call Service), 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.

When using a Virtual Reception to capture an alias, that new alias is treated as a new incoming call i.e. it will be checked against the service aliases first and then matched against the Call Routing Rules.

Call Routing Rules are not required to route incoming calls to a conferencing service (Virtual Meeting Room, Virtual Auditorium, Virtual Reception, scheduled conference, or Test Call Service).

Outgoing calls from a conference

Outgoing calls made from within a Pexip Infinity conference are 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 are added via an Infinity Connect client.

and then it must match a suitable rule for the call to be placed to the destination alias/target system. See Recommendations for handling outgoing calls from a conference for more information.

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. You can also limit the rule so that it only applies if the call is being handled by a Conferencing Node in a specific location.
  • 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 Skype for Business / Lync server to use.
  • Toll fraud: if you have Call Routing Rules that route calls to an ISDN/PSTN gateway, consider who should be allowed to make those calls (to avoid toll fraud). You could restrict those rules to only apply to incoming calls from registered devices, or to calls that are being handled in an internal location. Also, to restrict the number of people who can dial out from within a conference, we recommend configuring a Host PIN for your conferences (as only Hosts can initiate an outgoing call).

Note that any incoming call that has a destination alias that matches the alias of any Pexip Infinity Virtual Meeting Room, Virtual Auditorium, Virtual Reception or Test Call Service 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.

Recommendations for handling outgoing calls from a conference

In addition to configuring rules to handle person-to-person gateway calls, another consideration when setting up your dial plan is how to deal with outgoing calls placed from within a Pexip Infinity conference, particularly when placed by conference participants using Infinity Connect.

The next-generation Infinity Connect clients use Automatic routing by default when dialing out from a conference i.e. the user only has to enter or select the alias of the person they want to invite, and they do not have to select a call protocol. To support the use of Automatic routing you must configure some appropriate Call Routing Rules otherwise the outbound call will not get placed.

The Call Routing Rules you need to configure will depend upon your local requirements, but we recommend that you configure a fallback rule (a rule with a higher priority than all of your other rules that are handling outgoing calls from a conference) that attempts to place the call over SIP and uses either DNS or the local SIP proxy.

Here are some typical rule patterns you may want to use (where all of the rules are configured to handle Outgoing calls from a conference):

Priority Destination alias regex match * Call target Protocol and Proxy /Gatekeeper Purpose
10 .+@example\.com Registered devices only n/a This rule is only required if you are registering endpoints to Pexip Infinity as it will route calls to those registered aliases (devices). You can use a more specific regex if your registered URIs have a more controlled naming convention. You may also want to enable this rule for matching Incoming gateway calls.
190 \d+\.\d+\.\d+\.\d+ Registered device or external system H.323 (to your gatekeeper or via DNS) This rule matches an alias in the form of an IP address (see Matching an IP address for a more specific regex) and calls out over H.323 either via your local H.323 gatekeeper or via DNS.
200 (?!.*@example\.com$).* Registered device or external system SIP (to your proxy or via DNS) This is your fallback rule. It matches an alias that does not end in @example.com (i.e. calls to domains outside of your environment) and routes it out over SIP either via your local SIP proxy or via DNS. To ignore multiple domains, you could use an expression formatted in the style:
(?!.*@(example\.com|another\.com)$).*
* These examples use a local video domain of example.com which should be changed accordingly for your local environment.

Note that Call Routing Rules are not required to route incoming calls to a conferencing service (Virtual Meeting Room, Virtual Auditorium, Virtual Reception, scheduled conference, or Test Call Service).

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.

If you are using a Virtual Reception as an IVR gateway to capture a conference ID, and then using this Call Routing Rule to transfer the participant into an external conference such as Google Hangouts Meet or a Skype for Business / Lync meeting, then the rule Name entered here is shown to conference participants as they are transferred into the meeting (it is overlaid onto the virtual_reception_connecting splash screen of the theme associated with the Virtual Reception that is transferring the call).

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.
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 conferencing 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

You can select a specific location, which means:

  • for incoming calls, the rule is only applied if the call is being handled (for signaling purposes) by a Conferencing Node in the selected location.
  • for outgoing calls, the rule is only applied if the call is being initiated from the selected location.

This allows you to restrict the types of calls that some users can make. For example, you may use a call control system that routes all calls into Pexip Infinity through Conferencing Nodes in an "internal/trusted" location, whereas calls received from devices in the public internet could all be routed to nodes in a different "public/untrusted" location. You can then, for example, use the Calls being handled in location option to allow only calls received in the "trusted" location to place calls via a PSTN gateway.

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 selecting Match 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 Skype for Business / Lync IVR gateway (where this rule is routing calls handled by a Virtual Reception into the relevant Skype for Business / Lync meeting). See Configuring Pexip Infinity as a Skype for Business / Lync 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.

When dialing out from a conference, the outbound call bandwidth limit is inherited from the VMR's bandwidth settings. In this case, the rule's outbound bandwidth setting configured here is not used.

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. See Themes used by Call Routing Rules (gateway calls) for more information.

Default: <use Default theme> (the global default theme is 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, Skype for Business / Lync 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 (Conference ID in dialed alias): route the call via a Skype for Business / Lync server to a Skype for Business / Lync meeting. Note that the destination alias must be transformed into just a Skype for Business / Lync Conference ID.
  • Lync / Skype for Business clients, or meetings via a Virtual Reception: route the call via a Skype for Business / Lync server either to a SfB/Lync client, or — for calls that have come via a Virtual Reception — to a Skype for Business / Lync meeting. For Skype for Business / Lync meetings via Virtual Reception routing, ensure that Match against full alias URI is selected and that the Destination alias regex match ends with .*
  • Google Hangouts Meet meeting: routes the call to a Google Hangouts Meet meeting. See Integrating Google Hangouts Meet with Pexip Infinity for more information.
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 Skype for Business / Lync 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 SfB/Lync 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.
  • RTMP (streaming) always routes to an external system.

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 Skype for Business / Lync server to use for outbound SfB/Lync (MS-SIP) calls.

When calling a Skype for Business / Lync meeting, this is the SfB/Lync 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 (Conference ID in dialed alias)).

TURN server** You can optionally specify the TURN server to use when placing calls to ICE-enabled clients (such as Skype for Business / Lync 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 Skype for Business / Lync clients and Infinity Connect WebRTC clients).
Access token

Select the name of the access token to use to resolve Google Hangouts Meet codes. You should select either a trusted or untrusted type of token, depending on whether you want to enable the device to be automatically admitted into the Google Hangouts Meet conference (subject to also being a trusted endpoint from Pexip Infinity's perspective i.e. whether it is currently registered to Pexip Infinity or not).

Typically this depends upon whether the rule has Match incoming calls from registered devices only selected or not: use a trusted token if it is selected, and use an untrusted token if it is not selected.

See Enabling access and admitting external participants into Hangouts Meet conferences for more information.

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 SfB/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 person-to-person call.

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.