Limits and quotas
Applies to: SimpleTwo 0.9.x · Checked: 20.09.2026
Every number below is a default. The "where it changes" column matters more than the numbers: half of these limits are configurable and half are fixed on purpose.
1. Messaging
| Limit | Default | Where it changes |
|---|---|---|
| One attachment | 50 MB | MSG_MAX_UPLOAD_MB |
| Members in one conversation | 10 000 | MSG_MAX_MEMBERS |
| Stored conversation-log revisions | 10 000 | MSG_CONVLOG_KEEP |
| Message retention | unlimited (0) | MSG_RETENTION_DAYS |
| "Online" after a connection drops | 45 s | MSG_PRESENCE_GRACE_SEC |
MSG_CONVLOG_KEEP bounds the revision log, not the message history. Retention of the messages
themselves is set separately and is unlimited by default: an organisation that needs messages
deleted has to say so.
2. Calls and conferences
| Limit | Value | Where it comes from |
|---|---|---|
| SFU egress per conference participant | ≈ 2 Mbit/s | the active speaker at 720p plus the rest at 180p |
Budget of one sfu node | 700 Mbit/s | 70% of a gigabit interface; the node is bandwidth-bound, not CPU-bound |
Share of participants through turn | ≈ 15% | the load profile; counted in both directions |
| One simultaneous recording | 4 vCPU / 4 GB | recorder records the room through headless Chrome |
| One meeting-room terminal call | forwarded without transcoding: the load is network, not CPU | mcu; with per-device transcoding (the next stage) this will be re-sized |
| A link into a call in progress | 15 minutes if nobody enters | otherwise it lives as long as the call |
3. Telephony
Telephony quotas have no defaults — they are set by the administrator in the dial plan, and until then none of them bounds anything:
| Quota | What it counts |
|---|---|
| concurrent calls per organisation and per trunk | peak |
| calls per minute per account | a burst from one account |
| new destinations per hour | the signature of a guessed password |
| spend ceiling per window | money; it blocks, it does not alert |
| working hours | international calls outside the window |
Allowed destinations are a list of country codes; anything not on it is refused.
4. Calendar
| Limit | Default | Where |
|---|---|---|
| How far a recurring series is expanded | 5 years | DIR_CAL_SERIES_CAP_YEARS |
| Default working hours | 09:00–18:00, Mon–Fri | DIR_CAL_WORK_START, DIR_CAL_WORK_END, DIR_CAL_WORK_DAYS |
| Full CalDAV access | off | DIR_CAL_CALDAV_ENABLED |
5. Accounts and participants
| Limit | Default | Where |
|---|---|---|
| Guest account lifetime | set by whoever invites | the ceiling is Settings → guest lifetime; the server trims a longer request to it |
| Kudos per person per month | 5 | an organisation setting; they do not accumulate and reset on the 1st |
6. Bots and AI
| Limit | Value | Where |
|---|---|---|
| Request and response size to the model | 25 MB | fixed |
| A bot's daily token budget | set when the credential is issued | the console, per bot |
| A bot's allowed models | a list, set with the credential | the console |
The budget and the model list are the only things standing between a bot and the provider's invoice: set them at issue time, not "without a limit for now".
7. Client distribution
| Limit | Value |
|---|---|
| Uploaded client build | 512 MB |