Custom Invocation

Vidyo understands that third-party partners and developers would like to customize VidyoConnect by embedding Vidyo technologies into workflows in various ways. This includes everything from slightly changing features that are available out-of-the-box to embedding our C SDK libraries. Therefore, we offer Custom Invocation of VidyoConnect, which is a solution that lies halfway along that spectrum.

With Custom Invocation, third-party partners and developers can customize the VidyoConnect client and invoke it from their platform. You should use Custom Invocation only if you want the existing client features and interactions, as well as a little more of your own functionality, such as passing behaviors for in-call screen features like public chat, device control, and content sharing.

Requirements

You can customize the VidyoConnect for Desktop behavior either during installation or at runtime. However, before you can do so, you must install the VidyoConnect for Desktop app.

The following VidyoConnect clients are supported:

  • VidyoConnect for Desktop
    • Windows® 32-bit
    • Windows 64-bit
    • macOS®
  • VidyoConnect for WebRTC
    • Mozilla Firefox®
    • Google® ChromeTM

Invoke VidyoConnect with parameters

The VidyoConnect application can be executed using a platform protocol handler. Platform protocol handlers allow you to inform the browser that your web app can handle URIs with certain schemes. Multiple schemes can be created with the protocol handler approach such as registering a web application to invoke parameters that we have defined in the Parameters section below.

To use Custom Invocation from VidyoConnect, you must have a middleware solution in place that will work with the Custom Invocation feature to enable a particular endpoint behavior. This is essentially any mechanism that will allow you to create a protocol handler so that you can use the Custom Invocation parameters.

By using a platform protocol handler, you can pass the parameters listed in the Custom Invocation Parameters section. This allows you to use a room link to execute the customized VidyoConnect application behavior. For more information about executing VidyoConnect directly from within your web application or a third-party web application to start a video conference with the customized behavior, see Use VidyoConnect Custom Invocation with Web Applications below.

The URI that should be used to modify the VidyoConnect application behavior upon joining a room is as follows:

  • If using Windows, the URI should look similar to the following:
    explorer vidyo://join?portal=[portal URI]&roomkey=[room key]&isCustom=true&<Custom Invocation parameters> start neo and join the room and modify XXX.
  • If using OS X, the URI should look similar to the following:
    open vidyo://join?portal=[portal URI]&roomkey=[room key]&isCustom=true&<Custom Invocation parameters>

If VidyoConnect is already running at the time of execution, the URI will cause VidyoConnect to join the specified room with the customized behavior.

To further clarify how Custom Invocation works, let’s use an example where the VidyoConnect application is executed from a platform protocol handler via a web server. At a high level, the following occurs:

  1. HTTPS sends a request to the web server with a room link.
  2. The web server processes the room link and redirects the web application to a page that contains the Vidyo URI scheme, which also includes all of the Custom Invocation parameters similar to the URI shown here (with added line breaks for legibility).

vidyo://join?portal=&roomKey=
&isCustom=true&userName=&displayName=Guest
&beautySc=true&loginMod=true
&welcomePage=true&labels=true&chat=true
&share=true&leftPanel=true&camMuteCntrl=true
&micMuteCntrl=true&muteCameraOnJoin=false
&muteMicOnJoinfalse&devSetting=true
&autoUpdate=true&participantNot=true
&remoteContentAccesstrue&shareOnJoin=false
&invite=true&search=true&lockUserName=false
&quituserHangup= false&autoAns=false
&winSzH=592&winSzW=900
&winPosX=23&winPosY=23

  1. The web server executes VidyoConnect via the platform protocol handler using the Vidyo URI scheme.

Parameters

The Custom Invocation parameters that you have specified in the URI are not visible in the room link when being invoked with VidyoConnect for Desktop.

Window parameters

Parameter

Required

Default value

Description

winSzW and winSzH 

No

592 (height)

900 (width)

The height and width of the VidyoConnect for Desktop window.

Note

This parameter is not available for WebRTC

inPosX and winPosY 

No

Center of screen

  • Defines the top left corner position of the window.
  • Use this parameter in conjunction with the height and width parameters.
  • If this parameter is not specified, VidyoConnect will launch in the default position which is in the center of the computer screen for all screen sizes.

Note

This parameter is not available for WebRTC

Login parameters

Parameter

Required

Default value

Description

loginMod

No

Enabled

Controls whether the Login module is displayed.

When disabled, users can only access VidyoConnect as guests.

lockUserName 

No

Disabled

Controls whether the username can be modified by the user.

When this option is enabled, the Mac username is used as the default username.

userName

No

N/A

The username that the user enters in the Username field upon logging in to the application.

If provided, then the user will not have to enter the username when logging in to the application.

password

No

N/A

This parameter is used in conjunction with the portal and userName parameters to log in users automatically.

If provided, then the user will not have to enter the password when logging in to the application.

logoutIfLogin

No

N/A

Logs out the user before logging them in with Custom Invocation. If the user is already logged in and Custom Invocation login is invoked without this parameter, VidyoConnect will do nothing.

For an example of how this parameter can be used, see Common use cases below.

keepMeSignIn

No

N/A

Keep users logged in to the VidyoConnect application when provided along with their username, password, and logoutIfLogin parameter.

Available only if supported by the portal and only for non-SAML authentication.

For an example of how this parameter can be used, see Common use cases below.

Invoke time parameters

Parameter

Required

Default Value

Description

displayName

No

Guest

The user's display name upon connecting to VidyoConnect for Desktop.

If passed, the VidyoConnect for Desktop client should display the name instead of prompting the user to enter the Guest Display Name.

If the admin has disabled the Welcome screen, then the default string "Guest" should only be used. Otherwise, the value should remain empty, forcing the user to specify their own Display Name.

portal

Yes

N/A

The Fully Qualified Domain Name of the VidyoPortalTM.

If passed, VidyoConnect for Desktop logs in to the VidyoPortal when launched.

The HTTPS prefix should be assumed if not specified.

roomKey

Yes

N/A

The key for the room retrieved from the room link.

If passed, VidyoConnect for Desktop logs in as a guest and joins the specified room.

roomPin

No

N/A

The PIN used to protect the room.

If passed, VidyoConnect for Desktop prompts the user to enter the room PIN prior to joining a conference.

Welcome page parameters

Parameter

Required

Default value

Description

welcomePage

No

Enabled

Controls whether the user can bypass the Welcome page and join a conference.

beautyScreen

No

Enabled

Controls whether the Beauty screen is displayed.

In-call parameters

Parameter

Required

Default value

Description

camMuteCntrl

No

Enabled

Controls whether the camera mute feature on the in-call and beauty screens is displayed.

chat

No

Enabled

Controls whether all public chat-related features are displayed.

devSetting

No

Enabled

Controls whether the user can change device settings by clicking the Device Settings menu item or right-clicking on the muted icons.

invite 

No

Enabled

Controls whether the Invite button is displayed.

labels

No

Enabled

Controls whether labels with the user’s name are displayed.

leftPanel

No

Enabled

Controls whether the left panel that contains the Participants List and Contacts is displayed.

micMuteCntrl

No

Enabled

Controls whether the audio mute feature on the in-call and beauty screens is displayed.

muteCameraOnJoin

No

Disabled

Controls whether the camera is muted upon entering a conference.

muteMicOnJoin

No

Disabled

Controls whether the microphone is muted upon entering a conference.

remoteContentAccess

No

Enabled

Controls whether the users are able to view content shared by other participants.

search

No

Enabled

Controls whether all search-related features are displayed.

share

No

Enabled

Controls whether the Content Sharing button is displayed.

shareOnJoin

No

Disabled

Controls whether the Content Share Preview Selection dialog is displayed when the user first enters the conference.

This does not affect the ability to start a content share later in the conference.

Note

This parameter is not available for WebRTC.

Disconnection parameter

Parameter

Required

Default value

Description

quituserHangup

No

Disabled

Controls whether VidyoConnect will automatically shut itself down after a user disconnects from a call.

Note

This parameter is not available for WebRTC.

Auto-update parameter

Parameter

Required

Default value

Description

autoUpdate

No

Enabled 

Controls whether to automatically check for new versions.

Note

This parameter is not available for WebRTC.

Direct dial parameter

Parameter

Required

Default value

Description

directDial

No

N/A

Specifies which entityID to invoke a Direct Dial call to.

Note

This parameter is not available for WebRTC.

Other configuration parameters

Parameter

Required

Default value

Description

disableAudio

No 

Disabled

This controls all audio including notification sounds and hides all audio related controls.

Enable this parameter if you want to use the VidyoConnect video capabilities, but not its audio capabilities.

autoAns

No 

Disabled

Controls whether incoming calls and invitations are answered automatically.

This only applies to the default tenant that is provided to users that are logged in.

Note

This parameter is not available for WebRTC.

participantNot

No

Enabled

Controls whether an audio indicator is heard when other participants join or leave the conference.

perfProfile

No

Low

Other supported values: High, Voice, Share

Defines the Video Preferences profile.

The perfProfile Custom Invocation parameter is ignored if VidyoConnect was installed with the MSI performance profile parameter.

wrac

No

N/A

Controls whether audio content is displayed in the waiting room while Epic customers wait for the physician to join the VidyoConnect call.

This parameter must match the parameter entered in the Key field on the Tenant Admin Settings > Feature Settings > Custom Parameters page. For example, if wrac7 is entered in the Key field, you must use wrac=7 as your custom parameter.

For more information, see Play content or display a custom background in a waiting room under Epic integration.

wrbc

No

N/A

Controls whether background content is displayed in the waiting room while Epic customers wait for the physician to join the VidyoConnect call.

This parameter must match the parameter entered in the Key field on the Tenant Admin Settings > Feature Settings > Custom Parameters page. For example, if wrbc7 is entered in the Key field, you must use wrbc=7 as your custom parameter.

For more information, see Play content or display a custom background in a waiting room under Epic integration.

wrvc

No

N/A

Controls whether video content is displayed in the waiting room while Epic customers wait for the physician to join the VidyoConnect call.

This parameter must match the parameter entered in the Key field on the Tenant Admin Settings > Feature Settings > Custom Parameters page. For example, if wrvc7 is entered in the Key field, you must use wrvc=7 as your custom parameter.

For more information, see Play content or display a custom background in a waiting room under Epic integration.

Common methods

There are various ways in which you may choose to use Custom Invocation, but the most common method involves customizing the VidyoConnect behavior and executing that behavior from your own web application or a third-party web application.

Use VidyoConnect custom invocation with Web applications

With URI schemes, you can communicate with other apps through a platform protocol handler that you have defined. If you would like to execute VidyoConnect directly from within your web application or a third-party web application to start a video conference with the customized VidyoConnect behavior, please follow the steps below:

  1. Provision a mapping from the VidyoPortal URL room key to a platform protocol handler that is structured as follows:
    <portal><key> = vidyo://join/?portal=xxx&key=yyy&params
  2. Obtain a room link from VidyoPortal or VidyoConnect.
  3. Point your web application to a link that is structured as follows:

    https:/myapp.com/linkredirect?https://portal/join/key

The initial web application link is redirected to a page that executes vidyo://join/?portal=xxx&key=yyy&params

Common use cases

There are various use cases that you may want to implement for your users. We have provided only some of the most common use cases below.

Keeping VidyoConnect users logged in

Admins can keep users logged in to the VidyoConnect app by providing their credentials along with the logoutIfLogin and keepMeSignIn parameters.

For example: vidyo://login?portal=https://portal address&username=user&password=password&logoutIfLogin=true&keepMeSignIn=true

Bypassing the Welcome, Beauty, and Login pages to join a conference

To bypass the Welcome, Beauty, and Login pages to provide users with direct access to a conference, use the following parameters and values:

  • beautyScreen= false
  • loginMod= false
  • welcomePage= false
  • displayName= enter a unique value (for example, Agent_009)

Disabling the left panel

To disable the left panel, set the leftPanel parameter to false.

Muting the camera and microphone upon joining a conference

To mute the camera and microphone upon joining a conference, use the following parameters and values:

  • muteCameraOnJoin= false
  • muteMicOnJoin= false

Invoke VidyoConnect with iFrames

iFrames are the pre-call, in-call, and post-call URLs that allow enterprise organizations to load content from their domains or a third-party system into VidyoConnect per tenant.

  • Pre-call iFrames appear before the user joins the call.
  • In-call iFrames appear around the window (that is, top, bottom, left, and right) of the main in-call experience. By default, in-call iFrames are hidden.
  • Post-call iFrames appear at the conclusion of the call.

For security reasons, iFrames cannot be passed as parameters using the protocol handler approach. However, iFrames can currently be passed as parameters using the Web Services APIs via the VidyoPortal. The VidyoConnect application will only support the iFrame URLs provided in the endpoint behavior object.

To configure iFrames, do the following:

  1. Select the Enable Custom Roles checkbox on the Settings > Feature Settings > Custom Roles page using your Super Admin VidyoPortal account.
    For additional information, refer to the VidyoPortal and VidyoRouter Administrator Guide.
  2. Select the Enable Custom Roles checkbox for the appropriate tenants on the Tenants page using your Super Admin VidyoPortal account.
    For additional information, refer to the VidyoPortal and VidyoRouter Administrator Guide.
  3. Configure the iFrame window size using the appropriate IframeSize, windowSizeHeight, and windowSizeWidth Web Services APIs.
    These specific window dimensions can be passed along with the iFrame. For additional information, refer to the SOAP APIs under Web Services APIs.
  4. Enable the endpoint behavior object and provision it via the SOAP endpoint APIs (createEndpointBehavior, getEndpointBehavior, and updateEndpointBehavior).
    For more information about these SOAP endpoint APIs, refer to the SOAP APIs under Web Services APIs.
  5. Install the VidyoConnect for Desktop app if not already installed.
  6. Launch the VidyoConnect for Desktop app and log in.

When the endpoint behavior becomes available, the following occurs:

  • The VidyoConnect application joins the room with the specified behavior.
  • VidyoConnect receives the endpoint behavior data from the login response for both guest and logged-in users.

We recommend that all iFrame URLs be hosted on the same domain.

Using pre-call iFrames

The pre-call iFrame displays after the user logs in to VidyoConnect for Desktop or WebRTC or clicks a guest link (pre-call iFrames are not yet supported on the VidyoConnect mobile app). You can use the pre-call iFrame as a welcome page, which allows you to display your company’s branding, to invite your guests into a call. By default, the pre-call iFrame size is set to full. You can configure the time in which the pre-call iFrame remains open before the user joins the call.

Using in-call iFrames

You can use the in-call iFrame to display content at the top, bottom, left, or right of the main in-call window. By default, the in-call iFrame is set to 20% of the window’s default height and width dimensions. However, you can change this value when necessary.

Using post-call iFrames

You can use the post-call iFrame, for example, to display a simple thank you message to your users after the call ends. For VidyoConnect for Desktop, the post-call iFrame displays until the user closes the VidyoConnect app; for VidyoConnect for WebRTC, the post-call iFrame displays until the user closes browser window. Post-call iFrames are not yet supported on the VidyoConnect mobile app.