Configuring Pexip Infinity as a Google Hangouts Meet gateway

The Pexip Distributed Gateway provides any-to-any video interoperability with Google Hangouts Meet.

Third-party systems can connect to Hangouts Meet conferences via the Pexip Distributed Gateway either by dialing the conference directly or via a Virtual Reception (IVR).

This topic describes the configuration and administrative steps that are required to use Pexip Infinity as a Google Hangouts Meet gateway. It assumes that you have already performed a basic installation and configuration of Pexip Infinity. This topic covers:

See Integrating Google Hangouts Meet with Pexip Infinity for more information about the user experience within Hangouts Meet conferences.

Ensuring a Google Hangouts Meet (ghm) license is installed

You must have a ghm license enabled on your platform (Platform configuration > Licenses). This allows you to configure access tokens and route calls to Hangouts Meet.

If necessary, contact your Pexip authorized support representative to purchase the required license. Note that the ghm license is required in addition to the standard Pexip Infinity call licenses.

Configuring your access tokens

All communication between Pexip Infinity and Hangouts Meet is authenticated by access tokens that identify your G Suite account (see Generating your gateway access tokens).

To configure your trusted and untrusted access tokens in Pexip Infinity:

  1. Go to Call control > Google Meet Access tokens and select Add Google Hangouts Meet access token.
  2. Add the details of your trusted token:

    Name The name that you specify here is used elsewhere in the Pexip Infinity interface when associating the token with a Call Routing Rule or Virtual Reception, so we recommend including an indication if it is your trusted or untrusted token.
    Access token

    The access token value as shown in your G Suite account when you generated it.

  3. Select Save.
  4. Repeat the above steps to add the details of your untrusted token.

These tokens will now be available to associate with any Virtual Receptions and Call Routing Rules that you configure (as described below) to handle Hangouts Meet conferences.

Note that:

  • The access tokens apply to the entire G Suite tenant, but you can enable interoperability on a per-OU (organizational unit) basis within G Suite.
  • Service providers may need to apply multiple pairs of access tokens for each tenant they are managing.

Configuring Virtual Receptions and Call Routing Rules

There are two ways in which you can configure Pexip Infinity to route calls into Hangouts Meet conferences:

  • Routing directly via the Pexip Distributed Gateway: here you use a Call Routing Rule to route incoming calls for specific alias patterns — that will typically include the meeting code — directly into the relevant Hangouts Meet conference. This means that the endpoint can dial an alias, such as 123456@example.com and be taken directly into the conference.
  • Routing indirectly via a Virtual Reception: here you configure Pexip Infinity to act as an IVR gateway or "lobby" by configuring a Virtual Reception to prompt the caller to enter the meeting code of the required conference, and then use a Call Routing Rule (typically the same rule as used for direct routing) to route the call into the Hangouts Meet conference. This means that the endpoint can dial a general alias, such as gmeet@example.com and then enter the specific meeting code, such as 123456, and then be transferred into the conference.

You can use either or both of these two methods, depending upon your requirements. The configuration required for direct and indirect routing is explained below.

Depending on your dial plan requirements, you may want to use multiple Call Routing Rules, where some rules use a trusted token and other rules use an untrusted token. For example, if you want to associate calls received via a particular location as trusted, and all calls received in other locations as untrusted then you will need to configure two rules — one rule for calls received in the trusted location that is associated with the trusted token, and then another lower priority rule that is associated with the untrusted token.

Routing directly via the Pexip Distributed Gateway

To route calls to Hangouts Meet conferences directly via the Pexip Distributed Gateway you need:

  • To decide on an alias pattern that participants will dial to access the Hangouts Meet conferences.
    • The alias pattern will typically include the meeting code, for example the pattern could be just <meeting code> or <meeting code>@<domain> i.e. the meeting code and then, optionally, the domain of your Pexip Infinity platform, for example 123456@example.com to access a Hangouts Meet conference with a meeting code of 123456.
    • You can also configure within G Suite a PIN prefix (8, for example) to force all meeting codes to start with that prefix. This is typically required if you have a conflicting dial plan on your video conferencing side that could clash with your Hangouts Meet meeting codes. See Configuring G Suite for Google Hangouts Meet integration for more information.
  • One or more Call Routing Rules that match that alias pattern and, if necessary, transform it such that it contains just the Hangouts Meet meeting code which it can then use to connect to the conference. You can use multiple rules to differentiate between devices that are to be treated as trusted or not from Pexip Infinity's perspective, and hence which type of Access token is selected and whether Treat as trusted is selected or not:

    • If devices register to Pexip Infinity we recommend using two gateway rules: one higher-priority rule to specifically handle registered devices, and one lower-priority rule to handle any device (registered and non-registered).
    • If you are using third-party call control systems you also may want to use different rules to distinguish between calls arriving at Conferencing Nodes in different locations.

To configure each rule:

  1. Go to Service configuration > Call routing and select Add Call Routing Rule.
  2. Configure the following fields (leave all other fields with default values or as required for your specific deployment):

    Option Description
    Name The name you will use to refer to this rule.
    Priority

    Assign the priority for this rule.

    If you are creating multiple rules where one rule has Match incoming calls from registered devices only selected, and other rules do not have this option selected, then ensure that the rules that do have Match incoming calls from registered devices only selected have a higher priority (lower number) than those rules where it is not selected (to avoid the call matching first against the "not selected" rule if all of the other rule settings are the same).

    Incoming gateway calls Ensure this option is selected.
    Outgoing calls from a conference Leave unselected.
    Calls being handled in location

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

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

    Match incoming calls from registered devices only

    If devices register to Pexip Infinity, we recommend using two gateway rules: one higher-priority rule to specifically handle registered devices, and one lower-priority rule to handle all devices (registered and non-registered).

    • Select this option if you want the rule to apply only to calls received from devices that are registered to Pexip Infinity.
    • Leave this option unselected if you want the rule to apply regardless of whether the device is registered to Pexip Infinity.
    Match Infinity Connect (WebRTC / RTMP)
    Match SIP
    Match Lync / Skype for Business (MS-SIP)
    Match H.323
    Select one or more of Match Infinity Connect (WebRTC / RTMP), Match SIP, Match Lync / Skype for Business (MS-SIP) and Match H.323 as appropriate, depending on which types of systems/protocols you want to offer interoperability into Hangouts Meet.
    Match against full alias URI Leave unselected.
    Destination alias regex match

    Enter a regular expression that will match the calls to be sent to a Hangouts Meet conference.

    For example, to match an alias in the form <meeting code> or <meeting code>@example.com, where the meeting code has a prefix of 8 and is followed by a further 3-9 digits, you could use:

    (8\d{3,9})($|(@example\.com$))

    Destination alias regex replace string

    If required, enter the regular expression string to transform the originally dialed (matched) alias into the meeting code to use to place the call into the Hangouts Meet conference. If you do not need to change the alias, leave this field blank.

    When used with the example Destination alias regex match shown above you would use:

    \1

    which would extract just the <meeting code> element of the alias.

    Call capability

    To support incoming calls via SIP, H.323 and WebRTC/RTMP, Same as incoming call is recommended as this makes the most efficient use of Pexip Infinity resources.

    If you also want to support calls from Skype for Business / Lync, then you should select Main video + presentation instead to ensure that any SfB/Lync participants are able to escalate from audio-only to a video call after joining the conference (alternatively you can configure a separate rule just for matching incoming calls from Skype for Business / Lync and set that rule to use Main video + presentation).

    Theme If required, assign a customized theme to this rule (which will then be used for callers that use this rule to gateway into Hangouts Meet). For example, the theme could use alternative labels on some of the splash screens that are displayed when connecting to a conference.
    Call target Select Google Hangouts Meet meeting.
    Outgoing location

    If required, you can ensure that the outgoing call to the Hangouts Meet conference is handled by a Conferencing Node in a specific location.

    If an outgoing location is not specified, the call is placed from a Conferencing Node in the ingress location (the same location as the Conferencing Node that is handling the incoming call).

    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. if the rule also has Treat as trusted enabled).

    Typically, you will use a trusted token if Treat as trusted is selected, and an untrusted token if Treat as trusted is not selected.

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

    Treat as trusted

    Select Treat as trusted if you want Hangouts Meet to treat the devices routed via this rule as part of the target organization for trust purposes.

    Typically you will select this option if the rule is handling devices that are trusted from Pexip Infinity's perspective, for example, you could treat the device as trusted if the caller is coming from a specific location, or if the device is registered to Pexip Infinity.

    This setting is used in conjunction with the Access token setting to control whether the device is automatically admitted into the Hangouts Meet conference.

  3. Select Save.
  4. If you are creating multiple rules, for example when handling whether a device is registered to Pexip Infinity or not, return to step 1 and create the next rule.

Using the direct gateway service

After the Call Routing Rule has been configured, third-party systems and devices can now dial an alias that matches your specified pattern (e.g. 812345 or 812345@example.com) to be routed directly into the appropriate Hangouts Meet conference (in this example the conference with a meeting code of 812345).

Routing indirectly via a Virtual Reception (IVR gateway)

To route calls to Hangouts Meet conferences via a Virtual Reception (IVR gateway) you need:

  • A Virtual Reception configured specifically to handle Hangouts Meet conferences.
  • A Call Routing Rule to route the calls handled by the Virtual Reception into the relevant Hangouts Meet conference. Typically you would configure the Virtual Reception and Call Routing Rule patterns so that the same rule can also support direct routing as described above.

The Virtual Reception requests the caller to enter the Hangouts Meet meeting code which it then sends to Hangouts Meet for verification. You can then optionally transform the meeting code to meet any dial plan requirements, before the Pexip Distributed Gateway then matches the (optionally transformed) meeting code and routes the caller to the appropriate Hangouts Meet conference.

To configure the Virtual Reception:

  1. Go to Service configuration > Virtual Receptions and select Add Virtual Reception.
  2. Configure the following fields (leave all other fields with default values or as required for your specific deployment):

    Option Description
    Name The name you will use to refer to this Virtual Reception, for example "Google Hangouts Meet IVR gateway".
    Theme If required, assign a customized theme to this Virtual Reception to brand it as the gateway to Hangouts Meet conferences, for example by customizing the voice prompts or changing the appearance of the Virtual Reception splash screen.
    Virtual Reception type Select Google Hangouts Meet.
    Access token

    Select the name of the access token to use to resolve Google Hangouts Meet codes. When configuring a Virtual Reception it does not matter if you use a trusted or untrusted access token.

    Lookup location If specified, a Conferencing Node in this system location will perform the service lookup. If a location is not specified, the IVR ingress node will perform the lookup.
    Post-lookup regex match

    This is an optional field. It is typically used in conjunction with the Post-lookup regex replace string to transform the meeting code entered into the Virtual Reception into a distinct alias pattern that will match a Call Routing Rule that is configured to route calls into Google Hangouts Meet conferences.

    Note that this match and transform occurs after the meeting code entered by the user has been sent to Hangouts Meet for verification.

    In most cases, you would typically set the regex match to:

    (.*)

    which matches everything entered into the Virtual Reception.

    Post lookup regex replace string

    This may be used in conjunction with the Post-lookup regex match field to transform the meeting code entered by the caller.

    In our example, setting it to:

    \1

    will simply pass on the entered meeting code unchanged. This will then typically work in conjunction with the Call Routing Rule that you configured above for direct routing (which matches calls placed to aliases prefixed with 8 in our example) and then directs the call to Google Hangouts Meet.

    Alias Enter the alias that users will dial to use this Virtual Reception to place calls into Hangouts Meet conferences, for example gmeet@example.com.
  3. Select Save.

To configure the associated Call Routing Rule:

  • Configure the Call Routing Rule as described above for direct routing.
  • If you want to use a different rule for routing via a Virtual Reception than the rule you are using for direct routing (e.g. because you want to limit the supported incoming call protocols, or use a different outgoing location for calls placed via the Virtual Reception), then follow the same principles as the direct routing rule, but use a different alias pattern in your Virtual Reception's Post-lookup regex replace string and your rule's Destination alias regex match string.

Using the Hangouts Meet IVR gateway service

After the Virtual Reception and Call Routing Rule have been configured, third-party systems and devices can now dial the alias of the Virtual Reception (e.g. gmeet@example.com) and then, when prompted by the IVR service, enter the meeting code of the Hangouts Meet conference they want to join.

The Pexip Distributed Gateway will then route the call into the appropriate Hangouts Meet conference.

Interoperability and deployment features

DNS and ports requirements

You need to ensure that the endpoints and systems you want to gateway into Hangouts Meet can call into Pexip Infinity Conferencing Nodes, and that Conferencing Nodes can call out to Hangouts Meet.

Call and participant status

When using the Pexip Infinity Administrator interface to monitor calls that are placed into Hangouts Meet conferences, you should note that:

  • Each participant who is gatewayed into a Hangouts Meet conference is listed as a separate gateway call. However, if multiple participants are connected to the same Hangouts Meet conference, the Live View (Status > Live View) will show them as connected to the same external conference.

  • When viewing the participant status for a gateway call, the meeting code, such as 871189, is shown as a participant alias. This participant represents the gateway call leg into Hangouts Meet. If you look at the media streams associated with that participant you see that:

    • Pexip Infinity sends (subject to bandwidth) three VP8 video streams (each at different resolutions) and one 1 audio stream to Hangouts Meet for that participant.
    • Pexip Infinity receives one video and one audio stream for each external participant in the conference, up to a maximum of 8 video streams (to support Pexip's standard 1+7 layout). If there are more than 8 other participants then only an audio stream is received for those extra participants.

    Other participant aliases that are displayed for that call include the device that placed the call (such as name@example.com) and one or more aliases in the format spaces/<id>/devices/<id> which represent the other participants in the Hangouts Meet conference.

  • You cannot control (e.g. disconnect, mute or transfer) any of the other participants connected to the Hangouts Meet conference.

Additional information

  • Each participant who is gatewayed via Pexip Infinity into a Hangouts Meet conference consumes two call licenses (one for the inbound leg of the call and one for the outbound leg, as is standard for calls via the Pexip Distributed Gateway calls). Any external participants who are connected directly to the Hangouts Meet conference do not consume a license. See Pexip Infinity license installation and usage for more information.
  • You cannot limit the Maximum outbound call bandwidth (the call leg towards Hangouts Meet) — it is fixed at 2 Mbps.
  • If the Hangouts Meet conference is recorded, "streaming enabled" indicators are included in the video stream sent to gatewayed participants.
  • Chat messages are supported in both directions between Hangouts Meet and other chat-enabled clients. However, the name of the sender from the Hangouts Meet side is not identified on messages received by Skype for Business clients.