livqenoDocs

ConceptsConnection

Connection

A saved record of one client's session, so you can debug a call after it happened.

A connection is a saved record of one client joining one room. It shows when it started, how it ended, and what went wrong. Think of it as the "flight recorder" for a call.

You don't create connections. Livqeno records one every time an app joins a room. You read them afterwards, from your backend, the CLI, or the dashboard, usually when a user reports "my call didn't work".

Why it's useful

When a call fails, the user is often gone before you can look. The connection record stays behind. It shows:

  • the states the client went through (connecting, connected, reconnecting…)
  • the errors it reported
  • the media stats its SDK sent (like packet loss and bitrate)

Example: bob says his video froze yesterday. You look up his connections, see it went CONNECTED → RECONNECTING several times, with high packet loss. That points to his network, not your code.

It's a record, not a live object

There's no "connection" object in the client SDK. You read connections afterwards.

On your backend (TypeScript), find failed connections and open one:

const connections = await livqeno.connections.list({ state: 'FAILED' });
const detail = await livqeno.connections.get(connections[0].id);

Or in your terminal, with the CLI:

Terminal
livqeno connections list
livqeno connections inspect <connectionId>

States

CONNECTINGCONNECTEDDISCONNECTED
CONNECTEDRECONNECTING
RECONNECTINGCONNECTED
CONNECTINGFAILED
Connection states.
StateMeans
CONNECTINGThe app is joining.
CONNECTEDIn the call.
RECONNECTINGThe network dropped; the SDK is trying to get back.
DISCONNECTEDLeft the call (on purpose or not).
FAILEDNever got in. Check the errors on the record.

Where the data comes from

The client SDK sends it to Livqeno's telemetry endpoint (a reporting address), using the RTC token it already has.

  • Telemetry never slows down or blocks a call.
  • Turn it off with telemetry: false.
  • Sending is best-effort. If a tab closes mid-call, nothing more arrives. Missing data is shown as missing, not guessed.

See Telemetry & privacy.

How long it's kept

Connection and error records are deleted after 30 days by default (OBSERVABILITY_CONNECTION_RETENTION_DAYS). Look into a problem soon after it's reported.

Next steps

  1. Diagnostics: the live view of call quality, inside your app.
  2. Observability: watching calls across your whole app.
  3. Observability API: every endpoint for reading these records.