Docs / Phone system
Tenants (companies)
A tenant is one company on the phone system. Every extension, phone, phone number, menu, recording and call record belongs to exactly one tenant, and tenants never see each other. A server for a single business has one tenant; a reseller or a hosted service runs many on the same server. This chapter covers creating, switching off and deleting tenants, what a tenant owns, its administrators and the settings that are kept per tenant.
What a tenant owns
Each tenant has its own:
- number plan: extensions, ring groups, call queues, conference rooms, auto attendants, business hours and paging groups (Extensions and users);
- phones and other devices, including desk phones it has been given and DECT handsets;
- phone numbers (DIDs) and outbound routes (Phone numbers and routes);
- trunks it added for itself (trunks can also be shared by all tenants, see Trunks (carriers));
- prompts and hold music, contacts and directory sources;
- voicemail, call recordings, call history and change history;
- sign-in accounts for its administrators and phone users;
- call limits, recording retention, rate plan and fees.
Extension numbers are per tenant: Acme Dental and another company can both have extension 101. Outside phone numbers are different: a number can be routed only once on the server (per trunk), because the carrier delivers it to the server, not to a company.
Some things belong to the whole server and are managed by system administrators only: trunks marked Shared by all tenants, Server settings, Security, the Server pages, and the list of tenants itself.
Creating a tenant
Only system administrators see the Tenants page.
- Open Tenants and click New tenant.
- Fill in Name, Short code, Time zone and Main number (see the table below).
- Click Create tenant.
| Field | What to enter |
|---|---|
| Name | The company name as people should see it, for example Acme Dental. |
| Short code | The tenant's code inside the system, for example acme. It cannot change later. |
| Time zone | An IANA time zone such as America/Chicago. The console fills in your browser's zone. |
| Main number | The company's main outside number, for example +16125550100. Optional. |
The console switches to the new tenant and opens Extensions & numbers with the form for the first extension, because a tenant without extensions cannot make or take calls. Continue with Creating an extension.
If you answered yes when the setup wizard asked about the first tenant, it already exists and appears in the list.
The short code
The short code is 2 to 16 characters: lowercase letters and digits, starting with a letter. Dashes, spaces and underscores are not allowed, so acme, acmedental and acme2 work but acme-dental does not. The code appears in every SIP username of the tenant (acme_101), in the names the engine uses for its objects and in the folder names of its files, which is why it can never change. Pick something short that you will recognise in logs.
Time zone
The tenant's time zone decides when business hours are open, the date and time read out with voicemail messages, and what the speaking clock (*60) says. Use the zone where the company works, not where the server stands. A wrong zone shows up as menus that switch to "closed" an hour or more too early or late.
Main number
The main number is the caller ID for outside calls from any extension that has no outbound caller ID of its own, and for outside callers whose calls are forwarded out again (for example to a ring group member's mobile). It must be 3 to 15 digits with an optional leading +. Without a main number and without an outbound caller ID on the extension, outside calls carry only the extension number, which most carriers refuse. See Caller ID.
Working on one tenant
Most pages of the console show one tenant at a time. A system administrator chooses it in the tenant picker at the top of the console (it shows Acme Dental (acme)), or clicks Manage next to the tenant on the Tenants page, which selects it and opens Extensions & numbers. The choice is remembered while the browser tab stays open.
Tenant administrators have no picker: they always work on their own tenant.
The Tenants page lists every tenant with its main number, the number of extensions (and of all numbers in its plan), its phone numbers (DIDs), time zone and status (Active or Switched off).
Changing a tenant's name, time zone or main number
The console has no form for this yet. Use the command line on the server:
onyx tenant set acme --name "Acme Dental Group" --tz America/Denver --main-number +16125550100
An empty --main-number "" removes the main number. Changes reach the engine within a second. The tenant's hold music is chosen on Prompts & hold music (see Hold music).
Switching a tenant off
To suspend a company without losing anything, for example for an unpaid bill:
- Open Tenants.
- Click Switch off next to the tenant.
While a tenant is switched off:
- its phones can no longer register, so they show as unregistered and cannot call;
- calls to its phone numbers are refused as an unallocated number, without being answered;
- no outside calls leave on its behalf, and trunks that belong only to it are not used;
- its tenant administrators and phone users can no longer use the console or the portal.
Everything is kept: extensions, voicemail, recordings, call history and settings. Click Switch on to bring it all back. Only system administrators can switch a tenant on or off. The same from the command line: onyx tenant set acme --enabled off.
Deleting a tenant
Deleting a tenant cannot be undone. Make a backup first if there is any chance you need its data again.
- Open Tenants.
- Click Delete next to the tenant. The button changes to Deletes everything: click again.
- Click it again within four seconds.
This removes the tenant's number plan, devices, phone numbers, outbound routes, its own trunks, prompts and hold music entries, contacts, desk phone assignments, call limits and all its sign-in accounts. Its call records and change history entries stay in the database, no longer linked to a tenant, so the console's pages for a tenant no longer show them.
The tenant's voicemail messages, recordings and audio files stay on the server's disk (under /var/spool/onyx-voice and /var/lib/onyx-voice, in folders named after the tenant code); Onyx Voice does not remove them. If you later create a tenant with the same short code, its mailboxes would find the old messages, so remove those folders first or use a different code.
From the command line, onyx tenant delete acme --yes does the same; without --yes it refuses.
Tenant administrators
A tenant administrator manages one company and nothing else. To give someone that role:
- Pick the tenant at the top of the console.
- Open Sign-in accounts and click New account.
- Enter the Name and E-mail address, choose Tenant administrator under Role and the company under Tenant.
- Keep the suggested password or click Suggest for another, then click Create account.
- Click Copy sign-in details and pass them on. The password is not shown again.
A tenant administrator sees only their own tenant: its numbers, phones, routes, prompts, contacts, call history, recordings and reports. They can add trunks for their own tenant, but cannot change shared trunks, switch their tenant off, or open Tenants, Security, Call limits, Server settings or the Server pages. More about accounts, roles and two-factor sign-in is in The web console and sign-in accounts.
Settings kept per tenant
These settings belong to one tenant. Pick the tenant first, then open the page.
| Setting | Where | More |
|---|---|---|
| Hold music | Prompts & hold music, card Hold music for this tenant | Hold music |
| How long recordings are kept | Recordings, card Keep recordings for | Call recordings |
| Rate plan and monthly fees | Billing (system administrators set them) | Billing |
| International and premium calls, calls at once, calls per hour, daily spend cap | Call limits (system administrators) | Call limits (toll fraud) |
| Outside contacts and directory sync | Contacts | Contacts and directory sync |
| Which tenant new plug-and-play phones join (server-wide, names one tenant) | Server settings, Tenant for new plug-and-play phones | Desk phones |
Call parking uses number 700 and slots 701 to 720 in every tenant, and a parked call waits 120 seconds; these cannot be changed from the console or the command line. See Call parking.
From the command line
onyx tenant list
onyx tenant add acme --name "Acme Dental" --tz America/Chicago
onyx tenant set acme [--name ..] [--main-number <number>] [--tz <zone>] [--enabled on|off] [--moh <class>|default]
onyx tenant delete acme --yes
onyx tenant add without --tz uses America/Chicago. Its --domain option stores a SIP domain for the tenant, which Onyx Voice does not use yet. Every command is described in Command line (onyx).