Troubleshooting One-Touch Join

This section provides guidance on troubleshooting issues with Pexip Infinity's One-Touch Join feature.

For guidance on the troubleshooting of general issues, see Troubleshooting the Pexip Infinity platform.

Symptom Possible cause Resolution
A meeting has been scheduled and is showing on the room endpoint, but there is no Join button. One-Touch Join has not been able to obtain a meeting room alias from the invitation because it does not match a meeting processing rule and does not contain a URI or address prefixed with sip:, sips: or h323:.

Review the meeting processing rules.

The meeting processing rule that you expected to match is associated with a different OTJ profile than the endpoint. For example, if the endpoint has an Exchange email address and is associated with an Exchange integration, but the rule that the meeting matches is associated with a G Suite integration, or vice versa.
  1. Check that the OTJ Endpoint has been associated with an OTJ Endpoint Group.
  2. Check that the OTJ Endpoint Group is associated with the same OTJ Profile as the Meeting Processing Rule that you expected to match.

One-Touch Join has not been able to obtain a meeting room alias from the invitation because the meeting information supplied in the body ("description") of the invitation has been stripped by Exchange prior to One-Touch Join processing the meeting.

You can confirm that this is the case by Adding a temporary custom rule for debugging purposes.

Change the calendar processing rules for the room to ensure that the meeting body is not deleted. For instructions on how to do this, see either Configuring calendar processing (for Exchange on-premises) or Configuring calendar processing (for O365).
The meeting is not a video meeting. If you do not want non-video meetings to appear on the room endpoint, you can disable the Enable non-video meetings option.

There is a delay between a meeting invitation being sent and it appearing on the room endpoint.

A short delay is expected due to internal processing, and the actual time taken will depend on the number of endpoints in your One-Touch Join deployment, and the number of daily API requests you are allowed to make to your calendar service. Limits are also imposed so that Conferencing Nodes do not become overloaded with One-Touch Join requests.

For more information, see Frequency and limitations on calendar requests.

For larger G Suite integrations you can ask for an increase to the number of calendar API requests you can make in a 24-hour period, thus allowing you to update endpoints more frequently. For more information, see Requesting an increase to API limits.

You could also consider Deploying a dedicated One-Touch Join platform.

On the status page and logs, the Alias field is blank.

Process alias for private meetings has been disabled and the meeting was flagged as private.

Review whether these settings are appropriate for your deployment.

Enable non-video meetings has been enabled, but OTJ was not able to obtain a valid alias for the meeting.

This may be because Exchange is using default calendar processing, which removes the header and body of the invitation, and replaces the subject with the organizer's name.

Ensure that Exchange calendar processing properties are changed from the default, as per the instructions in Configuring calendar processing on room resource mailboxes.
On the status page and logs, the Subject field is showing the organizer's name.

Replace subject for private meetings has been enabled and the meeting was flagged as private, or

Review whether these settings are appropriate for your deployment.

Replace empty subject has been enabled and there was no subject.

This may be because Exchange is using default calendar processing, which removes the header and body of the invitation, and replaces the subject with the organizer's name.

Ensure that Exchange calendar processing properties are changed from the default, as per the instructions in Configuring calendar processing on room resource mailboxes.

When configuring Exchange you are getting the following errors or warnings:

ErrorCode="InvalidUser"

ErrorMessage="Invalid user"

The service account being used for One-Touch Join does not exist, or does not have a license.
  • Ensure that the service account has been added correctly, with the correct username and password/authentication information.
  • Ensure that the service account has a valid license.
One-Touch Join cannot contact an endpoint via its API. The following appears in the alarms and logs:
Non-200 status code returned when trying to upload OBTP bookings to endpoint and
StatusCode="307"
One-Touch Join is configured to communicate with the endpoint via HTTP and the endpoint redirects to HTTPS. Configure One-Touch Join to use HTTPS to communicate with the endpoint.

Adding a temporary custom rule for debugging purposes

In some situations, the information in the body of the original meeting invitation may not be available for One-Touch Join to process. This will result in a meeting that appears in the calendar of the room resource associated with the endpoint, and in some cases on the endpoint itself, but there is no Join button.

The following steps explain how to create a temporary custom meeting processing rule to determine whether the information in the original meeting invitation is being received by One-Touch Join.

  1. From One-Touch Join > OTJ Meeting Processing Rules, select Add OTJ Meeting Processing Rule.
  2. Configure the rule as follows:

    Name

    Enter a name for this rule.

    In our example we have used OTJ Troubleshooting.

    Description

    Although a description is optional, we recommend that you enter one for this rule.

    In our example we have used Temporary troubleshooting of MS Exchange misconfiguration.

    OTJ Profile

    Select the OTJ Profile associated with the Exchange Integration that you wish to troubleshoot.

    You should also double-check the selected OTJ Profile to ensure that the Endpoint Group to which the endpoint in question belongs has been added to the profile's Chosen Endpoint Groups section.

    Priority We recommend that you give this rule the lowest priority, i.e. 200.
    Meeting type Select Custom.
    Custom template

    Enter the following Jinja2 snippet. You may wish to replace OTJTemporaryDiagnostics with a string of your choice, but it should be easy to search for and distinct:

    {{pex_debug_log("OTJTemporaryDiagnostics: Subject:", calendar_event.subject, "; BodyLength:", calendar_event.body|pex_strlen, "Organizer:", calendar_event.organizer_email )}}
    Enabled

    Select Enabled prior to testing the rule.

    Ensure that you de-select this option as soon as you have finished testing.

  3. Create a test meeting in the usual way, and invite the room resource. Ensure you give the meeting a distinctive Subject, so you can find it easily when searching the logs.

    In our example we have used Testing OTJ troubleshooting.

  4. Go to History & Logs > Support Log. In the Search field at the top right of the page, enter the string that you used at the start of the Jinja2 snippet for the Custom template.

    In our example this was OTJTemporaryDiagnostics.

  5. Check the relevant log entries for those that contain pex_debug_log and the subject you used for your test meeting.

    In our example, we found:

    2020-02-21T11:22:01.168+00:00 mcu-workervm-1 2020-02-21 11:22:01,168 Level="INFO" Name="support.jinja2" pex_debug_log Detail="OTJTemporaryDiagnostics: Subject:,Testing OTJ troubleshooting,; BodyLength:,0,Organizer:,pete@pexipasoslo.onmicrosoft.com"

    We can see from the above entry that the BodyLength was 0, therefore we can assume that the body of the message is being removed. We should therefore change the calendar processing rules for the room to ensure that the meeting body is not deleted. For instructions on how to do this, see either Configuring calendar processing (for Exchange on-premises) or Configuring calendar processing (for O365).

  6. Remember to disable or delete the custom rule to prevent generating further log output.