Configuring Pexip Infinity as a Google Meet gateway

The Infinity Gateway provides any-to-any video interoperability with Google Meet.

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

You can also join Google Meet meetings where that meeting is being hosted by an external third-party organization (even if the host’s organization has not enabled Pexip interoperability themselves) — this is referred to as "SIP Guest Join". Note that this feature works by routing the call to the external organization via the Pexip Service.

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

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

Ensuring a Google Meet (ghm) license is installed

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

The ghm license specifies the total number of access tokens you can configure, and is required in addition to the standard Pexip Infinity call licenses. If necessary, contact your Pexip authorized support representative to purchase the required license.

Configuring your access tokens

All communication between Pexip Infinity and Google Meet is authenticated by access tokens that identify your Google Workspace account (see Generating your interoperability 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 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 Google Workspace 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 Google Meet conferences.

Note that:

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

Requesting and uploading your gateway token

Google Meet is transitioning to a new method of authenticating third-party systems that join a Google Meet conference via Pexip's interoperability gateway.

The new method uses the JWT (JSON Web Token) standard. To use JWT as your authentication method you need to upload to your Pexip Infinity system a token that has been signed by Pexip. This token then provides the authentication between your Pexip Infinity system and Google Meet whenever a third-party device uses Pexip's interoperability gateway to join a Google Meet conference.

If you do not upload a gateway token you will still be able to use Pexip's interoperability gateway in the short term, but we expect Google Meet to enforce JWT authentication in the near future. You must obtain and install your gateway token as soon as practicable after upgrading to version 31 or later.

Note that you must still create and configure your access tokens (as described above), in addition to your gateway token. The access tokens continue to identify your account and determine whether an endpoint is trusted or not.

To obtain and upload your gateway token to Pexip Infinity:

  1. Go to Call control > Google Meet Gateway token.
  2. In the Gateway token request section, select Download.

    This generates and downloads a token request file called gms_gateway_token_request.csr.

  3. Send the gms_gateway_token_request.csr file and the License entitlement key from your ghm license (Platform > Licenses) to your Pexip authorized support representative and request your gateway token for Google Meet interoperability.
  4. When you receive your gateway token, return to the Call control > Google Meet Gateway token page.
  5. Upload your token into the Gateway token upload section. You can either paste the token contents into the text area, drag and drop the gateway token file into the text area, or use the Browse... button to select your file.

    You must use the file generated by Pexip (typically with a .CRT or .PEM extension). Do not upload your original token request file (with a .CSR extension).

  6. Select Complete.

    Your gateway token will now be used to authenticate your Pexip Infinity system with Google Meet.

Token status and requesting a new token

The Gateway token status section at the bottom of the page tells you when your gateway token will expire. A "Google Meet Gateway Token expiring" alarm is also raised when the gateway token is due to expire within the next 30 days.

You can only have one gateway token uploaded at any one time. In the future, when your token's expiry date is approaching, you'll need to request a new token and then upload it (replacing the existing token) using the same procedure as above.

Configuring Virtual Receptions and Call Routing Rules

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

  • Routing directly via the Infinity Gateway: here you use a Call Routing Rule to route incoming calls for specific alias patterns — that will typically include the meeting ID — directly into the relevant Google Meet conference. This means that the endpoint can dial an alias, such as 1234567890123@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 ID 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 Google Meet conference. This means that the endpoint can dial a general alias, such as gmeet@example.com and then enter the specific meeting ID, such as 1234567890123, 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.

Enabling SIP Guest Join

Pexip's standard Google Meet interoperability solution allows your own video conferencing endpoints (and your guests) to join Google Meet meetings that you are hosting. The "SIP Guest Join" (SGJ) feature lets you join Google Meet meetings with your own video conferencing endpoints where that meeting is being hosted by an external third-party organization who has not enabled Pexip interoperability themselves.

Note that this is a guest join experience, therefore someone has to be in the Google Meeting to admit you from the lobby. If nobody admits you within 30 seconds, you will have to dial again.

When using SIP Guest Join, your calls are routed via the Pexip Service, therefore you need to contact your Pexip authorized support representative to perform the necessary steps to enable the guest join process on your behalf. This includes:

  • Purchasing a Trusted Devices license for the number of endpoints you own. Note that the Enterprise Room Connector (ERC) premium licensing package for Infinity includes SIP Guest Join.
  • Providing the domains and IP addresses of all of the systems that will send SIP call signaling to the Pexip Service (typically these are the addresses of your externally-facing Conferencing Nodes, or VCS Expressway if relevant).

Note that you do not need to register your endpoints to the Pexip Service, or route any of your non-guest Google Meet interop calls via the Pexip Service.

Enabling guest join in Pexip Infinity

As a prerequisite to using the guest join feature you must be using One-Touch Join on the endpoints that you will use to join the Google Meet conferences.

To enable guest join you must create a suitable OTJ Meeting Processing Rule to handle invitations to Google Meet meetings (see Adding One-Touch Join meeting processing rules for general details on how to do this), and ensure that your guest join calls are routed to the Pexip Service:

  1. Add an OTJ Meeting Processing Rule (One-Touch Join > OTJ Meeting Processing rules):

    If you are using Pexip Infinity version 31 or later:

    • You must add a new OTJ Meeting Processing Rule with a Meeting type of Google Meet SIP Guest Join.

    If you are using Pexip Infinity versions 29 to 30:

    • You must add a new OTJ Meeting Processing Rule with a Meeting type of Custom.
    • Use the following script in the rule's Custom template field:

      Copy to clipboard
      {% set sipJoin = pex_regex_search("https:\/\/meet\.google\.com\/([a-z\-]+)", calendar_event.body) %}
      {% set sipMatch = pex_regex_search("sip:([0-9]+@[a-z\-.]+)", calendar_event.body) %}

      {% if sipMatch %}
      {{sipMatch[0]}}
      {% elif sipJoin %}
      {{sipJoin[0]}}@google.pexip.me
      {% endif %}

      (This rule looks for https://meet.google.com/<meetingcode> and converts it into a SIP URI that can be routed via the Pexip Service.)

    • Consider the priorities of your rules. If you use Google interop for your own Google Meet meetings then your rules for those meetings should have a higher priority (lower number).

  2. Ensure that the SIP Guest Join calls placed from your endpoint are routed to the Pexip Service.

    Typically you can do this via DNS as follows:

    1. Add a Call Routing Rule (Services > Call routing).
    2. Configure the following fields (leave all other fields with default values or as required for your specific deployment):

      Option Description
      Priority Choose a suitable priority based on your existing rules.
      Incoming gateway calls Ensure this option is selected.
      Outgoing calls from a conference Leave unselected.
      Match incoming calls from registered devices only Select this option if you want the rule to apply only to calls received from devices that are registered to Pexip Infinity.
      Match Infinity Connect (WebRTC / RTMP)
      Match SIP
      Match Lync / Skype for Business (MS-SIP)
      Match H.323
      (Match Teams)
      Select the relevant types of system/protocols you want to support, typically Match SIP or Match H.323.
      Match against full alias URI Leave unselected
      Destination alias regex match

      Enter a regular expression that will match the Google Meet calls that are sent to the Pexip Service. We recommend:

      [a-z\-]{10,12}@google\.pexip\.me

      Destination alias regex replace string Leave blank.
      Call target Select Registered device or external system.
      Protocol Select SIP.
      SIP proxy Select Use DNS.

DNS and ports requirements

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

These are the port usage rules for call signaling and media between Google Meet and Conferencing Nodes (Proxying Edge Nodes and Transcoding Conferencing Nodes):

Source address Source port Destination address Dest. port Protocol Notes
Google Meet 19302–19309 Conferencing Node 40000–49999 ** UDP SRTP/SRTCP
Conferencing Node 33000–39999 **

Google Meet

(hangouts.clients6.google.com and

meetings.googleapis.com)

443 TCP (HTTPS)  
Conferencing Node 40000–49999 ** Google Meet 19302–19309 UDP SRTP/SRTCP

‡ See https://support.google.com/a/answer/1279090 for the actual IP ranges that need to be allowed.

** Configurable via the Media port range start/end, and Signaling port range start/end options (see About global settings) .

Call signaling and media ports

Call and participant status

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

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

  • When viewing the participant status for a gateway call, the meeting ID, such as 1234567890123, is shown as a participant alias. This participant represents the gateway call leg into Google 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 Google 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 Google Meet conference.

  • You cannot control (e.g. disconnect, mute or transfer) any of the other participants connected to the Google Meet conference.
  • VTCs may be unable to connect to the meeting, or get disconnected from the meeting, if the meeting host disables the Turn on their video option in the meeting settings. These types of disconnections are reported as SIP 480 errors (with a cause of "Call rejected" and type of "RemoteDisconnect").

Additional deployment information

  • Each participant who is gatewayed via Pexip Infinity into a Google 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 Infinity Gateway calls). Any external participants who are connected directly to the Google 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 Google Meet) — it is fixed at 2 Mbps.
  • If the Google 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 Google Meet and other chat-enabled clients. However, the name of the sender from the Google Meet side is not identified on messages received by Skype for Business clients.