Skip to main content
iVentureTeam

Odoo 20 Phone Release Notes

All 10 Phone changes from the official Odoo 20 release notes, explained in plain words with a screenshot from a live Odoo 20 database, plus where to find each one and what it means for your upgrade.

Planning the move? See our Odoo upgrade services, the Odoo 20 upgrade guide or get a number from the migration cost calculator.

New feature 7Enhancement 3In Community 0Enterprise only 10
Type

Change 1 of 10

Audio settings during a call

EnhancementEnterprise only

The audio sources for the microphone and speaker can now also be selected during an ongoing call.

Official Odoo 20 release note

In plain words

The softphone status menu has an Audio settings entry where you pick the microphone, the call speakers and, separately, the ringtone output. This menu stays available while a call is in progress, so you can switch to a headset without hanging up.

Softphone (phone icon in the top bar) > status menu > Audio settingsMicrophone, Call speakers and Ringtone device choices in the softphone status menu.

Where to find it

  1. Open the softphone.
  2. Click the status button at the top left of the softphone.
  3. Hover Audio settings.

For users

Change microphone or speaker in the middle of a call.

For developers

Device selection is handled by the voip audio manager and applied to the live session.

Upgrading from Odoo 19

None.

  • Live calls cannot be placed in the test database: the SIP library (voip/static/lib) is not part of the supplied build, so the softphone cannot connect. The screenshot shows the same menu outside a call (taken as Marc Demo).

Change 2 of 10

Auto-fill and auto-log

EnhancementEnterprise only

Opening the softphone widget automatically fills the keypad with the current record's phone number, and logs the call on that record if the numbers match.

Official Odoo 20 release note

In plain words

When you open the softphone while a record is open (here a contact), the keypad is already filled with that record's phone number and the contact is suggested. If you call that number, the call is logged as an activity on the same record.

Contacts > a contact > Softphone (phone icon in the top bar)The keypad is pre-filled with the contact's number and the contact is suggested.

Where to find it

  1. Open a contact that has a phone number.
  2. Click the phone icon in the top bar.

For users

Fewer clicks: open a record, open the softphone, press call.

For developers

The systray item calls voip.prefillFromActiveForm(resModel, resId); the form controller patch reports the active record.

Upgrading from Odoo 19

None.

  • The logging part needs a real call, which cannot be placed in the test database. Screenshot taken as Marc Demo, whose softphone uses the Odoo Phone Service.

Change 3 of 10

Call flow designer

New featureEnterprise only

Design a flow for incoming calls with extensions, call menus, time- and location-specific steps, and other PBX features.

Official Odoo 20 release note

In plain words

A new visual Call Flow editor lets you design what happens to incoming calls. Steps are picked from a palette (call a user, contact or group, send to a queue, open a menu, play audio, voicemail, redirect to an extension or external number, time condition, hang up) and linked together on a canvas.

Phone > Configuration > PBX > Call Flows > NewThe palette of call flow steps next to the canvas with the Start node.

Where to find it

  1. Phone > Configuration > PBX > Call Flows > New.

For users

Build IVR menus and routing rules without a separate PBX tool.

For developers

New model voip.call.flow with a graph_data Json field edited by the voip_call_flow_editor widget; changes are synced to the PBX.

Upgrading from Odoo 19

None (new feature).

  • Needs the Odoo Phone Service; the editor itself opens in the test database, but a flow cannot be put live without a PBX.

Change 4 of 10

Call logging in chatter

EnhancementEnterprise only

Calls can be logged in the chatter during or after each call.

Official Odoo 20 release note

In plain words

A Log button (in the softphone during a call, and Log Call on the call record afterwards) opens "Log Activity in Chatter". You choose where to log it (contact, lead, ticket, employee, task, sale order, subscription), add a note and click Mark Done.

Phone > Calls > a call > Log CallThe Log Activity in Chatter dialog with the record types the call can be logged on.

Where to find it

  1. Phone > Calls.
  2. Open a finished call.
  3. Click Log Call.

For users

Keep a trace of every call on the right business record.

For developers

voip.call.action_log_call opens mail.activity.schedule with activity_category phonecall and a res_model_selection of possible targets.

Upgrading from Odoo 19

None.

  • The in-call Log button needs a live call; the screenshot shows logging after the call from the call record.

Change 5 of 10

Call transfer to another device

New featureEnterprise only

Move ongoing calls from one device to another one without interruption.

Official Odoo 20 release note

In plain words

An ongoing call can be moved to another device of the same user. The other Odoo session shows "Active call(s) on another device" with a Switch here button that pulls the call over; the transfer keypad can also be pre-filled with your desk or mobile number.

Where to find it

  1. Start a call in Odoo on one device.
  2. Open the softphone on another device.
  3. Click Switch here.

For users

Start a call on the laptop and continue it on the phone (or the other way round).

For developers

The user agent broadcasts voip/agent_state between sessions and implements pull/push of sessions (pullAllCalls).

Upgrading from Odoo 19

None.

  • Live calls cannot be placed in the test database: the SIP library (voip/static/lib) is not part of the supplied build, so the softphone cannot connect. A second device with a live call would be needed, so this bullet has no screenshot.

Change 6 of 10

Choose outgoing number

New featureEnterprise only

Assign multiple numbers to a user and let them choose which one to use as the outgoing number (caller ID).

Official Odoo 20 release note

In plain words

A user can own several phone numbers. In the softphone status menu, My numbers lists them with their country flag; the selected one is marked "Your caller ID", and an Auto-select switch lets Odoo pick the number that matches the country of the person you call.

Softphone (phone icon in the top bar) > status menu > My numbersTwo numbers for the user, one marked Your caller ID, and the Auto-select switch.

Where to find it

  1. Phone > Phone Numbers: assign several numbers to a user.
  2. Open the softphone, click the status button, hover My numbers.

For users

Call customers from a local number in their own country.

For developers

The voip config now sends outboundNumbers and sharedOutboundNumbers; the chosen caller ID is kept per user in local storage.

Upgrading from Odoo 19

None.

  • Demo data: two phone numbers (+1 415 555 0142 and +32 2 555 01 43) were assigned to Marc Demo for the screenshot, which was taken logged in as Marc Demo.

Change 7 of 10

Floating widget

New featureEnterprise only

Open the softphone as a floating, draggable widget that overlays content.

Official Odoo 20 release note

In plain words

During a call the softphone can be minimized into a small Picture-in-Picture window that floats above other windows and applications and can be moved around. It shows the caller, the timer and buttons for keypad, mute, hold, record and hang up.

Where to find it

  1. Start a call.
  2. Switch to another tab or application: the floating call window appears.

For users

Keep call controls visible while working in other tabs or apps.

For developers

New voip.pip service using the mail popout manager (Document Picture-in-Picture), opened automatically when the tab is hidden during a call.

Upgrading from Odoo 19

None.

  • No screenshot: the Picture-in-Picture window is a separate browser window opened by the operating system during a live call, which cannot be captured here.

Change 8 of 10

Linphone

New featureEnterprise only

Provision Linphone with a QR code.

Official Odoo 20 release note

In plain words

Users of the Odoo Phone Service get a QR code in their preferences (Phone tab, Provisioning). Scanning it with the Linphone app configures the account automatically; a provisioning link is also given for Linphone Desktop.

My Preferences > Phone > ProvisioningThe Linphone provisioning QR code.

Where to find it

  1. My Preferences > Phone.
  2. Click Show QR code.

For users

Set up a mobile SIP app in seconds.

For developers

New computed fields linphone_provisioning_qr_code and linphone_provisioning_url and a /voip/linphone_provisioning route with signed, single-use tokens.

Upgrading from Odoo 19

None.

  • Demo data: Marc Demo was switched to the Odoo Phone Service provider with a username so that the QR code is generated; the screenshot is taken as Marc Demo.

Change 9 of 10

Push notifications

New featureEnterprise only

Push notifications are sent for incoming calls.

Official Odoo 20 release note

In plain words

When a call comes in, Odoo sends a web push notification to the user's devices, so the call can be seen and answered even when no Odoo tab is in front. The notification is updated or removed when the call is answered elsewhere or cancelled.

Where to find it

  1. Allow notifications in the browser.
  2. Receive a call while Odoo is in the background.

For users

Do not miss calls when the Odoo tab is in the background.

For developers

voip.call sends web push payloads (_web_push_send_notification) and the voip service worker handles call notifications and their actions.

Upgrading from Odoo 19

Users must allow notifications in the browser.

  • No screenshot: push notifications are shown by the browser or the operating system for a live incoming call, which cannot be produced in the test database.
  • No commit subject names push notifications; the evidence is the commit that added the voip service worker and the push handling in the source.

Change 10 of 10

Simultaneous calling

New featureEnterprise only

Start or receive a new call during an ongoing call.

Official Odoo 20 release note

In plain words

During a call an Add Call button starts a second call; the first one is put on hold and shown as a banner at the top of the softphone. For incoming calls, the new Ring Concurrent Calls preference decides whether a second call rings or follows the On Busy rule.

My Preferences > PhoneThe new Ring Concurrent Calls preference.

Where to find it

  1. My Preferences > Phone > Ring Concurrent Calls.
  2. During a call, click Add Call in the softphone.

For users

Handle a second call without hanging up the first one.

For developers

New AddCallView and CallBanner components; new setting voip_ring_concurrent_calls.

Upgrading from Odoo 19

None.

  • The Add Call button needs a live call; the screenshot shows the new preference that controls incoming calls during a call (taken as Marc Demo).

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Phone: common questions

What is new in Odoo 20 Phone?

The official Odoo 20 release notes list 10 Phone changes (7 new features, 3 enhancements). They include Audio settings during a call, Auto-fill and auto-log, Call flow designer, Call logging in chatter and more.

Are the Odoo 20 Phone changes available in Community edition?

No. The Phone changes are all Enterprise only in Odoo 20.

Do Odoo 20 Phone changes affect my customizations when upgrading from Odoo 19?

1 of the 10 changes have something to check when upgrading from Odoo 19, for example Push notifications. Each change on this page has an "Upgrading from Odoo 19" note. Test custom modules on a copy of your database before moving production.

How do I upgrade Phone to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Phone, then test your main Phone flows with real users before switching production. iVentureTeam runs Odoo upgrades end to end, including custom module migration and user testing.

Odoo services for this

More Odoo 20 release notes

Planning your Odoo 20 move

Want these Phone changes in your database?

We upgrade Odoo databases with their customizations and data intact, and test every custom module against the new version before go-live.