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_beforeuntilscheduled_end + join_closes_after. Outside that window, joins fail withtoo_earlyortoo_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_durationpasses. 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.