Skip to main content
Asterisk / FreePBX VoIP CTI Connector — Click-to-dial, screen-pop and call logging between Asterisk/FreePBX and Odoo CRM — 1/1Illustrative preview

Click-to-dial, screen-pop and call logging between Asterisk/FreePBX and Odoo CRM.

Built, installed and supported by ECOSIRE.

What is Asterisk / FreePBX VoIP CTI Connector?

Click-to-dial, screen-pop and call logging between Asterisk/FreePBX and Odoo CRM. Built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Click-to-dial button on any res.partner, crm.lead, helpdesk.ticket or sale.order record — originates the call through Asterisk/FreePBX to the agent's extension or softphone
Inbound caller screen-pop: matches caller ID against res.partner and crm.lead phone/mobile fields and opens the record automatically the moment the extension rings
Automatic call logging to a dedicated Odoo call-log model (direction, duration, extension, queue/ring-group, disposition, timestamps) linked back to the CRM record
Built-in browser softphone dialer with dial-pad, recents list, answer/hangup/hold/transfer controls, rendered as an OWL component in the Odoo web client
Secure real-time event stream over WebSocket (WSS) from the Asterisk Manager Interface (AMI) or ARI — Ringing, Answered, Hangup events reach Odoo with no polling
Call events posted to the record's mail.thread chatter so the full customer timeline (calls, emails, notes) lives in one place
Compute fields with @api.depends for talk-time, answer rate, missed-call count and first-response metrics, ready for Odoo pivot and graph views
Missed-call handling: unanswered inbound calls create an activity or Odoo lead so no prospect falls through the cracks
Per-user extension mapping in res.users plus multi-company scoping enforced through record rules and ir.model.access.csv
Call-recording integration: stores the Asterisk recording URL/path against the call log for one-click playback (subject to your PBX recording setup)
Queue and ring-group awareness — logs which queue delivered the call and which agent answered, for team-level reporting
Automated actions and server actions triggered by call events (create follow-up activity, tag opportunity, escalate helpdesk ticket)
Documented XML-RPC / JSON-RPC endpoints so call data can be read or triggered from external dashboards, wallboards or dialers
Configurable caller-ID normalisation (E.164 / national formats) so numbers match regardless of how they were saved in Odoo
Delivered and tested against Odoo 17, 18 and 19 on Community or Enterprise, with dial-plan hooks provided for your Asterisk or FreePBX instance

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

The Asterisk / FreePBX VoIP CTI Connector wires your phone system directly into Odoo so every call becomes a tracked, actionable CRM event — with zero manual dialling and zero manual logging. This is a build-to-order Odoo module: ECOSIRE designs, develops, installs and hands over a connector tailored to your exact Asterisk or FreePBX setup, dial plan and CRM process. It is not an off-the-shelf apps.odoo.com download; there is no instant download, and no fake "one-click" promise you'll fight with later.

Under the hood, the connector adds a lightweight Odoo module (its own __manifest__.py, models extending models.Model, security via ir.model.access.csv plus record rules, and OWL/QWeb views) that bridges the Asterisk Manager Interface (AMI) or ARI to Odoo over a secure WebSocket (WSS) channel. When an inbound call rings an agent's extension, Odoo matches the caller ID against res.partner / crm.lead phone and mobile fields and pops the matching record on the agent's screen before they even say hello. When a sales rep wants to dial a contact, a click-to-dial control on any partner, lead, opportunity or helpdesk record originates the call through your PBX to the agent's handset or softphone. Every call — inbound, outbound, missed, answered — is written to a dedicated call-log model with direction, duration, extension, queue, disposition and a link back to the originating record and the mail.thread chatter, so managers get real reporting instead of guesswork.

Because it is built for you, the module respects your reality: multi-company Odoo, per-user extension mapping, queue and ring-group awareness, call-recording URL storage, and compute fields (with @api.depends) for talk-time and answer-rate analytics. It runs on Odoo Community or Enterprise and is delivered against Odoo 17, 18 and 19. You also get a documented XML-RPC / JSON-RPC surface and automated actions so the call events can trigger follow-ups, activities or webhook flows in the rest of your Odoo. ECOSIRE handles the messy parts — AMI credentials, dial-plan hooks, WSS certificates, NAT and reverse-proxy config — and trains your team on the finished result.

What you get

  • Complete, installable Odoo module (source code) with __manifest__.py, Python models, OWL/QWeb views, security (ir.model.access.csv + record rules) and demo data — yours to keep
  • Asterisk/FreePBX-side configuration: AMI or ARI user setup, dial-plan / extensions hooks, and the WSS bridge service configured for your PBX
  • Deployment on your Odoo server (or guided deployment on ECOSIRE-managed / Odoo.sh), including reverse-proxy, WSS certificate and NAT guidance
  • Per-user extension mapping and CRM field-matching configured for your actual contacts, queues and ring groups
  • Technical documentation: architecture, install/upgrade steps, config reference, and the XML-RPC/JSON-RPC API surface
  • Admin and end-user training session (click-to-dial, screen-pop, softphone, call reporting) plus a short recorded walkthrough
  • UAT sign-off with test scenarios (inbound match, outbound dial, missed call, logging, multi-company) validated against your live extensions
  • Post-go-live support window with bug fixes and Odoo 17/18/19 compatibility maintenance for the delivered scope

Who this is for

Call-center operations manager

Runs an Asterisk/FreePBX-based contact center and needs every inbound and outbound call automatically logged in Odoo with queue, agent, duration and disposition — so wallboards, SLA reports and agent performance are based on real data, not manual notes.

Inside sales / SDR team lead

Wants reps to dial contacts and opportunities in one click and get an instant screen-pop on inbound calls, cutting wrap-up time and keeping the CRM timeline complete without anyone typing call notes from memory.

IT / VoIP administrator

Owns the FreePBX/Asterisk stack and Odoo instance and needs a clean, documented integration — AMI/ARI over WSS, proper security scoping, extension mapping, and no fragile screen-scraping — that survives Odoo upgrades from 17 to 18 to 19.

How Asterisk / FreePBX VoIP CTI Connector Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Instant availabilityBuilt & installed in one working week, tailored to your PBXWeeks to months of your own dev timeInstant install from apps.odoo.comIncluded
Asterisk/FreePBX CTI (click-to-dial + screen-pop)Yes — click-to-dial, inbound screen-pop, softphoneOnly if you build itVaries; often click-to-dial onlyNot included
Real-time events over secure WSS (AMI/ARI)Yes — encrypted WebSocket, no pollingYou must design and secure itSometimes polling-based or cloud-onlyNot included
Automatic call logging linked to CRM + chatterYes — dedicated call-log model, mail.thread postsBuild the models yourselfBasic logging, limited linkagePartial support
Fits your dial plan, queues & multi-companyYes — configured to your exact setupYes, but at your costGeneric; edge cases often unsupportedNot included
Security scoping (ir.model.access.csv + record rules)Yes — per-user/company access enforcedDepends on your implementationBaseline access rights onlyPartial support
Odoo 17 / 18 / 19 compatibility maintainedYes — covered in support windowYou maintain it every upgradeDepends on vendor's roadmapIncluded
Source code ownership + training & supportFull source, docs, training, support windowYou own it but support yourselfUsually no source; ticket-based supportNot included

Frequently Asked Questions about Asterisk / FreePBX VoIP CTI Connector

How long does delivery take, and what's the process?

This is a build-to-order module with a typical lead time of one working week from kickoff, depending on scope (single site vs. multi-queue, recording integration, custom automations). After purchase we run a short discovery call to capture your Asterisk/FreePBX version, dial plan, extension map and CRM matching rules, then develop, deploy to a staging Odoo, run UAT with your live extensions, and go live after your sign-off. There is no instant download — you're buying a tailored, installed and tested integration, not an off-the-shelf ZIP.

What support and updates are included after go-live?

Every build includes a post-go-live support window covering bug fixes and configuration adjustments for the delivered scope, plus compatibility maintenance across Odoo 17, 18 and 19 so an Odoo upgrade doesn't break your CTI. You receive the full module source code, so you're never locked in. Extended support or a maintenance retainer, plus new-feature work, is available and quoted separately.

Does this work with my Asterisk or FreePBX version, and Community or Enterprise Odoo?

Yes. The connector talks to Asterisk via the Asterisk Manager Interface (AMI) or ARI, which FreePBX exposes as well, so it works with standard FreePBX and raw Asterisk deployments. On the Odoo side it runs on both Community and Enterprise editions and is delivered and tested against Odoo 17, 18 and 19. During discovery we confirm your exact versions and any PBX modules (queues, recording) so the build matches your environment.

How does the inbound screen-pop actually match the caller to a record?

When your extension rings, Asterisk emits an event over the secure WebSocket (WSS) bridge. The Odoo module normalises the caller ID (E.164/national) and searches res.partner and crm.lead phone and mobile fields for a match, then pops the record for the agent who received the call. If no match is found, it can optionally create a lead or activity from the unknown number so the opportunity isn't lost. Matching rules and normalisation are configured to your data during the build.

Is the integration secure and multi-company aware?

Yes. Real-time events flow over an encrypted WebSocket (WSS) channel, AMI/ARI credentials are stored server-side (never in the browser), and access to call-log data is governed by Odoo security — ir.model.access.csv access rights plus record rules that scope calls per company and per user. In a multi-company Odoo, each company's calls and extensions stay isolated. We also handle reverse-proxy, certificate and NAT configuration as part of deployment.

Can call events trigger follow-ups or feed external systems?

Yes. Call events are written to Odoo where automated actions and server actions can create follow-up activities, tag opportunities, escalate helpdesk tickets or fire webhooks. Because the module posts to the record's mail.thread chatter and exposes a documented XML-RPC / JSON-RPC surface, external dashboards, wallboards or dialers can read call data or originate calls programmatically. Custom automations are scoped during discovery.

Request a quote

Asterisk / FreePBX VoIP CTI Connector

Click-to-dial, screen-pop and call logging between Asterisk/FreePBX and Odoo CRM. Built, installed and supported by ECOSIRE.

  • Click-to-dial button on any res.partner, crm.lead, helpdesk.ticket or sale.order record — originates the call through Asterisk/FreePBX to the agent's extension or softphone
  • Inbound caller screen-pop: matches caller ID against res.partner and crm.lead phone/mobile fields and opens the record automatically the moment the extension rings
  • Automatic call logging to a dedicated Odoo call-log model (direction, duration, extension, queue/ring-group, disposition, timestamps) linked back to the CRM record
  • Built-in browser softphone dialer with dial-pad, recents list, answer/hangup/hold/transfer controls, rendered as an OWL component in the Odoo web client

Request a Quotation

Tell us about your Asterisk / FreePBX VoIP CTI Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.