How oca/connector-telephony works
This repository contains three Odoo addons: phone-number validation and utilities, a VoIP softphone with call/activity/contact handling, and configurable retention for sent SMS. The main user workflow is to find or select a contact, place or receive a SIP call, and record call state in Odoo. The graph preserves the independent phone-number and SMS capabilities. Some subsystem links are based on addon summaries and the file tree; unsampled implementation details are not assumed.
Main entry points: voip_oca_service.esm.js VoIP State Service · voip_agent_service.esm.js SIP Call Agent · call_list.esm.js Call And Activity Lists · call.esm.js Call Controls
Components 22
Phone Utilities
- Phone Controls
base_phone/static/src/components - Phone Utilities
base_phone/models/phone_common.py - Number Validation
base_phone/models/phone_validation_mixin.py - Field Conversion
base_phone/models/ir_fields_converter.py - Phone Wizards
base_phone/wizard
VoIP Interface
- VoIP Launcher
voip_oca/static/src/components/voip_oca_systray/voip_oca_systray.esm.js - Softphone UI
voip_oca/static/src/components/softphone/softphone.esm.js - Call And Activity Lists
voip_oca/static/src/components/call_list/call_list.esm.js - Contact Panel
voip_oca/static/src/components/partner/partner.esm.js - Call Controls
voip_oca/static/src/components/call/call.esm.js - VoIP State Service
voip_oca/static/src/services/voip_oca_service.esm.js - SIP Call Agent
voip_oca/static/src/services/voip_agent_service.esm.js
VoIP Records
- Call Records
voip_oca/models/voip_call.py - VoIP Contact And Activity
voip_oca/models
SMS Retention
- SMS Retention Setting
sms_no_automatic_delete/models/res_config_settings.py - SMS Cleanup
sms_no_automatic_delete/models/sms_sms.py
Other components
- Odoo User
- phonenumbers
- SIP.js
voip_oca/static/lib/sip.js - SIP PBX
- Odoo Mail Store
- SMS Records
Connections 23
- Odoo User → Phone Controls: uses
- Phone Controls → Phone Utilities: requests dialing
- Phone Utilities → phonenumbers: formats numbers
- Number Validation → phonenumbers: validates numbers
- Phone Wizards → phonenumbers: reformats numbers
- Odoo User → VoIP Launcher: opens
- VoIP Launcher → VoIP State Service: toggles widget
- Softphone UI → VoIP State Service: reads and updates
- Call And Activity Lists → VoIP State Service: searches records
- Contact Panel → VoIP State Service: updates call context
- Call Controls → SIP Call Agent: controls calls
- Call Controls → VoIP State Service: reads call state
- SIP Call Agent → VoIP State Service: updates call state
- SIP Call Agent → SIP.js: creates SIP sessions
- SIP Call Agent → SIP PBX: registers and calls
- SIP Call Agent → Call Records: creates and updates calls
- VoIP State Service → VoIP Contact And Activity: requests contacts and activities
- VoIP State Service → Call Records: requests recent calls
- VoIP State Service → Odoo Mail Store: inserts records
- Call And Activity Lists → Odoo Mail Store: reads records
- Odoo User → SMS Retention Setting: configures retention
- SMS Retention Setting → SMS Cleanup: sets purge interval
- SMS Cleanup → SMS Records: deletes expired marked SMS