This article provides information on how to set up Unblu to use LiveKit to establish audio and video calls.
How LiveKit works in general is outlined in the LiveKit documentation.
This is a preview feature. It may be subject to change or removal with no further notice.
To enable preview features, set com.unblu.platform.enablePreview to true
.
For more information on preview features, refer to the Unblu release policy
Deployment options
Unblu Cloud and LiveKit
If you are using Unblu Cloud, LiveKit is provided as a service out of the box and you don’t have to configure anything.
Unblu on-premises and LiveKit in the Unblu Cloud
If you have an Unblu on-premises installation, you can still use LiveKit as an Unblu Cloud service. In this case, you must configure Unblu to use LiveKit as explained below, but Unblu provides you with the server, API keys, and secrets required for LiveKit.
Unblu on-premises and LiveKit
If you choose to run LiveKit on-premises, you have to set up and deploy your own LiveKit server. For more information on how to do so, refer to the LiveKit documentation.
LiveKit offers several deployment models, such as to a single VM (not scalable, and limited to up to 3000 call participants), or to a scalable Kubernetes cluster.
Configuring Unblu to use LiveKit
Once you’ve set up your LiveKit server, configure Unblu to use it. Set the following configuration properties at the ACCOUNT
level:
-
com.unblu.messenger.callEnabled: Set to
true
to enable audio and video calls in Unblu. -
com.unblu.conversation.call.callServiceProvider: The call service provider to use for audio and video calls. Set this property to
LIVEKIT
. -
com.unblu.conversation.call.livekit.apiUrl: URL pointing to the LiveKit server used by the Unblu server for API calls.
-
com.unblu.conversation.call.livekit.apiKey: LiveKit API key used to identify Unblu with LiveKit.
-
com.unblu.conversation.call.livekit.apiSecret: LiveKit API secret used by the Unblu server to authenticate against the LiveKit server and create access tokens for the clients.
-
com.unblu.conversation.call.livekit.accessTokenTimeout: Timeout, in seconds, for call access tokens that are handed out by the Unblu server to the clients (browsers) so they can connect to a LiveKit call.
-
com.unblu.conversation.call.livekit.serverUrl: LiveKit signaling server URL used by the clients (browsers) to connect to the LiveKit server.
-
com.unblu.conversation.call.livekit.customTurnEnabled: Set to
true
to use a custom TURN server for LiveKit. That way, Unblu establishes audio and video calls using the TURN server or servers specified in the configuration property com.unblu.webrtc.iceServers. Otherwise, the LiveKit TURN server is used.LiveKit isn’t compatible with all TURN servers. -
Select other options as required. See the Conversation call section of the configuration properties reference for an overview of the available options.
Video chat limitations
-
If a visitor navigates to a new page inside the Unblu-instrumented web page, the video connection is disrupted while the page loads and automatically re-establishes a connection as soon as possible. To work around this, visitors can use the pop-out feature.
-
The video chat can only be displayed in one browser window or tab. If the visitor has several tabs or windows open and they belong to the same Unblu conversation, the video chat stays in one window. If the user wants to transfer the video chat to a different window, they can do so in the chat user interface.
-
Currently, Unblu only supports up to six concurrent video chat participants.
-
Audio level indicators aren’t supported. A workaround is in place to indicate if a participant is speaking.
See also
-
For more information about data encryption, refer to the article about call service providers.
-
If you want to record and archive audio and video calls, refer to conversation recording.
-
If you use LiveKit for calls, you may also want to use it for screen sharing. Refer to the article Setting up screen sharing with LiveKit for more information.