Skip to content

Concepts

Consumers and users

A consumer is a product that integrates Tele. Each consumer has its own API key and secret.

Users belong to a consumer and are identified by your user_id. The same user_id under two different consumers refers to two different people, and consumers never see each other's calls, users or usage.

Tele creates users automatically the first time it sees a user_id in a token or request body; no registration step is needed. If a user carries a display name or a team, Tele stores them: - name is shown to other participants in calls. - team is used to attribute billing.

Calls

A call is a scheduled or instant meeting with a host and a list of members.

Field Meaning
access_policy listed_only (default): only members can join. any_client_user: any of your users with the invite code or call id can join, and becomes a member when they do.
scheduled_start / scheduled_end Optional. Without scheduled_start, the call is an instant call you can join right away.
join_opens_before_minutes How early people can join. Default 10.
join_closes_after_minutes Grace period after scheduled_end. Default 30.
max_participants 2–10. Default 10.
max_duration_minutes Hard limit from the first join. Default 240 (4 h).
record Record the call automatically (Recording).

Lifecycle

stateDiagram-v2
  [*] --> scheduled: create
  scheduled --> live: first participant connects
  live --> ended: host ends · join window closes · max duration reached
  scheduled --> ended: join window closes
  scheduled --> cancelled: host cancels
  live --> cancelled: host cancels
  • Join window: a call is joinable from scheduled_start − join_opens_before until scheduled_end + join_closes_after. Outside that window, joins fail with too_early or too_late.
  • Ending: when a call ends or is cancelled, everyone connected is disconnected and nobody can join again.
  • Automatic end: Tele ends calls on its own once the join window closes or max_duration passes. Unscheduled calls that never start are ended after 7 days.

Invites

An invite is a random code that identifies a call. It is not a credential. A user still needs a valid user token from you, and the call's access_policy still applies.

Invites can carry an expiry (expires_at), a use limit (max_uses) and a label. They can be revoked at any time. Every call gets one default invite when it is created, and you can create more. See Scheduling & invites.

Sessions

A room session is one continuous lifetime of the media room behind a call. A call can have several, for example if everyone leaves and people rejoin later.

Each session records: - when the first person joined and when the last person left; - every participant session: user, join and leave time, IP address, user agent, platform and disconnect reason; - the peak and unique participant counts; - the billed room-minutes and amount.

IP addresses are kept for 30 days

After 30 days Tele erases the IP address and user agent. The rest of the session record stays.

Room-minutes

Tele bills by room-minutes: the time a call's room is in use, regardless of how many people are in it. A 10-minute call with 4 people costs 10 room-minutes, not 40.

The default rate is 1 BDT per room-minute, rounded up to the whole minute, and a host waiting alone counts as in use. See Usage & billing for the exact rules and rate overrides.