gitextract_g2wxca02/ ├── .copier-answers.yml ├── .editorconfig ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── pre-commit.yml │ ├── stale.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .pylintrc ├── .pylintrc-mandatory ├── .ruff.toml ├── LICENSE ├── README.md ├── base_phone/ │ ├── README.rst │ ├── __init__.py │ ├── __manifest__.py │ ├── i18n/ │ │ ├── am_ET.po │ │ ├── ar_001.po │ │ ├── base_phone.pot │ │ ├── ca_ES.po │ │ ├── cs_CZ.po │ │ ├── de.po │ │ ├── el_GR.po │ │ ├── es.po │ │ ├── es_AR.po │ │ ├── es_CR.po │ │ ├── es_EC.po │ │ ├── es_ES.po │ │ ├── es_MX.po │ │ ├── es_VE.po │ │ ├── et_EE.po │ │ ├── fi.po │ │ ├── fr.po │ │ ├── gl_ES.po │ │ ├── hr.po │ │ ├── it.po │ │ ├── lt.po │ │ ├── nl.po │ │ ├── nl_BE.po │ │ ├── pl.po │ │ ├── pt.po │ │ ├── pt_BR.po │ │ ├── pt_PT.po │ │ ├── ro.po │ │ ├── ru.po │ │ ├── sl_SI.po │ │ ├── th.po │ │ ├── tr.po │ │ └── vi_VN.po │ ├── models/ │ │ ├── __init__.py │ │ ├── ir_fields_converter.py │ │ ├── phone_common.py │ │ ├── phone_validation_mixin.py │ │ ├── res_company.py │ │ └── res_partner.py │ ├── pyproject.toml │ ├── readme/ │ │ ├── CONTRIBUTORS.md │ │ └── DESCRIPTION.md │ ├── requirements.txt │ ├── security/ │ │ ├── ir.model.access.csv │ │ └── phone_security.xml │ ├── static/ │ │ ├── description/ │ │ │ └── index.html │ │ └── src/ │ │ └── components/ │ │ ├── on_dial_button/ │ │ │ ├── on_dial_button.esm.js │ │ │ └── on_dial_button.xml │ │ └── phone_field/ │ │ ├── phone_field.esm.js │ │ └── phone_field.xml │ ├── tests/ │ │ ├── __init__.py │ │ └── test_base_phone.py │ ├── views/ │ │ └── res_users_view.xml │ └── wizard/ │ ├── __init__.py │ ├── number_not_found.py │ ├── number_not_found_view.xml │ ├── reformat_all_phonenumbers.py │ ├── reformat_all_phonenumbers_view.xml │ ├── res_config_settings.py │ └── res_config_settings.xml ├── checklog-odoo.cfg ├── eslint.config.cjs ├── prettier.config.cjs ├── requirements.txt ├── setup/ │ └── _metapackage/ │ └── pyproject.toml └── voip_oca/ ├── README.rst ├── __init__.py ├── __manifest__.py ├── data/ │ └── neutralize.sql ├── demo/ │ └── demo_data.xml ├── i18n/ │ ├── it.po │ └── voip_oca.pot ├── models/ │ ├── __init__.py │ ├── ir_http.py │ ├── mail_activity.py │ ├── mail_activity_mixin.py │ ├── res_partner.py │ ├── res_users.py │ ├── voip_call.py │ └── voip_pbx.py ├── pyproject.toml ├── readme/ │ ├── CONFIGURE.md │ ├── CONTEXT.md │ ├── CONTRIBUTORS.md │ ├── CREDITS.md │ ├── DESCRIPTION.md │ ├── ROADMAP.md │ └── USAGE.md ├── security/ │ └── ir.model.access.csv ├── static/ │ ├── description/ │ │ └── index.html │ ├── lib/ │ │ └── sip.js │ ├── src/ │ │ ├── components/ │ │ │ ├── activity_list/ │ │ │ │ ├── activity_list.esm.js │ │ │ │ ├── activity_list.scss │ │ │ │ └── activity_list.xml │ │ │ ├── call/ │ │ │ │ ├── call.esm.js │ │ │ │ └── call.xml │ │ │ ├── call_list/ │ │ │ │ ├── call_list.esm.js │ │ │ │ ├── call_list.scss │ │ │ │ └── call_list.xml │ │ │ ├── numpad/ │ │ │ │ ├── numpad.esm.js │ │ │ │ ├── numpad.scss │ │ │ │ └── numpad.xml │ │ │ ├── partner/ │ │ │ │ ├── partner.esm.js │ │ │ │ └── partner.xml │ │ │ ├── partner_list/ │ │ │ │ ├── partner_list.esm.js │ │ │ │ ├── partner_list.scss │ │ │ │ └── partner_list.xml │ │ │ ├── phone_field/ │ │ │ │ ├── phone_field.esm.js │ │ │ │ └── phone_field.xml │ │ │ ├── softphone/ │ │ │ │ ├── softphone.esm.js │ │ │ │ ├── softphone.scss │ │ │ │ └── softphone.xml │ │ │ ├── transfer/ │ │ │ │ ├── transfer.esm.js │ │ │ │ └── transfer.xml │ │ │ └── voip_oca_systray/ │ │ │ ├── voip_oca_systray.esm.js │ │ │ ├── voip_oca_systray.scss │ │ │ └── voip_oca_systray.xml │ │ ├── core/ │ │ │ └── phone/ │ │ │ ├── @types/ │ │ │ │ └── model.d.ts │ │ │ └── call_model.esm.js │ │ ├── services/ │ │ │ ├── voip_agent_service.esm.js │ │ │ └── voip_oca_service.esm.js │ │ └── utils/ │ │ └── utils.esm.js │ └── tests/ │ ├── components/ │ │ ├── ActivityTab.esm.test.js │ │ ├── CallTab.esm.test.js │ │ ├── NumpadTab.esm.test.js │ │ ├── PartnerTab.esm.test.js │ │ └── Softphone.esm.test.js │ ├── mock_server/ │ │ └── mock_models/ │ │ ├── mail_activity.esm.js │ │ ├── res_partner.esm.js │ │ ├── voip_call.esm.js │ │ └── voip_pbx.esm.js │ └── voip_test_helpers.esm.js ├── tests/ │ ├── __init__.py │ ├── test_backend.py │ ├── test_frontend.py │ └── test_js.py └── views/ ├── menus.xml ├── res_users.xml ├── voip_call.xml └── voip_pbx.xml