Four parts, one system: your PBX makes the calls, Odoo runs it, the browser is the handset, the voice AI picks up. Every call becomes a permanent Odoo record - with consent, a retention period and a complete audit trail.
The phone is the last ungoverned system in the building.
Nobody knows who last changed the number forwarding. Nobody can undo it. And what was discussed on the phone only exists where somebody typed it up. PhoneDesk brings telephony into Odoo: call routing becomes an auditable record, every call becomes a record, every access is in the audit trail.
The PBX connects the calls. Odoo runs it. The browser is the handset. The AI picks up when nobody can. Each part feeds into the next - here's what PhoneDesk looks like day to day.
Transfer, consultation and conference are instructions to the PBX, not tricks in the browser. The PBX carries them out, even if a window closes at the desk.
Put the caller on hold, speak to your colleague, then put them through - from the browser phone and from the desk phone with the key sequence *2. Switched on at commissioning.
Pull more colleagues into a live call, six by default, sixteen at most. A display in the phone shows who is actually in the conference. Switched on at commissioning.
One click tells you whether the PBX, the control channel and the event channel are alive - with version and last reload. A scheduled job checks this every 15 minutes and speaks up when something goes down.
SIP passwords and PBX secrets sit encrypted in Odoo and can be rotated - without anyone having to open a configuration file on the server.
A seat is created once in Odoo and covers both: the phone in the browser and the SIP handset on the desk. Consultation and conference work from the desk phone too, via *2 and *3.
Contexts, extensions, phone numbers and trunks live in Odoo forms. Who may make a change is governed by a role. What was changed is in the history.
Before every change the PBX checks the generated configuration without applying it. If the dry run fails, nothing is deployed at all - and no half-finished state can arise.
After deployment PhoneDesk reads back from the running PBX what is actually there. If it differs, the system restores the last state by itself and marks the deployment as rolled back.
An employee becomes a seat with their own extension and their own credentials. The button is repeatable and refuses to run when something is missing - instead of creating half an extension.
Every deployment is a line with timestamp, person and checksum that nobody edits afterwards. Three scheduled jobs report when someone has changed the PBX behind Odoo's back.
A PBX configuration generated by PhoneDesk can be pulled back into Odoo records byte for byte - verified, all or nothing. The PBX secret is rotated from Odoo too, with a rollback if the rotation fails.
A phone in the top bar that floats over every Odoo screen: open, minimise, close. Alongside it a full-screen workspace with dialpad, contacts, history and settings.
Next to every phone number in Odoo there is a handset icon - on the contact, the lead, the ticket, the order. One click dials. Nobody copies a number by hand any more.
The incoming number is resolved to the matching Odoo contact before the second ring. If it is ambiguous, PhoneDesk does not guess - it says so.
Ringing, active, on hold, ended: the call status is kept on the server and checked against a fixed transition rule. The browser cannot fake it.
An F5 in the middle of a call does not lose it - the call is still there afterwards and can be hung up. Registration, reachability and voice quality are visible in the phone.
Notes typed during the call land on the call record when you hang up. In the workspace, an unknown caller becomes an Odoo contact in two clicks.
Voice quality, jitter and packet loss are recorded on every call. If the browser or the connection is not up to it, the phone warns you by itself - before the first call, not after it.
A caller dials your number, the PBX hands over to the AI, and the AI greets them and holds a conversation: speech recognition, language model and voice run as one stream.
You write the sentence the AI answers with yourself, per company - with placeholders such as the caller's name. No recording studio, just a field on a form.
The AI listens, answers, listens again. Its own voice comes back down the line - it is never transcribed. Without that block, a voice bot ends up talking to itself.
Twenty turns stay in context, follow-up questions are understood. The answer starts sounding before it is fully thought out - voice and language model run into one another.
On request the AI calls the colleague in charge, tells her that an AI is on the line, and only connects once she agrees. Switched on at commissioning.
As delivered, speech recognition, language model and voice are set to local models. The architecture is designed to run on your own premises: the services run next to your PBX, not in someone else's cloud. On the PhoneDesk Box the models run on your own machine.
Call content appears in no log file: the service records metrics, not wording - and refuses the opposite setting outside a development environment.
The caller is held, you settle the matter one to one, and only then are the two joined. The PBX carries out the instruction, not the browser - a window that falls shut disconnects nobody here.
This is the difference between a blind hand-off and a proper one. You find out first whether your colleague can take the matter on at all. If she cannot, you pick the caller back up instead of leaving them ringing on someone else's handset. From a desk phone the same path runs over the key sequence *2.
Instead of handing over you can pull more colleagues in - six lines by default. The phone shows who is really in the conference. Consultation, transfer and conference are switched on at commissioning.
*2 212 # - with no browser at all.A number should ring somewhere else from Monday. That is not an SSH session but a form, a dry run and an approval - and at the end a line nobody deletes. If somebody later edits the PBX by hand, a scheduled check reports it instead of quietly overwriting it.
Day to day that means the change is made by the colleague who knows the extension, not by the one person with server access. Who may make it is governed by a role. And if someone asks in four months why the main number runs differently, the answer is in the history.
What is left behind is a deployment with timestamp, person and checksum that cannot be edited afterwards. The state before it stays restorable. Three scheduled checks compare PBX and Odoo on their own.
a7f3…9c1The caller hangs up, and a few seconds later the result is where your team is already looking: on the contact. Summary, full transcript, sentiment and topics - stored encrypted and visible only to the roles allowed to see it.
S00042 and will put you through to inside sales. One moment please.S00042.No new tool to learn: the same Odoo screens, only now the phone belongs to them.
In Germany, recording a call without consent is a criminal matter, not a formality. PhoneDesk does not treat that as an add-on module but as part of the call record.
Given, refused, withdrawn - every decision sits in a register with person and timestamp, and is never overwritten. As long as no decision exists, access to a recording stays blocked. On request an announcement asks the caller directly, and the key they press becomes a line in the register.
Default: consent requiredEvery state change, every action, every access and every error lands in the event log. It cannot be deleted, not even with administrator rights - only its own retention run clears it out. Phone numbers, secrets and file paths are stripped beforehand.
Append-only · no deletionFor each company you set how long calls, recordings, transcripts and listen-in content stay. After that a scheduled job anonymises them, hourly, traceably. Listen-in content sits under its own keys: once the key is destroyed the content is gone - the evidence that it existed remains.
Art. 17 GDPR · deletion with no leftover copiesSeven roles, 58 access rules, 35 record rules: staff see their own calls, the team lead sees the team, transcripts only the role entitled to them, consent only data protection, the PBX only infrastructure.
Separate rights for content, consent and PBXThis layer also covers recordings that your existing PBX or your provider already produces today. That is exactly where most companies are exposed: the files exist, the rules around them do not.
For quality and training, an AI can follow a live call and produce a cleaned-up summary. As delivered this path is entirely closed - deliberately.
Without explicit management approval on the company record, nothing can listen in. Without that approval the system refuses the request outright.
The external party and the member of staff each consent separately - by keypress or spoken. A refusal is not only respected but recorded.
Every step is chained to the one before it. If a line is missing or has been altered, it shows. The content is stored encrypted and deleted by key destruction.
Listening in by a human does not exist in PhoneDesk - the interface refuses it before it even asks. In companies with a works council that is the decisive difference: the path is not just off, it is provably off.
A group with several legal entities - or a partner running several customers - shares one PBX without data crossing the company boundary.
An inbound number is tied to one company - regardless of which contact it is matched to. A route across the company boundary is rejected by the system.
Calls, PBXs, consents, transcripts, listen-in sessions and audit trails carry their company and are filtered at database level. Not in the screen - underneath it.
Transfer, conference and outbound call each check company membership again themselves and abort when in doubt instead of carrying on.
Company separation cannot be switched off in any tier and is never sold as an extra. Additional legal entities are billed contractually, not unlocked technically.
We show the whole path: a routing change with dry run and rollback, a new extension, a call that becomes a record - and a conversation held by the AI.
Odoo stays Odoo: no long-lived channel runs inside the Odoo process. Whatever has to talk around the clock runs next to it - and reports back to Odoo when there is something to report.
A phone system is not a module you quickly install: two machines, ten containers, a trunk, certificates, phone numbers. We deliver it finished - as a machine on your own premises or as a system we run in a German data centre.
Commissioning always at a fixed price, never by the hour. Managed service from 399 € per month, tiered up to 999 € for the full tier. All figures are on the pricing page.
This list is on the table before you sign, not after. If you need one of these things, you are better served by a different tool - and we say so in the first conversation.
| Not included | What that means |
|---|---|
| Queues and call distribution | No queues, no hunt groups, no agent login and logout, no wallboard. PhoneDesk is a layer over Asterisk, not a replacement for a contact centre platform. |
| Voicemail and call park | No voicemail box, no message waiting indicator, no park slots. Unanswered calls go to the voice AI or get hung up. |
| A recording device | PhoneDesk does not start a recording. It governs recordings: consent, access, retention, deletion, audit trail - including the files your PBX already produces today. Recording of its own is on the roadmap. |
| Supervisor listen-in | No human can join a live call, neither silently nor whispering. The interface refuses it on principle. Consent-checked listening in by the AI is a different thing and governed separately. |
| A mobile app | PhoneDesk makes calls in the desktop browser and on desk phones. On the move, your mobile stays your mobile. |
| Bridges to CRM, Helpdesk or accounting | The call lands on the contact, not automatically on the lead, the ticket or the document. Those bridges are on the roadmap. |
| PBXs other than Asterisk | PhoneDesk drives Asterisk and FreePBX. It does not connect to other systems - and we do not pretend otherwise. |
| Telephony as a pure subscription | There is something to run. Either you run it, or we run it for you. If you want to run nothing and own nothing, a cloud provider is the right choice. |
Odoo is the supported version. There is none for Odoo 17; for Odoo 19 it is on the roadmap.
What is listed here is not included yet, and is not sold as included. It is here so you know what you are waiting for - and what you are not.
Call, answer, hold, transfer — without leaving the record you are working on.
Extensions, contexts and number routing as forms. Dry run, read-back check, automatic rollback.
Summary, topics and sentiment land in the chatter automatically — encrypted and with a retention period.
Consent register, tamper-proof audit trail, deletion by key destruction — exportable for the auditor.
Your PBX, run from Odoo. Every call a record. Consent, retention and audit trail from day one. We show it on your own numbers - and tell you beforehand what PhoneDesk cannot do.