Guide · ~8 min

How to connect PBX to Odoo

A practical architecture for SIP trunk → PBX → Odoo Phone, so calls land in CRM and Helpdesk, not in a separate softphone silo.

Short answer: run a PBX (Asterisk-based) on a hardened VPS, register your SIP trunk there, create extensions for each agent, then map those extensions to Odoo users in the VoIP/Phone module so click-to-call and call logging work inside CRM and Helpdesk.

Why this integration exists

Odoo’s VoIP features expect a real PBX behind them. Without that layer, teams dial from personal phones or a standalone softphone. Notes never attach to the lead. Managers cannot audit who called whom. Connecting your PBX to Odoo closes that gap.

Reference architecture

  1. SIP trunk provider: carrier credentials (DID, outbound routes, codecs).
  2. PBX / Asterisk on VPS or AWS EC2: firewall, fail2ban, backups, TLS/SRTP where supported.
  3. Extensions: one per agent, mapped 1:1 to Odoo users.
  4. Odoo.sh or self-hosted Odoo: VoIP/Phone module enabled; CRM and Helpdesk configured for logging.

Implementation sequence

1. Provision the PBX

Create a small Ubuntu VPS, install your PBX stack, lock SSH, open only the SIP/RTP ports your provider requires, and set automated backups. Do not expose the admin UI to the public internet without VPN or IP allowlisting.

2. Register the SIP trunk

Add the trunk with provider host, auth, and codecs. Configure inbound routes for your DID to a ring group or queue, and outbound routes with the correct dial patterns.

3. Create extensions

Create SIP/PJSIP extensions for each user who will call from Odoo. Test with a softphone first, confirm inbound and outbound audio before touching Odoo.

4. Wire Odoo VoIP

In Odoo, enable the Phone/VoIP features your plan includes. Set the PBX connection details your version expects, then assign each user’s extension. Place a test call from a CRM contact and confirm the call activity appears on the record.

5. CRM & Helpdesk process

Integration only pays off if agents live in Odoo. Configure pipelines, helpdesk teams, SLAs, and assignment rules so “log the call” is the default path, not chat after the fact.

Common failure points

  • NAT and RTP one-way audio, fix with correct external IP / RTP settings on the PBX.
  • Extension mismatch, Odoo user extension ≠ PBX extension.
  • Agents bypassing Odoo, softphone installed “just in case” becomes the real workflow.
  • No staging test, always validate trunk + PBX before production Odoo cutover.

When to hire help

If you already have Odoo and a SIP account, a focused 3–4 week engagement can cover PBX hardening, trunk bring-up, Odoo mapping, and CRM/Helpdesk configuration. See Techit’s VoIP service or request a quote.

Want this built for your team?

Share your SIP provider and Odoo hosting. We’ll return an architecture and fee.