- 首页
- Apps
- SaaS Tools
- FreeSWITCH CTI Connector for Odoo
示意预览A build-to-order Odoo integration that links your FreeSWITCH PBX to Odoo CRM and Helpdesk for click-to-dial,
inbound screen-pop, and automatic call logging.
ECOSIRE scopes, builds, installs and supports it — this is not an off-the-shelf download.
什么是 FreeSWITCH CTI Connector for Odoo?
A build-to-order Odoo integration that links your FreeSWITCH PBX to Odoo CRM and Helpdesk for click-to-dial, inbound screen-pop, and automatic call logging. ECOSIRE scopes, builds, installs and supports it — this is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
核心功能
按需定制,全程代劳
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
- 1
您下单
以一次性构建价格开始。我们在启动时与您共同确定范围。
- 2
我们构建与安装
ECOSIRE 在您的 Odoo 上构建、配置并安装。
- 3
上线 + 支持
约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。
技术规格
- Odoo 兼容性
- Odoo 17, Odoo 18, Odoo 19
- 版本
- 企业版和社区版
- 许可证
- 许可证需要确认
- Python 要求
- Python 3.10+
- 数据库
- PostgreSQL 12+
关于此产品
If your agents run FreeSWITCH but your customer data lives in Odoo, every call means alt-tabbing: copy a number from a partner form, dial it by hand on a softphone, then type notes back into the CRM after hangup. Inbound calls are worse — the phone rings with just a caller ID and nobody knows which res.partner, open opportunity, or helpdesk ticket it belongs to until they've asked the customer to repeat themselves. Odoo's native VoIP is built around its own Enterprise softphone and the paid Axivox/OnSIP connectors; there is no supported bridge to a self-hosted FreeSWITCH switch, so the ESL event stream, your dialplan, and your call recordings stay completely invisible to Odoo. That gap is exactly where this connector lives.
ECOSIRE builds a dedicated Odoo module that opens a persistent Event Socket Library (ESL) connection to your FreeSWITCH server and translates its events into Odoo records. Click-to-dial is wired into partner, lead/opportunity, and helpdesk phone fields via an OWL widget that fires an originate command through ESL to ring the agent's extension first, then the customer. Inbound CHANNEL_CREATE/CHANNEL_ANSWER events are matched against res.partner.phone/mobile (with configurable E.164 normalization) so a screen-pop opens the right partner, opportunity, or ticket the instant the phone rings. Every call writes a freeswitch.call.log record — a proper models.Model with @api.depends computed talk-time, direction, agent, disposition, and Many2one links back to the partner and originating document — and if you record calls, the log carries a link (or attachment) to the recording so it is one click from the CRM timeline. Access is governed by ir.model.access.csv plus record rules so agents see their own calls while supervisors see the queue, and QWeb reports plus optional automated actions turn raw call events into follow-up activities and daily agent summaries.
Technically, the connector is a real Odoo addon with a clean __manifest__.py declaring its dependencies (base, mail, crm, optionally helpdesk/sale), Python ORM models, XML and OWL views, and security definitions — no core patches, so it upgrades cleanly. The ESL listener runs as a managed background worker (a long-lived connection with reconnect/backoff), and outbound actions are also exposed over Odoo's JSON-RPC/XML-RPC API so a wallboard or external dialer can trigger calls. Queue and agent statistics (mod_callcenter events, if you use it) are aggregated into dashboards for live and historical agent performance. We target Odoo 17.0, 18.0 and 19.0; the module works on Community and Enterprise, and where your edition has Helpdesk or Field Service we wire screen-pop and logging into those documents too.
Because every FreeSWITCH deployment is different — your dialplan, your extension scheme, whether you run mod_callcenter, how recordings are stored, and which Odoo apps agents actually work in — this is delivered build-to-order rather than as an instant download. We start with a short scoping call to map your dialplan, ESL credentials, number-normalization rules, and the exact CRM/Helpdesk flows you want. From confirmed scope, typical delivery is one working week: we build against your requirements, demo on a staging instance for UAT, then install on production with a rollback plan and hand over the git repository and documentation. You get source code for your Odoo version, a training session, and a post-go-live support window — no fabricated benchmarks, just a module built and supported by an Odoo engineering team.
你得到什么
- Installable Odoo module source code targeted to your exact version (17.0, 18.0, or 19.0)
- On-server installation and configuration, including ESL connection setup and agent extension mapping
- Technical documentation: architecture, model/field reference, ESL event mapping, and configuration guide
- End-user guide plus a live training session for agents and supervisors
- UAT on a staging instance with sign-off, plus a documented production rollback plan
- Post-go-live support window for defect fixes and configuration adjustments
- Private git repository handover with full commit history and tagged release
- Number-normalization and dialplan integration notes specific to your FreeSWITCH deployment
这是给谁的
FreeSWITCH-based contact centre manager
Runs an in-house FreeSWITCH switch with mod_callcenter queues and needs agent screen-pop, call logging, and queue/agent stats surfaced inside Odoo CRM without replacing the telephony stack.
Odoo CRM / sales operations lead
Wants reps to click-to-dial from opportunities and partners and have every call auto-logged against the right record, so pipeline activity and follow-ups are accurate without manual note-taking.
VoIP / telephony engineer
Owns the FreeSWITCH dialplan and ESL security and needs a connector that respects existing extensions, recording paths, and number formats rather than forcing an off-the-shelf schema.
Helpdesk / support operations manager
Handles inbound support calls and needs the caller's ticket or partner to pop on ring, with call recordings linked to the ticket timeline for QA and dispute resolution.
FreeSWITCH CTI Connector for Odoo 如何比较
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | Odoo 原生 |
|---|---|---|---|---|
| FreeSWITCH ESL support | Native ESL listener built for your switch | Possible but you build and maintain it | Most connectors target Asterisk/3CX, not FreeSWITCH | No FreeSWITCH bridge at all |
| Odoo version coverage | Built for your 17.0 / 18.0 / 19.0 | Whatever you target and retest | Often lags newest Odoo release | Only Odoo's own VoIP softphone |
| Inbound screen-pop | Matched to partner, lead, or ticket on ring | Requires event-matching logic you write | Basic partner pop, rarely ticket-aware | None for external PBX |
| Call logging & recordings | Auto `freeswitch.call.log` + recording link in chatter | Custom model and plumbing to build | Varies; recording links often absent | Manual notes only |
| Queue / agent stats | mod_callcenter dashboards, live + historical | Build aggregation and reports yourself | Seldom exposes FreeSWITCH queue data | Not available |
| Fit to your dialplan | Scoped to your extensions & number formats | Full control, full effort | Fixed schema you adapt to | N/A |
| Support & ownership | Support window + git repo handover | You own all maintenance | Vendor SLA, closed source, per-seat fees | Odoo support for core only |
| Delivery model | Build-to-order, one working week from scope | Weeks to months to design and build | Instant install but generic fit | Included but no FreeSWITCH capability |
关于FreeSWITCH CTI Connector的常见问题
Is this an existing app I can download and install right now?
No. This is a build-to-order integration. ECOSIRE scopes it against your FreeSWITCH dialplan, extensions, and Odoo apps, then builds, installs, and supports it. It is not a pre-packaged apps.odoo.com download.
How long does delivery take?
Typical delivery is one working week from confirmed scope. We start with a short scoping call to map your dialplan, ESL credentials, number normalization, and the CRM/Helpdesk flows you want, then build, demo on staging for UAT, and install on production with a rollback plan. Timelines depend on complexity such as mod_callcenter usage and recording storage.
Which Odoo versions and editions do you support?
Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. Where your edition has Helpdesk, Sales, or Field Service, we can wire screen-pop and call logging into those documents too. The module is a clean addon with no core patching, so it upgrades cleanly.
How does it actually connect to FreeSWITCH?
Through the Event Socket Library (ESL). A managed background worker holds a persistent, reconnecting connection to your FreeSWITCH server, subscribes to channel and call-centre events for screen-pop and logging, and issues originate/transfer/hangup commands for click-to-dial and in-call controls. No changes to core Odoo are required.
Do you need to change our FreeSWITCH dialplan or recordings setup?
Usually only minor, documented adjustments — for example ensuring ESL access is enabled for the Odoo worker and that recording paths are reachable or linkable. We map your existing extensions, number formats, and recording storage during scoping and adapt the connector to them rather than forcing you to restructure your PBX.
What happens after go-live for support and updates?
Every engagement includes a post-go-live support window for defect fixes and configuration adjustments, and you receive the full git repository so your team can maintain or extend the module. We also offer ongoing support and version-upgrade retainers if you want ECOSIRE to keep it current across future Odoo releases.
Can external systems trigger calls too?
Yes. Outbound origination is exposed over Odoo's JSON-RPC / XML-RPC API, so a wallboard, external dialer, or custom automation can trigger click-to-dial through the same connector that the Odoo UI uses.
相关模块
FreeSWITCH CTI Connector
A build-to-order Odoo integration that links your FreeSWITCH PBX to Odoo CRM and Helpdesk for click-to-dial, inbound screen-pop, and automatic call logging. ECOSIRE scopes, builds, installs and supports it — this is not an off-the-shelf download.
- Persistent FreeSWITCH ESL (Event Socket Library) connection with automatic reconnect and exponential backoff, run as a managed background worker
- Click-to-dial OWL widget on `res.partner`, `crm.lead`, and helpdesk phone fields that issues an ESL `originate` (ring agent extension first, then customer)
- Inbound screen-pop driven by `CHANNEL_CREATE`/`CHANNEL_ANSWER` events, matched to the correct partner, opportunity, or ticket before the agent answers
- Configurable E.164 / national number normalization so caller ID reliably matches `res.partner.phone` and `mobile` across formats



