Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Welcome

This guide covers the hosted PBX portal: your company’s phone system, hosted by your operator. Everything is set from the portal, in a web browser, on a computer or a phone.

Each person sees the portal according to their role:

RoleWhat they do
UserManages their extension: call forwarding, voicemail, their call log, shared directory.
Customer adminManages the company’s phone system: call flow, opening hours, voice greeting, users, call recordings, settings.

Start with Sign in, then go to the chapter for your role. Administrators can also do everything a user does.

This guide opens from the Documentation link in the portal menu and on the sign-in page. Administrators also have the API documentation link, to connect their tools (see API and integrations).

A word or a screen doesn’t match what you see? The guide follows the latest version of the PBX; your operator will tell you whether your installation is up to date.

Sign in

The portal is displayed in your browser’s language; the Français and English links under the sign-in card change it. Once you are signed in, your account’s language applies (see My account).

First sign-in

Your administrator creates an account for you; you receive an invitation email. The link opens the Choose your password page: at least 12 characters. A phrase of several words is safer and easier to remember than a complicated word. The link is valid for 7 days.

Then sign in with your email address and this password.

From your operator’s portal

If your operator has set it up, a link in their portal (customer area, Odoo…) signs you in directly to the phone system, with no password or code. If the link is refused, the sign-in page gives the reason: go back to the portal and try again, or sign in with your email address.

With your company directory

If your company has set it up, enter your email address then click Use my company directory: you sign in with your Microsoft or Google account, or your directory’s account, and its own two-step verification.

Two-step verification

It is mandatory for the operator’s and resellers’ teams. For accounts of a customer company, admins included, it is optional, unless the company’s admin enforces it (Settings page); anyone can turn it on themselves from My account.

At the first sign-in, the portal shows a QR code. Scan it with an authenticator app (Google Authenticator, Microsoft Authenticator, Aegis…), then enter the 6-digit code it shows. The portal then gives you backup codes: each one allows one sign-in if you no longer have your phone. Write them down and keep them somewhere safe; they will not be shown again.

At later sign-ins, after the password, enter the code from the app, or one of your backup codes.

Instead of a code, you can use a passkey: the fingerprint, face or PIN of your phone or computer. See My account.

Stay signed in

The Stay signed in on this device for 30 days box is checked by default. On this device, you stay signed in for 30 days without entering the password or the code again. Uncheck it on a shared computer; the session then lasts 12 hours.

Sign out (at the bottom of the menu) closes the session on this device only.

Forgotten password

On the sign-in page, click Forgot your password?, then enter your account’s email address and click Send me the link. The email contains a link to the Choose your password page; it is valid for one hour. Nothing arrives? Check your spam folder, or check the address with your administrator.

Troubleshooting

  • Password or code refused: after 5 wrong attempts, the account is locked for 15 minutes.
  • Too many attempts from your network: wait a minute before trying again.
  • Invitation link expired: ask your administrator to send the invitation again.
  • Phone lost without backup codes: ask your administrator to reset your two-step verification.
  • Device lost or stolen: from another device, sign out everywhere.

My account

The My account page (left menu) gathers your account’s security.

Language

French or English, for the portal and the emails sent to you (invitation, forgotten password, phone setup link). My organization’s follows the setting of your company or your operator. It also applies to what you download: file names, columns and format of CSV exports, and the assistant’s answers.

Passkeys

A passkey replaces the 6-digit code: fingerprint, face or PIN of the phone or computer. It only works on this site, which protects against phishing.

To add one: give it a name (“Office computer”), then Add a passkey and follow your browser. At the next sign-in, after the password, choose Use a passkey. A passkey you no longer use can be deleted from the list.

Signed-in devices

On a trusted device, the session lasts 30 days. If a device is lost or stolen, click Sign out of all devices: all your sessions are closed, including this one, and the password and code will be required again everywhere.

My data

Download my data produces a file with what the phone system keeps about you: account, extension, sign-ins, your extension’s calls and voicemail messages (GDPR right of access).

Home

The Home page sums up what needs your attention today:

  • today’s missed calls, to call back;
  • new voicemail messages;
  • a phone that is not connected (its calls go to its voicemail);
  • call forwarding active on your extension.

Each line leads to the relevant page (View, Listen, Change). Nothing to report: all is well.

For the customer admin, Your phone system also shows where the company’s numbers are routed, whether the phone system is open or closed right now, the number of connected extensions and the month’s calls. Common tasks lead straight to the most frequent settings: forward an extension, call back missed calls, listen to messages, change the opening hours.

The portal on your phone

The portal installs like an app, without an app store: on Android (Chrome), menu ⋮ then Install app; on iPhone (Safari), Share then Add to Home Screen. It then opens full screen, with your operator’s name and color. The data stays on the server: without a network, the portal opens but shows nothing new.

My extension and call forwarding

The My extension page (Team for the customer admin) sets up your line. Each setting applies from the next call.

Call forwarding

Four kinds of call forwarding, each to a number of your choice (landline or mobile, for example 06 12 34 56 78):

ForwardingWhen
Forward all callsAlways: the phone no longer rings.
If busyYou are already on a call.
No answerNobody picks up, before voicemail.
If the phone is unreachableNo phone is connected to your extension.

Check the forwarding, enter the number, then Save. Uncheck to stop the forwarding.

Recording

The Recording tab shows whether your extension’s calls are recorded: all of them (received, outgoing and internal) or none. The customer admin sets it.

Phone

The Phone tab installs your line on your mobile phone or your computer.

  • Email the link: you receive an installation link, valid for 7 days. Open it on the device to set up: it tells you which app to install, then Set up my line configures it in one step.
  • Show the links: on the computer, scan the QR code with your phone’s camera, once the app is installed; for Linphone on the computer, Set up Linphone or the configuration address to paste into Linphone.

Do not share these links: they contain your extension’s password.

A phone that is not connected receives no calls: your calls go to your voicemail, or to your “unreachable” forwarding. Check that it is switched on and connected to the network; otherwise, see your administrator.

Voicemail

The Voicemail page lists the messages left on your extension; the customer admin sees all the mailboxes of the phone system.

For each message: the date, the caller, the duration, and its written transcription if it is turned on. Listen plays it in the browser. You can mark it as heard or as new, or delete it.

Mailbox settings

  • Callers can leave a message: unchecked, the mailbox no longer accepts messages.
  • Send each message to: up to 5 email addresses, separated by commas.
  • Attach the message to the e-mail: the audio file is sent with the email.
  • Keep the message in the box after the e-mail: otherwise, it is removed once sent.
  • Transcribe messages to text: the message’s text arrives in the email and in the portal (if your operator offers transcription).

Voicemail greeting

Without a greeting of your own, the default greeting is played. You can upload an audio file, or type the text, hear it read by the synthetic voice, then Use this message: the greeting is in place right away. The text stays displayed; edit it and start again to change the greeting.

From the phone

Dial your extension’s voicemail number (usually *97) to listen to your messages. A light on compatible phones signals new messages.

Call log

The Call log page lists your extension’s calls; the customer admin sees all the extensions of the phone system.

  • Period: today, 7 days or this month.
  • Views: all, missed, received, outgoing.
  • Extension (customer admin): the calls of a single extension.
  • At the top, the figures for the period: incoming calls, missed calls (and messages left), outgoing calls, average answer time, connections.

A call is missed when nobody picked up the caller and they did not leave a message.

A call received then forwarded to an outside number (an extension’s forwarding, an outside number in a call flow or a group) gives two lines: the received call, with the time connected with the other party under its duration, and its connection, the outgoing call to that number. The connection is billed as an outgoing call; it is not counted with outgoing calls but in its own tile (number, duration, share of answered calls). A recorded call can be played from the Recordings page.

Export (CSV) downloads the calls shown, for a spreadsheet, in your account’s language (in English: , separator and decimal point; in French: ; and decimal comma), with times in the customer’s time zone.

If the company has chosen it, external numbers are shown partly hidden (06 •• •• •• 78). The customer admin can show them in full; each access is logged.

Shared directory

The Directory shares the company’s contacts: they appear on every phone of the phone system, and their name is displayed when they call.

Everyone can view it and filter it by name or number. The customer admin adds, edits and deletes contacts: a name and a number.

Users and extensions

The Team page lists the PBX accounts: each person’s name, their extension number (or “no extension”) and whether their phone is connected. At the top, the number of extensions and of connected phones. The phone status updates by itself as soon as a phone connects or disconnects, without reloading the page (as on the home page and the customer’s page).

Click a user to set up their extension, just as they would themselves from My extension:

  • Forwarding: all calls, if busy, no answer, if unreachable;
  • Recording: all the extension’s calls, or none;
  • Phone: connection status, device, last connection, caller ID, and phone installation;
  • Account: see below.

Install a phone

In the Phone tab, Email the link sends the user an installation link, valid for 7 days: opened on their phone or computer, it says which app to install and sets up the line. Show the links displays here the QR code to scan with the phone’s camera, and the Linphone configuration address for the computer.

These links contain the extension’s password: show them only to its owner.

Lost phone or link shown by mistake: Renew the SIP password gives the extension a new password. Its phones stop working and links already sent no longer work: set up the extension’s phones again with a new link.

Settings apply from the next call, without publishing the call flow.

Add, edit or remove a user

New user: their name, email address, role (user, or admin who manages the PBX like you) and, if they have a phone, their extension number (2 to 8 digits). They receive their invitation by email.

A user’s Account tab:

  • Save: their name (also the one shown on colleagues’ phones), email address and role;
  • Disable: they can no longer sign in and their extension no longer makes or receives calls; their voicemail and settings remain. They no longer count towards the license. Enable restores everything;
  • Delete: the account and its extension disappear, voicemail included. If the call flow still leads to this extension, the deletion is refused: remove it from the call flow first. Then uninstall the app from their phone.

Reset two-step verification is for a user who has lost their phone: their sessions are closed and they set up a new one at their next sign-in. Only an admin of the level above can do it: you for your users, your operator or reseller for admins.

Export their data downloads what the PBX keeps about them (right of access); Erase (GDPR) also deletes the recordings of their calls. See Personal data.

Your own account is set up in My account. To change an extension number, create the new extension, then delete the old one.

Call flow

The Call flow decides what happens when someone calls the company: which phone rings, at what time, with which message, and where the call goes if nobody answers.

The modules

A call flow starts from the company’s numbers and chains modules:

ModuleRoleExits
NumberA company number: where the call comes in.Destination
Business hoursOpen or closed depending on the day and time.When open, when closed
Voice menuA message and a keypad menu (“press 1 for…”).One per key, no choice
Ring groupSeveral extensions ring, all together or one after the other.No answer
QueueThe caller waits with music until an extension answers.Voicemail of the answering extension
ConferenceA phone meeting room, with access codes.—
External forwardForwards to an outside landline or mobile number.—
SIP connectorHands the call to a third-party service (phone assistant…) over a SIP link.—

Each exit leads to another module, an extension, a voicemail, an external number, or nothing (hang up). Each module has an internal number, dialable from the extensions: ring groups in 600, queues in 700, business hours in 800, voice menus in 900, forwards in 500, connectors in 400, conferences in 8000.

Editing the call flow

+ Add a module, choose its type, then set it up in the panel that opens. To connect an exit, drag it to a module in the diagram, or choose its destination in the panel. The List view shows the same call flow as text, number by number.

A few settings:

  • Business hours: one time range per day (09:00-18:00), a lunch break, closed on public holidays, exceptional closures (5 schedules at most).
  • Voice menu: the welcome message and one exit per key.
  • Ring group: the members (extensions or external numbers), all together or one after the other, the ringing time.
  • Queue: the extension that answers, the maximum wait, the number of calls waiting.
  • Conference: participant code and moderator code (6 digits, different), number of participants, waiting for the moderator.
  • External forward: a French landline or mobile number, except 08 numbers. If nobody picks up, the voicemail of that number answers: for the PBX voicemail, go through a ring group.
  • SIP connector: copy the settings given by the service (SIP host, username, SIP number), then enter the password and click Save password. It is never shown again. The link is encrypted (SIP over TLS): the service must accept it, as Doctolib does, which requires it. Without it, the connector stays flagged for correction. If the service sends some calls back to a human, give it another number, connected to a ring group: never the one that leads to the connector, otherwise the call loops.

Draft and publishing

Your changes are saved as you go in a draft; calls keep following the published version. A module that needs fixing is flagged in red, with the reason.

Publish puts the draft into service, with an optional version note. A module still in error is left out: it keeps what is served today, the rest is published. An error that affects the whole call flow (two modules with the same internal number, a link to a deleted module) blocks publishing: it is shown at the top of the page, with the modules at fault (groupe:600). Discard draft goes back to the published version.

Versions lists previous publications; Load into the draft starts again from an older version, to be published afterwards.

Messages and music

The messages callers hear are set where they are used:

MessageWhere
Welcome message of a voice menuVoice menu module of the call flow
Closed messageBusiness hours module of the call flow
Pre-answer message of a number or a groupNumber or Ring group module of the call flow
Hold music of a queueQueue module of the call flow
Voicemail greeting of an extensionVoicemail page
Hold music of the PBXSettings page

For each one, there are two ways to do it:

  • Upload an audio file (20 MB at most): it is converted to the right format;
  • type the message, hear it read by the synthetic voice (Hear the voice), then Use this message. The voice is that of your company’s language; in English, if your operator has not installed an English voice, upload a recording.

A message in place can be played, replaced or removed. Without a message, the default behavior applies: the voice menu waits for a key, the phone rings straight away, the generic music is played.

Call recordings

Calls are recorded extension by extension, according to the setting chosen in Team (Recording tab).

The Recordings page lists the recorded calls of the period; each user sees those of their own extension, the customer admin those of the whole PBX. Search by number, then Listen, Download or Delete (the call stays in the log). Download all (ZIP) retrieves the recordings shown.

Recordings are kept for six months, then deleted automatically.

Let the people you talk to know that the call may be recorded: it is a legal obligation. The pre-answer message of the call flow is a good place for it.

Settings

The Settings page groups the company’s choices.

  • Call log: Partly hide numbers. External numbers show partly (06 •• •• •• 78) in the log; the customer admin can see them in full, and every access is logged.
  • Music on hold. Played in a loop, from the start, whenever a call is put on hold on your extensions. Without it, the generic music.
  • Sign-in from your operator’s portal. If your operator has opened it, your users go from its portal to the PBX without typing their password again. Create the account at first sign-in gives an account (user role, no extension) to a user known to that portal but not yet to the PBX; otherwise, create their account first.
  • Sign-in with the company directory. Your users sign in with their Microsoft, Google or directory account (OpenID Connect). Register an application with the directory using the Redirect URI shown, then enter the issuer, the application ID and secret, the display name and your domains. Create the account at first sign-in gives an account (user role, no extension) to an address from your domains that does not have one yet.
  • Security: Require two-step verification for all company accounts. Optional otherwise, admins included; when checked, an account that does not have it yet sets it up at its next sign-in.
  • Encrypted calls: Encrypt calls from computers (Linphone). Linphone switches to TLS signalling and SRTP audio on its next start; the server also offers SRTP to your other phones. The mobile app stays in clear: it does not support it yet. After turning the setting off, restart Linphone, otherwise it rejects calls in clear.
  • Email language: French or English, for invitations, voicemail messages sent by email and phone installation links; it is also the language of your phones’ announcements and of your voicemail.
  • Time zone: your company’s (by default your operator’s). Your opening hours, the portal’s dates and those announced by voicemail follow it; after a change, publish your call flow again so that the opening hours take it into account.
  • Retention periods for recordings (6 months at most), voicemail messages and the call log (one year at least); empty, your operator’s apply. See Personal data.
  • Blocked calls. Block telemarketing rejects calls from the ranges reserved for telemarketing by ARCEP, the French regulator. You can also block specific numbers (500 at most), with a note.
  • Usage cap. Against a hacked phone: if your outgoing calls reach the threshold set by your operator, over a rolling hour or day, they are restricted to French landlines and mobiles (emergency numbers remain reachable). You are warned by e-mail at 80% and at the threshold, and the home page shows it. After checking, Lift the restriction removes it for an hourly threshold; a daily threshold is lifted by your operator.

The Audit log (More menu) shows the actions taken in your company: sign-ins, accounts created or changed, settings changed. See Personal data.

Rates

The Rates menu shows the prices of your outgoing calls, set by your operator. They are read-only: for any question, contact your operator.

For each destination (French landlines, mobiles, countries…):

  • the prefix of the numbers concerned;
  • the price per minute, excluding tax;
  • the connection fee, charged once per answered call;
  • the increment, in seconds: 1/1 per second, 60/60 per started minute, 60/30 a first indivisible minute then per 30 seconds.

The search field filters by destination or prefix. When no rate plan is published for your account, the page says so.

API and integrations

The API page connects the PBX to your tools: CRM, billing, dashboard.

API keys

A key lets a tool act on the PBX with the rights of the chosen role. Give it a purpose (“CRM”), a role and, if you want, an expiry date, then Create the key. Copy it right away: it will not be shown again. Revoke cuts off access for the tool that uses it.

The API documentation of your space is served at the portal’s /api/docs/en address (/api/docs in French; OpenAPI description: /api/v1/openapi-client.en.json and /api/v1/openapi-client.json). An error carries a stable code and a detail; with the Accept-Language: en header, the detail is in English. Each key can send 300 requests in a row, then 10 per second; beyond that, the response is 429 (trop_de_requetes) with Retry-After, the number of seconds to wait. A key also connects an AI assistant: see AI assistants (MCP).

Webhook

A webhook notifies your tool of each event, by calling an https address of your choice:

  • new voicemail;
  • call recorded.

Each delivery is signed with a secret (X-Centrex-Signature header): this way your tool checks that it really comes from the PBX. The secret is shown only once; New secret creates another one. Recent deliveries shows each delivery, its attempts, its status and the cause of the last failure (address refused, host not found, unreachable, error response with its code). After 20 consecutive failures, the webhook turns itself off: the date is shown; saving it again turns it back on.

AI assistants (MCP)

The phone system exposes an MCP (Model Context Protocol) server: an AI assistant, whether Claude, ChatGPT, Le Chat or any other MCP client, uses the API operations with the rights of an API key. You ask it in plain language “who called yesterday after 6 pm?”, it calls the operations it needs and answers you.

Before you start

  • Server address: https://<portal address>/api/v1/mcp, over streamable HTTP. In the examples below, replace portal.example with your portal’s address.
  • API key: create one on the API page (API keys); it only sees and changes your own space. The MCP client sends it in the Authorization: Bearer <key> header.
  • Rights: the assistant has exactly the key’s rights. Choose the narrowest role that is enough, read-only to start with. Every write is recorded in the audit log, on the mcp channel, in the key’s name.
  • One key per tool: revoking it cuts off that tool alone.
  • Secret: don’t paste the key into a conversation. Put it in the tool’s configuration, or better in an environment variable (CENTREX_KEY below).
  • Data sent: API responses (call log, numbers, user names) go to the assistant’s provider. Check that this use is compatible with your GDPR commitments, in particular towards your staff.
  • Network: tools installed on your computer (Claude Code, Claude Desktop, Codex, Vibe) reach the portal from your computer. Web assistants (claude.ai, Le Chat, OpenAI API) reach it from their provider’s servers: the portal must be reachable from the internet.

Claude

Claude Code: one command, then /mcp in Claude Code to check the connection.

claude mcp add --transport http centrex https://portal.example/api/v1/mcp \
  --header "Authorization: Bearer $CENTREX_KEY"

Claude Desktop: go through the mcp-remote bridge (Node.js required). Add this server to claude_desktop_config.json (Settings menu, Developer, Edit Config), then restart the app.

{
  "mcpServers": {
    "centrex": {
      "command": "npx",
      "args": ["mcp-remote", "https://portal.example/api/v1/mcp",
               "--header", "Authorization:${CENTREX_AUTH}"],
      "env": { "CENTREX_AUTH": "Bearer <key>" }
    }
  }
}

claude.ai (web and mobile): a custom connector accepts a fixed key only if your Claude organization has access to request headers (in beta). The organization owner then adds the connector with the Authorization header and the value Bearer <key>. Otherwise, use Claude Desktop or Claude Code.

OpenAI

ChatGPT: its connectors accept only OAuth or no authentication. It can’t use an API key for now.

Codex (command line and editor extension): add the server to ~/.codex/config.toml, export CENTREX_KEY before starting Codex, then check with codex mcp list.

[mcp_servers.centrex]
url = "https://portal.example/api/v1/mcp"
bearer_token_env_var = "CENTREX_KEY"

OpenAI API (Responses), for your own integrations: declare the server in the request’s tools. allowed_tools limits the operations offered to the model, and require_approval makes you approve each call.

"tools": [{
  "type": "mcp",
  "server_label": "centrex",
  "server_url": "https://portal.example/api/v1/mcp",
  "authorization": "<key>",
  "require_approval": "always"
}]

Mistral

Le Chat: a workspace administrator opens Connectors, Add Connector, Custom MCP Connector tab. They give a name without spaces (centrex) and the server address, then choose HTTP Bearer Token authentication and paste the key.

Vibe (command line): add the server to ~/.vibe/config.toml, and export CENTREX_KEY before starting Vibe.

[[mcp_servers]]
name = "centrex"
transport = "http"
url = "https://portal.example/api/v1/mcp"
api_key_env = "CENTREX_KEY"
api_key_header = "Authorization"
api_key_format = "Bearer {token}"

Other MCP clients

Any MCP client that sends a fixed header works. Usual configuration:

{
  "mcpServers": {
    "centrex": {
      "type": "http",
      "url": "https://portal.example/api/v1/mcp",
      "headers": { "Authorization": "Bearer <key>" }
    }
  }
}

Each operation of your space’s API (documentation at /api/docs/en on the portal) is a tool with the same name (listerAppels, reglerRenvois…). With the Accept-Language: en header, tool descriptions and error details are in English.

Example requests

  • “Who called yesterday after 6 pm, and who answered?”
  • “How many missed calls this week, extension by extension?”
  • “Forward extension 102 to 06 12 34 56 78.”
  • “Which extensions aren’t connected right now?”

The portal also has its own assistant, with nothing to set up.

To cut off an assistant’s access, revoke its key on the API page.

Assistant

The Assistant answers, in plain language, what you want to see or set: “forward extension 101 to 06 12 34 56 78 when it doesn’t answer”, “who missed calls this morning?”. It answers in your account’s language (My account) and gives times in your organization’s time zone. It only appears in the menu if your operator has turned it on.

It looks up what it needs on its own. Every change is proposed to you before it is made: Confirm or Decline. It acts with your rights, never more.

When it needs a choice (which extension, which hours…), it offers the answers as buttons: click one, or answer freely in the input box.

The assistant is available if your operator has enabled it. It can pause when the month’s budget is reached, and resumes the following month.

Personal data (GDPR)

Retention periods

In Settings, Retention periods. Beyond them, the purge, which runs every hour, erases:

  • Call recordings: 6 months at most; the call stays in the log.
  • Voicemail messages, with their transcription.
  • Call log: one year at least, traffic data retention obligation (French CPCE, art. L34-1).

An empty field takes your operator’s period.

Data subject rights

  • Access and portability: everyone downloads their data from My account (My data); an admin does it for a user (Account tab, Export their data). The JSON file contains the account, the extension, sessions, sign-ins and actions, the extension’s calls over twelve months and voicemail messages.
  • Erasure: Erase (GDPR) deletes the account, the extension, the voicemail and the recordings of the extension’s calls. What remains is the call log, kept one year by legal obligation, and the audit log, protected against any change.

Audit log

The Audit log (More menu) shows who did what, when and from where in your company: sign-ins (successful and refused), accounts created or changed, settings changed, exports and erasures. Filter by action (start of the name: utilisateur., connexion) or on refusals; click an action for its details. Entries can be neither changed nor erased.

For your record of processing activities, your operator provides the phone system’s sheet: your company is the controller for its users and their communications, the operator its processor.