Compare commits

...

28 Commits

Author SHA1 Message Date
Antoine Vandevenne (anv) 996a71a509 [IMP] supported_versions: release saas-17.1 2024-02-12 10:54:47 +01:00
Odoo Translation Bot 1a5abacb53 [I18N] Update translation terms from Transifex 2024-02-11 02:40:22 +01:00
tiku-odoo 5ea7d3aa16 [ADD] Misc: VoIP Axivox Dial Plan Edits
closes odoo/documentation#7626

X-original-commit: 2ac2109014
X-original-commit: 2ac2109014
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-02-06 17:34:26 +00:00
Odoo Translation Bot 99f27cb692 [I18N] Update translation terms from Transifex 2024-02-04 02:40:30 +01:00
Loredana Perazzo 57be14567e [IMP] POS: path to configure payment terminals
task-3684488

closes odoo/documentation#7538

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-02-01 14:50:20 +00:00
tiku-odoo 03678233c5 [IMP] Misc Auth LDAP Typo Edits
closes odoo/documentation#7581

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-29 21:54:44 +00:00
Odoo Translation Bot de7414df08 [I18N] Update translation terms from Transifex 2024-01-28 02:40:55 +01:00
Lara Martini (larm) 572a54b396 [ADD] Time Off: new documentation needed
closes odoo/documentation#7301

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-01-23 20:26:22 +00:00
tiku-odoo bfe57fdbdd [IMP] IoT Printer doc edits
closes odoo/documentation#7431

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-22 21:34:20 +00:00
Odoo Translation Bot f94085fd8a [I18N] Update translation terms from Transifex 2024-01-21 02:40:31 +01:00
tiku-odoo 9db684fe86 [RMV]Sales: remove snyc menu line ebay connector
closes odoo/documentation#7428

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-19 20:19:59 +00:00
tiku-odoo d902bbbc19 [IMP] Microsoft Azure Email Phrasing update
closes odoo/documentation#7430

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-19 18:59:55 +00:00
tiku-odoo 055e332ef3 [RMV]VOIP:Scrub Asterisk Docs
closes odoo/documentation#7426

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-19 02:48:18 +00:00
Martin Trigaux (mat) 8392361ef0 [I18N] *: export 15.0 translations
closes odoo/documentation#7435

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-01-18 14:47:20 +00:00
Olivier Dony d015d34fe8 [IMP] conf: special case alt lang links for legal terms
Legal terms live under specific URL as their translations are not
managed in the same manner.

Layout is like this:
  /terms/enterprise.html (EN)
  /terms/i18n/enterprise_fr.html (FR)

This commit adapts the generation of alternative languages links for each
"legal terms page", so that it targets the correct i18n link, or goes
back to the canonical EN one, depending on the target language.

closes odoo/documentation#7383

X-original-commit: 8062e54a7e
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2024-01-15 21:46:05 +00:00
Olivier Dony f7947312fb [CHG] legal: make Spanish partnership contract official
Removed the "not legally binding" warning, as Odoo now has official
establishments in countries when Spanish contracts are mandatory and
need to be binding. More careful reviews of the Spanish translations
will be necessary from now on.

X-original-commit: 43c2b85a1b
Part-of: odoo/documentation#7383
2024-01-15 21:46:05 +00:00
Olivier Dony 2f43aa2c56 [IMP] legal: update spanish Enterprise contract to v10a
Including spellchecking and proper emphasis of some important terms, and
the disambiguation of "Extra Covered Modules" and "Bug"

Removed the "not legally binding" warning, as Odoo now has official
establishments in countries when Spanish contracts are mandatory and
need to be binding. More careful reviews of the Spanish translations
will be necessary from now on.

X-original-commit: aa412ed32f
Part-of: odoo/documentation#7383
2024-01-15 21:46:05 +00:00
Odoo Translation Bot eeccf39959 [I18N] Update translation terms from Transifex 2024-01-14 02:40:21 +01:00
Jonathan Castillo (jcs) b6051fafcb [FIX] redirects: redirection loop on install.rst
closes odoo/documentation#7201

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-12 11:38:43 +00:00
Donatienne (dopi) 99dbd6d61b [MOV] geo ip installation: move page to install
Page moved from Websites to Install section

taskid-3512515

Part-of: odoo/documentation#7201
2024-01-12 11:38:43 +00:00
Brandon Seltenrich (BRSE) 7d56862e53 [IMP] barcode: update adjustments doc
closes odoo/documentation#6889

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-11 20:40:38 +00:00
Tom Aarab (toaa) 6a66644abe [REM] accounting: multiple payments
Removing redundant page (see task)

See PR https://github.com/odoo/documentation/pull/6645

taskid-3466400

closes odoo/documentation#6651

Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-11 12:16:26 +00:00
Tom Aarab (toaa) fecb587e78 [IMP] localization: spain missing reports
Missing tax reports for

15 & 16: 347 & 349
17: 347, 349, & 390

taskid-3673259

closes odoo/documentation#7300

Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-09 13:52:02 +00:00
Odoo Translation Bot b876dc013a [I18N] Update translation terms from Transifex 2024-01-07 02:40:31 +01:00
Tom Aarab (toaa) c438e5a3aa [IMP] accounting: checks
Cleared up some confusion about path menu and feature

Forward to master

taskid-3644544

closes odoo/documentation#7195

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-01-05 15:42:56 +00:00
Julien Castiaux c55e8f251a [FIX] developer/reference/cli: log on stderr
Odoo is actually logging on sys.stderr and not sys.stdout[^1][^2][^3].

Remove passage about the workflows, the workflows were an OpenERP
feature removed almost a decade ago in odoo/odoo@98cb4719db.

Fixes: #7210

[^1]: https://github.com/odoo/odoo/blob/b3b9b2b49ef90d30bcce1e27a4ba0b24f888170c/odoo/netsvc.py#L156
[^2]: https://github.com/odoo/odoo/blob/b3b9b2b49ef90d30bcce1e27a4ba0b24f888170c/odoo/netsvc.py#L198
[^3]: https://docs.python.org/3/library/logging.handlers.html#logging.StreamHandler

closes odoo/documentation#7253

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-04 16:15:26 +00:00
Tom Aarab (toaa) 36d0a51496 [IMP] accounting: payments doc update
Updated the payments doc page.

Forward to master.

16.3 -> Change reconciliation section

taskid-3610834

closes odoo/documentation#6645

Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-04 16:15:23 +00:00
Tom Aarab (toaa) d0b0cdfcf5 [IMP] accounting: reporting
Updated the reporting section.

Forward to 16.3

closes odoo/documentation#6533

Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-04 16:15:22 +00:00
226 changed files with 45071 additions and 14267 deletions
+17
View File
@@ -211,6 +211,7 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-17.1': "Odoo Online",
'17.0': "Odoo 17",
'saas-16.4': "Odoo Online",
'saas-16.3': "Odoo Online",
@@ -475,8 +476,24 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
_version = _version or app.config.version
_lang = _lang or app.config.language or 'en'
_canonical_page = f'{pagename}.html'
# legal translations have different URLs schemes as they are not managed on transifex
# e.g. FR translation of /terms/enterprise => /fr/terms/enterprise_fr
if pagename.startswith('legal/terms/'):
if _lang in legal_translations and not pagename.endswith(f"_{_lang}"):
# remove language code for current translation, set target one
_page = re.sub("_[a-z]{2}$", "", pagename)
if 'terms/i18n' not in _page:
_page = _page.replace("/terms/", "/terms/i18n/")
_canonical_page = f'{_page}_{_lang}.html'
elif _lang == 'en' and pagename.endswith(tuple(f"_{l}" for l in legal_translations)):
# remove language code for current translation, link to original EN one
_page = re.sub("_[a-z]{2}$", "", pagename)
_canonical_page = f'{_page.replace("/i18n/", "/")}.html'
if app.config.is_remote_build:
_canonical_page = _canonical_page.replace('index.html', '')
return f'{_root}' \
f'{f"/{_version}" if app.config.versions else ""}' \
f'{f"/{_lang}" if _lang != "en" else ""}' \
+1
View File
@@ -47,3 +47,4 @@ functionalities, including functional support, upgrades, and hosting. `Pricing
install/deploy
install/cdn
install/email_gateway
install/geo_ip
@@ -1,6 +1,9 @@
==========================================
Geo IP Installation (On-Premises Database)
==========================================
======
Geo IP
======
.. note::
This documentation only applies to On-premise databases.
Installation
============
@@ -40,7 +43,7 @@ Installation
1. See `GeoLite Legacy databases are now discontinued
<https://support.maxmind.com/geolite-legacy-discontinuation-notice/>`_
How To Test GeoIP Geolocation In Your Odoo Website
How to test GeoIP geolocation in your Odoo website
==================================================
1. Go to your website. Open the web page that you want to test ``GeoIP``.
@@ -53,7 +56,7 @@ How To Test GeoIP Geolocation In Your Odoo Website
You should end up with a dictionary indicating the location of the IP address.
.. image:: on-premise_geo-ip-installation/on-premise_geo-ip-installation01.png
.. image:: geo_ip/on-premise_geo-ip-installation01.png
:align: center
.. note::
@@ -52,7 +52,7 @@ able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, cl
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
In the search bar, search for the following :guilabel:`Deregulated permissions` and click
In the search bar, search for the following :guilabel:`Delegated permissions` and click
:guilabel:`Add permissions` for each one:
- :guilabel:`SMTP.Send`
@@ -31,12 +31,18 @@ This matrix shows the support status of every version.
- On-Premise
- Release date
- End of support
* - Odoo saas~17.1
- |green|
- N/A
- N/A
- January 2024
-
* - **Odoo 17.0**
- |green|
- |green|
- |green|
- November 2023
- November 2026 (planned)
- October 2026 (planned)
* - Odoo saas~16.4
- |green|
- N/A
@@ -4,15 +4,15 @@
Payments
========
In Odoo, payments can either be linked automatically to an invoice or bill or be stand-alone records
for use at a later date.
In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records
for use at a later date:
If a payment is **linked to an invoice or bill**, it reduces the amount due of the invoice. You can
have multiple payments related to the same invoice.
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due of the
invoice. You can have multiple payments related to the same invoice.
If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
your company, or your company has an outstanding debit with a vendor. You can use those outstanding
amounts to reduce unpaid invoices/bills.
- If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
your company, or your company has an outstanding debit with a vendor. You can use those
outstanding amounts to reduce/settle unpaid invoices/bills.
.. seealso::
- :doc:`Internal transfers <payments/internal_transfers>`
@@ -23,69 +23,64 @@ amounts to reduce unpaid invoices/bills.
Registering payment from an invoice or bill
===========================================
When clicking on :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a
new journal entry and changes the amount due according to the amount of the payment. The counterpart
is reflected in an outstanding receipts or payments account. At this point, the customer invoice or
vendor bill is marked as :guilabel:`In payment`. Then, when the outstanding account is reconciled
with a bank statement line, the invoice or vendor bill changes to the :guilabel:`Paid` status.
When clicking :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a new
journal entry and changes the amount due according to the payment amount. The counterpart is
reflected in an :ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account.
At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when
the outstanding account is reconciled with a bank statement line, the invoice or vendor bill changes
to the :guilabel:`Paid` status.
The information icon near the payment line displays more information about the payment. You can
access additional information, such as the related journal, by clicking on :guilabel:`View`.
access additional information, such as the related journal, by clicking :guilabel:`View`.
.. image:: payments/information-icon.png
:alt: See detailed information of a payment
:alt: See detailed information of a payment.
.. note::
- The customer invoice or vendor bill should be in the status :guilabel:`Posted` to register the
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
payment.
- When clicking on :guilabel:`Register payment`, you can select the amount to pay and make a
partial or full payment.
- If your main bank account is set as :ref:`outstanding account
<bank/outstanding-accounts>`, and the payment is made in Odoo (not related to a
bank statement), invoices and bills are directly registered in the status :guilabel:`Paid`.
- If you unreconciled a payment, it still appears in your books but is no longer linked to the
- If you unreconcile a payment, it still appears in your books but is no longer linked to the
invoice.
- If you (un)reconcile a payment in a different currency, a journal entry is automatically
created to post the currency exchange gains/losses (reversal) amount.
- If you (un)reconcile a payment and an invoice having cash basis taxes, a journal entry is
automatically created to post the cash basis tax (reversal) amount.
.. seealso::
- :doc:`bank/reconciliation`
.. tip::
- If your main bank account is set as an :ref:`outstanding account
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
bank statement), invoices and bills are directly registered as :guilabel:`Paid`.
Registering payments not tied to an invoice or bill
===================================================
When a new payment is registered via the menu :menuselection:`Customers / Vendors --> Payments`, it
is not directly linked to an invoice or bill. Instead, the account receivable or the account payable
are matched with the outstanding account until they are manually matched with their related invoice
or bill.
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments` menu, it is
not directly linked to an invoice or bill. Instead, the account receivable or the account payable is
matched with the **outstanding account** until it is manually matched with its related invoice or
bill.
Matching invoices and bills with payments
-----------------------------------------
A blue banner appears when you validate a new invoice or bill and there is an outstanding payment
for this specific customer or vendor. It can easily be matched from the invoice or the bill by
clicking on :guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
A blue banner appears when you validate a new invoice/bill and an **outstanding payment** exists for
this specific customer or vendor. It can easily be matched from the invoice or bill by clicking
:guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
.. image:: payments/add-option.png
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with the bank
statement.
.. seealso::
- :doc:`bank/reconciliation`
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
corresponding bank statement.
Batch payment
-------------
Batch payments allow you to group different payments to ease :doc:`reconciliation
<bank/reconciliation>`. They are also useful when you deposit checks to the bank or
for SEPA Payments. To do so, go to :menuselection:`Accounting --> Customers --> Batch Payments` or
:menuselection:`Accounting --> Vendors --> Batch Payments`. In the list view of payments, you can
select several payments and group them in a batch by clicking on :menuselection:`Action --> Create
Batch Payment`.
<bank/reconciliation>`. They are also useful when you deposit :doc:`checks <payments/checks>` to the
bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to :menuselection:`Accounting -->
Customers --> Batch Payments` or :menuselection:`Accounting --> Vendors --> Batch Payments`. In the
list view of payments, you can select and group several payments in a batch by clicking
:menuselection:`Action --> Create Batch Payment`.
.. seealso::
- :doc:`payments/batch`
@@ -97,36 +92,50 @@ Payments matching
-----------------
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
gives you the opportunity to process them all one by one, doing the matching of all their payments
and invoices at once. You can reach this tool from the :menuselection:`Accounting Dashboard -->
Customer Invoices / Vendor Bills`, and click on :guilabel:`` and select :guilabel:`Payments
Matching`, or by going to :menuselection:`Accounting --> Reconciliation`.
allows you to process them individually, matching all payments and invoices in one place. You can
reach this tool from the :menuselection:`Accounting Dashboard --> Customer Invoices / Vendor Bills`,
click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payments Matching`, or go to
:menuselection:`Accounting --> Accounting --> Reconciliation`.
.. image:: payments/payments-journal.png
:alt: Payments matching menu in the drop-down menu.
.. note::
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits
and credits does not match, there is a remaining balance. This either needs to be reconciled at a
later date or needs to be written off directly.
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits and credits does
not match, there is a remaining balance. This either needs to be reconciled at a later date or
needs to be written off directly.
Batch payments matching
-----------------------
To reconcile several outstanding payments or invoices at once, for a specific customer or vendor,
the batch reconciliation feature can be used. Go to :menuselection:`Accounting --> Reporting -->
Aged Receivable / Aged Payable`. You now see all transactions that have not been reconciled yet, and
when you select a customer or vendor, the :guilabel:`Reconcile` option is displayed.
You can use the batch reconciliation feature to reconcile several outstanding payments or invoices
simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting -->
Aged Receivable / Aged Payable`. You can see all transactions that have not been reconciled yet for
that partner, and when you select a customer or vendor, the :guilabel:`Reconcile` option is
displayed.
.. image:: payments/reconcile-option.png
:alt: See the reconcile option
:alt: See the reconcile option.
Registering a partial payment
=============================
To register a **partial payment**, click :guilabel:`Register payment` from the related invoice or
bill, and enter the amount received or paid. Upon entering the amount, a prompt appears to decide
whether to :guilabel:`Keep open` the invoice or bill, or :guilabel:`Mark as fully paid`. Select
:guilabel:`Keep open` and click :guilabel:`Create payment`. The invoice or bill is now marked as
:guilabel:`Partial`. Select :guilabel:`Mark as fully paid` if you wish to settle the invoice or bill
with a difference in the amount.
.. image:: payments/payment-difference.png
:alt: Partial payment of an invoice or bill.
Reconciling payments with bank statements
=========================================
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
next step is to reconcile it with the related bank statement line to have the transaction finalized
and the invoice or bill marked as :guilabel:`Paid`.
.. seealso::
- :doc:`bank/reconciliation`
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank statement line to
have the transaction finalized and the invoice or bill marked as :guilabel:`Paid`.
.. toctree::
:titlesonly:
@@ -139,5 +148,4 @@ and the invoice or bill marked as :guilabel:`Paid`.
payments/internal_transfers
payments/pay_sepa
payments/pay_checks
payments/multiple
payments/forecast
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

@@ -1,53 +0,0 @@
=========================
Pay several bills at once
=========================
Odoo offers the possibility of grouping multiple bills' payments into one, facilitating the
reconciliation process.
.. seealso::
- :doc:`/applications/inventory_and_mrp/purchase/manage_deals/manage`
- :doc:`/applications/finance/accounting/bank/reconciliation`
Group payments
==============
To register the payment of multiple bills at once, go to :menuselection:`Accounting app -->
Vendors --> Bills`. Then, select the bills you wish to register a payment for by **ticking** the
boxes next to the bills. When done, either click :guilabel:`Register Payment` or
:menuselection:`Action --> Register Payment`.
.. image:: multiple/register-payment-button.png
:align: center
:alt: Register payment button.
.. note::
Payments can only be registered for :guilabel:`posted` bills.
When registering the payments, a **pop-up window** appears. From here, you can either create
**separate payments** for each bill all at once by clicking :guilabel:`Create Payment`, *or* create
one payment by combining **all** bills' payments. To **combine** all payments, tick the
:guilabel:`Group Payments` box.
.. note::
The :guilabel:`Group Payments` option only appears when selecting two or more bills.
.. image:: multiple/multiple-group-payments.png
:align: center
:alt: Group payments options when registering a payment.
When selecting :guilabel:`Group Payments`, the :guilabel:`amount, currency, date and memo` are all
set automatically, but you can modify them according to your needs.
Partial group payments with cash discounts
------------------------------------------
In case of **partial group payments with cash discounts**, you can follow the steps found on the
:doc:`cash discount documentation page
</applications/finance/accounting/customer_invoices/cash_discounts>`. Make sure to
apply the :doc:`payment terms
</applications/finance/accounting/customer_invoices/payment_terms>` to the **bills**
*instead* of the invoices.
.. seealso::
:doc:`/applications/finance/accounting/customer_invoices/payment_terms`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

@@ -13,14 +13,15 @@ Activate checks payment methods
-------------------------------
To activate the checks payment method, go to :menuselection:`Accounting --> Configuration -->
Checks`, there you can activate the payment method as well as set up the :guilabel:`Check Layout`.
Once activated the :guilabel:`Checks` setting, the feature is automatically setup for your
:guilabel:`Outgoing Payments`.
Settings`, and scroll down to the :guilabel:`Vendor Payments` section. There, you can activate the
payment method as well as set up the :guilabel:`Check Layout`.
.. note::
Some countries require specific modules to print checks; such modules may be installed by
default. For instance, the :guilabel:`U.S. Checks Layout` module is required to print U.S.
checks.
- Once the :guilabel:`Checks` setting is activated, the **Checks** payment method is
automatically set up in the :guilabel:`Outgoing Payments` tabs of **bank** journals.
- Some countries require specific modules to print checks; such modules may be installed by
default. For instance, the :guilabel:`U.S. Checks Layout` module is required to print U.S.
checks.
Compatible check stationery for printing checks
===============================================
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

@@ -7,9 +7,8 @@ Reporting
Main reports available
======================
Besides the reports created specifically in each localisation module, a
few very useful **generic** and **dynamic reports** are available for all
countries :
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
:doc:`localization package <../../finance/fiscal_localizations>` installed:
- **Balance Sheet**
- **Profit and Loss**
@@ -19,136 +18,136 @@ countries :
- **Aged Receivable**
- **Cash Flow Statement**
- **Tax Report**
- **Bank Reconciliation**
You can annotate every reports to print them and report to your adviser.
Export to xls to manage extra analysis. Drill down in the reports to see
more details (payments, invoices, journal items, etc.).
Reports can be **annotated, printed, and drilled down** to see details (payments, invoices,
journal items, etc.) by clicking the **down** arrow. Reports can also be exported to **PDF** or
**XLSX** format by clicking :guilabel:`PDF` or :guilabel:`XLSX` at the top of the page.
You can also compare values with another period. Choose how many periods
you want to compare the chosen time period with. You can choose up to 12
periods back from the date of the report if you don't want to use the
default **Previous 1 Period** option.
.. image:: reporting/reporting-annotate.png
:alt: Annotate reports.
You can compare values across periods by using the :guilabel:`Comparison` menu and selecting the
periods you want to compare.
.. image:: reporting/reporting-comparison.png
:alt: Comparison menu to compare time periods.
.. _reporting/balance-sheet:
Balance Sheet
-------------
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
of your organisation as at a particular date.
The **Balance Sheet** shows a snapshot of your organization's assets, liabilities, and equity at a
particular date.
.. image:: reporting/main_reports09.png
.. image:: reporting/reporting-balance-sheet.png
:alt: Balance sheet report of Odoo.
.. _reporting/profit-and-loss:
Profit and Loss
---------------
The **Profit and Loss** report (or **Income Statement**) shows your
organisation's net income, by deducting expenses from revenue for the
report period.
The **Profit and Loss** report (or **Income Statement**) shows your company's net income by
deducting expenses from revenue for the reporting period.
.. image:: reporting/main_reports10.png
.. image:: reporting/reporting-profit-and-loss.png
:alt: Profit and Loss report of Odoo
.. _reporting/executive-summary:
Executive Summary
-----------------
The **Executive Summary** allows for a quick look at all the important
figures you need to run your company.
The **Executive Summary** allows a quick look at all the important figures to run your company.
In very basic terms, this is what each of the items in this section is
reporting :
In basic terms, this is what each item in the following section reports:
- **Performance:**
- **Gross profit margin:**
The contribution each individual sale made
by your business less any direct costs needed to make those sales
(things like labour, materials, etc).
The contribution of all sales made by your business **minus** any direct costs needed to
make those sales (labor, materials, etc.).
- **Net profit margin:**
The contribution each individual sale made by
your business less any direct costs needed to make those sales,
as well as any fixed overheads your company has (things like
rent, electricity, taxes you need to pay as a result of those
sales).
- **Return on investment (p.a.):**
The ratio of net profit made, to the
amount of assets the company used to make those profits.
The contribution of all sales made by your business **minus** any direct costs needed to
make those sales *and* fixed overheads your company has (electricity, rent, taxes
to be paid as a result of those sales, etc.).
- **Return on investment (per annum):**
The ratio of net profit made to the amount of assets the company used to make those profits.
- **Position:**
- **Average debtor days:**
The average number of days it takes your
customers to pay you (fully), across all your customer invoices.
- **Average creditor days:**
The average number of days it takes you to
pay your suppliers (fully) across all your bills.
- **Short term cash forecast:**
How much cash is expected in or out of
your organisation in the next month i.e. balance of your **Sales
account** for the month less the balance of your **Purchases account**
for the month.
- **Average debtors days:**
The average number of days it takes your customers to (fully) pay you across all your
customer invoices.
- **Average creditors days:**
The average number of days it takes you to (fully) pay your suppliers across all your bills.
- **Short-term cash forecast:**
How much cash is expected in or out of your business in the next month, i.e., the balance of
your **Sales account** for the month **minus** the balance of your **Purchases account** for
the month.
- **Current assets to liabilities:**
Also referred to as **current ratio**, this is the ratio
of current assets (assets that could be
turned into cash within a year) to the current liabilities
(liabilities which will be due in the next year). This is
typically used as as a measure of a company's ability to service
its debt.
Also referred to as **current ratio**, this is the ratio of current assets (:dfn:`assets
that could be turned into cash within a year`) to the current liabilities (:dfn:`liabilities
that will be due in the next year`). It is typically used to measure a company's ability to
service its debt.
.. image:: reporting/main_reports01.png
.. image:: reporting/reporting-executive-summary.png
:alt: Executive summary report in Odoo.
.. _reporting/general-ledger:
General Ledger
--------------
The **General Ledger Report** shows all transactions from all accounts for a
chosen date range. The initial summary report shows the totals for each
account and from there you can view a detailed transaction report or any
exceptions. This report is useful for checking every transaction that
occurred during a certain period of time.
The **General Ledger Report** shows all transactions from all accounts for a chosen date range. The
initial summary report shows each account's totals; from here, you can view a detailed transaction
report or any exceptions. This report helps check every transaction that occurred during a specific
period.
.. image:: reporting/main_reports05.png
.. image:: reporting/reporting-general-ledger.png
:alt: General Ledger report in Odoo.
.. _reporting/aged-payable:
Aged Payable
------------
Run the **Aged Payable Details** report to display information on individual
bills, credit notes and overpayments owed by you, and how long these
have gone unpaid.
Run the **Aged Payable Details** report to display information on individual bills, credit notes,
and overpayments you owe and how long these have gone unpaid.
.. image:: reporting/main_reports02.png
.. image:: reporting/reporting-aged-payable.png
:alt: Aged Payable report in Odoo.
.. _reporting/aged-receivable:
Aged Receivable
---------------
The **Aged Receivables** report shows the sales invoices that were awaiting
payment during a selected month and several months prior.
The **Aged Receivables** report shows the sales invoices awaiting payment during a selected month
and several months prior.
.. image:: reporting/main_reports07.png
.. image:: reporting/reporting-aged-receivable.png
:alt: Aged Receivable report in Odoo.
.. _reporting/cash-flow-statement:
Cash Flow Statement
-------------------
The **Cash Flow Statement** shows how changes in balance sheet accounts and
income affect cash and cash equivalents, and breaks the analysis down to
operating, investing and financing activities.
The **Cash Flow Statement** shows how changes in balance sheet accounts and income affect cash and
cash equivalents and breaks the analysis down to operating, investing, and financing activities.
.. image:: reporting/main_reports03.png
.. image:: reporting/reporting-cash-flow-statement.png
:alt: Cash Flow Statement report in Odoo.
.. _reporting/tax-report:
Tax Report
----------
This report allows you to see the **net** and **tax amounts** for all the taxes
grouped by type (sale/purchase).
This report allows you to see the **net** and **tax amounts** for all the taxes grouped by type
(sale/purchase).
.. image:: reporting/main_reports04.png
Bank Reconciliation
-------------------
.. image:: reporting/main_reports06.png
.. image:: reporting/reporting-tax-report.png
:alt: Tax report in Odoo.
.. toctree::
:titlesonly:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@@ -2,29 +2,33 @@
Spain
=====
Spanish Chart of Accounts
Spanish chart of accounts
=========================
In Odoo, there are several Spanish Chart of Accounts that are available by default:
Several Spanish charts of accounts are available by default in Odoo:
- PGCE PYMEs 2008
- PGCE Completo 2008
- PGCE Entitades
You can choose the one you want by going in :menuselection:`Accounting --> Configuration`
then choose the package you want in the **Fiscal Localization** section.
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
To choose the one you want, go to :menuselection:`Accounting --> Configuration --> Settings`,
then select a package in the :guilabel:`Fiscal localization` section.
.. tip::
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
Spanish Accounting Reports
.. warning::
You can only change the accounting package as long as you have not created any accounting entry.
Spanish accounting reports
==========================
If the Spanish Accounting Localization is installed, you will have access to accounting reports specific to Spain:
If the Spanish accounting localization is installed, you have access to accounting reports specific
to Spain:
- Balance Sheet
- Tax Report (Modelo 111)
- Tax Report (Modelo 115)
- Tax Report (Modelo 303)
- Tax Report (Modelo 347)
- Tax Report (Modelo 349)
+20 -9
View File
@@ -2,43 +2,54 @@
Sign in with LDAP
=================
- Install the LDAP module in General Settings.
- Install the Lightweight Directory Access Protocol (LDAP) module in General Settings.
- Click on **Create** in Setup your LDAP Server.
- Click on **Create** in Setup the :abbr:`LDAP (Lightweight Directory Access Protocol)` Server.
.. image:: ldap/ldap01.png
:align: center
:alt: LDAP Authentication checkbox highlighted in the integrations settings on Odoo.
.. image:: ldap/ldap02.png
:align: center
:alt: Create highlighted in the LDAP server settings.
- Choose the company about to use the LDAP.
- Choose the company using the LDAP.
.. image:: ldap/ldap03.png
:align: center
:alt: Select the company drop-down menu highlighted in LDAP setup.
- In **Server Information**, enter the IP address of your server and the port it listens to.
- In **Server Information**, enter the IP address of the server and the port it listens to.
- Tick **User TLS** if your server is compatible.
- Tick **Use TLS** if the server is compatible.
.. image:: ldap/ldap04.png
:align: center
:alt: LDAP server settings highlighted in LDAP server setup on Odoo.
- In **Login Information**, enter ID and password of the account used to query the server. If left empty, the server will be queried anonymously.
- In **Login Information**, enter ID and password of the account used to query the server. If left
empty, the server queries anonymously.
.. image:: ldap/ldap05.png
:align: center
:alt: Login information highlighted in LDAP server setup on Odoo.
- In **Process Parameter**, enter the domain name of your LDAP server in LDAP nomenclature (e.g. ``dc=example,dc=com``).
- In **Process Parameter**, enter the domain name of the LDAP server in :abbr:`LDAP (Lightweight
Directory Access Protocol)` nomenclature (e.g. ``dc=example,dc=com``).
- In **LDAP filter**, enter ``uid=%s``
.. image:: ldap/ldap06.png
:align: center
:alt: Process parameter highlighted in LDAP server setup on Odoo.
- In **User Information**, tick *Create User* if you want Odoo to create a User profile the first time someone log in with LDAP.
- In **User Information**, tick *Create User* if Odoo should create a User profile the first time
someone logs in with :abbr:`LDAP (Lightweight Directory Access Protocol)`.
- In **Template User**, indicate a template for the new profiles created. If left blanked, the admin profile will be used as template.
- In **Template User**, indicate a template for the new profiles created. If left blanked, the admin
profile will be used as template.
.. image:: ldap/ldap07.png
:align: center
:alt: User information highlighted on LDAP server setup on Odoo.
+10 -2
View File
@@ -1,12 +1,20 @@
:nosearch:
:show-content:
:hide-page-toc:
:show-toc:
===================================
VoIP (Voice over Internet Protocol)
===================================
.. seealso::
For more information, reference the `Odoo eLearning (video tutorials) on VoIP
<https://www.odoo.com/slides/voip-voice-over-ip-315>`_
.. toctree::
:titlesonly:
voip/asterisk
voip/onsip
voip/axivox
voip/voip_widget
voip/devices_integrations
voip/transfer_forward
@@ -1,238 +0,0 @@
============================================
Configure your VoIP Asterisk server for Odoo
============================================
Installing Asterisk server
==========================
Dependencies
------------
Before installing Asterisk you need to install the following dependencies:
- wget
- gcc
- g++
- ncurses-devel
- libxml2-devel
- sqlite-devel
- libsrtp-devel
- libuuid-devel
- openssl-devel
- pkg-config
In order to install libsrtp, follow the instructions below:
.. code-block:: console
cd /usr/local/src/
wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
tar zxvf srtp-1.4.2.tgz
cd /usr/local/src/srtp
./configure CFLAGS=-fPIC --prefix=/usr/local/lib
make && make install
You also need to install PJSIP, you can download the source `here
<http://www.pjsip.org/download.htm>`_. Once the source directory is extracted:
- **Change to the pjproject source directory:**
.. code-block:: console
# cd pjproject
- **run:**
.. code-block:: console
# ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'
- **Build and install pjproject:**
.. code-block:: console
# make dep
# make
# make install
- **Update shared library links:**
.. code-block:: console
# ldconfig
- **Verify that pjproject is installed:**
.. code-block:: console
# ldconfig -p | grep pj
- **The result should be:**
.. code-block:: console
libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
libpjsip.so (libc6,x86-64) => /usr/lib/libpjsip.so
libpjsip-ua.so (libc6,x86-64) => /usr/lib/libpjsip-ua.so
libpjsip-simple.so (libc6,x86-64) => /usr/lib/libpjsip-simple.so
libpjnath.so (libc6,x86-64) => /usr/lib/libpjnath.so
libpjmedia.so (libc6,x86-64) => /usr/lib/libpjmedia.so
libpjmedia-videodev.so (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so
libpjmedia-codec.so (libc6,x86-64) => /usr/lib/libpjmedia-codec.so
libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so
libpjlib-util.so (libc6,x86-64) => /usr/lib/libpjlib-util.so
libpj.so (libc6,x86-64) => /usr/lib/libpj.so
Asterisk
--------
- In order to install Asterisk 13.7.0, you can download the source directly `there
<http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-13.7.0.tar.gz>`_.
- Extract Asterisk:
.. code-block:: console
tar zxvf asterisk*
- Enter the Asterisk directory:
.. code-block:: console
cd ./asterisk*
- Run the Asterisk configure script:
.. code-block:: console
./configure --with-pjproject --with-ssl --with-srtp
- Run the Asterisk menuselect tool:
.. code-block:: console
make menuselect
- In the menuselect, go to the resources option and ensure that res_srtp is enabled. If there are
3 xs next to res_srtp, there is a problem with the srtp library and you must reinstall it. Save
the configuration (press x). You should also see stars in front of the res_pjsip lines.
- Compile and install Asterisk:
.. code-block:: console
make && make install
- If you need the sample configs you can run 'make samples' to install the sample configs. If you
need to install the Asterisk startup script you can run 'make config'.
DTLS Certificates
-----------------
- After you need to setup the DTLS certificates.
.. code-block:: console
mkdir /etc/asterisk/keys
- Enter the Asterisk scripts directory:
.. code-block:: console
cd /asterisk*/contrib/scripts
- Create the DTLS certificates (replace pbx.mycompany.com with your ip address or dns name, replace
My Super Company with your company name):
.. code-block:: console
./ast_tls_cert -C pbx.mycompany.com -O "My Super Company" -d /etc/asterisk/keys
Configure Asterisk server
=========================
For WebRTC, a lot of the settings that are needed MUST be in the peer settings. The global settings
do not flow down into the peer settings very well. By default, Asterisk config files are located in
/etc/asterisk/. Start by editing http.conf and make sure that the following lines are uncommented:
.. code-block:: console
;http.conf
[general]
enabled=yes
bindaddr=127.0.0.1 ; Replace this with your IP address
bindport=8088 ; Replace this with the port you want to listen on
Next, edit sip.conf. The WebRTC peer requires encryption, avpf, and icesupport to be enabled. In
most cases, directmedia should be disabled. Also under the WebRTC client, the transport needs to be
listed as ws to allow websocket connections. All of these config lines should be under the peer
itself; setting these config lines globally might not work:
.. code-block:: console
;sip.conf
[general]
realm=127.0.0.1 ; Replace this with your IP address
udpbindaddr=127.0.0.1 ; Replace this with your IP address
transport=udp
[1060] ; This will be WebRTC client
type=friend
username=1060 ; The Auth user for SIP.js
host=dynamic ; Allows any host to register
secret=password ; The SIP Password for SIP.js
encryption=yes ; Tell Asterisk to use encryption for this peer
avpf=yes ; Tell Asterisk to use AVPF for this peer
icesupport=yes ; Tell Asterisk to use ICE for this peer
context=default ; Tell Asterisk which context to use when this peer is dialing
directmedia=no ; Asterisk will relay media for this peer
transport=udp,ws ; Asterisk will allow this peer to register on UDP or WebSockets
force_avp=yes ; Force Asterisk to use avp. Introduced in Asterisk 11.11
dtlsenable=yes ; Tell Asterisk to enable DTLS for this peer
dtlsverify=no ; Tell Asterisk to not verify your DTLS certs
dtlscertfile=/etc/asterisk/keys/asterisk.pem ; Tell Asterisk where your DTLS cert file is
dtlsprivatekey=/etc/asterisk/keys/asterisk.pem ; Tell Asterisk where your DTLS private key is
dtlssetup=actpass ; Tell Asterisk to use actpass SDP parameter when setting up DTLS
In the sip.conf and rtp.conf files you also need to add or uncomment the lines:
.. code-block:: console
icesupport = true
stunaddr = stun.l.google.com:19302
Lastly, set up extensions.conf:
.. code-block:: console
;extensions.conf
[default]
exten => 1060,1,Dial(SIP/1060) ; Dialing 1060 will call the SIP client registered to 1060
Configure Odoo VOIP
===================
In Odoo, the configuration should be done in the user's preferences.
.. image:: asterisk/voip_config01.png
:align: center
- The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in
our example: 1060).
- The SIP Password is the secret you chose in the sip.conf file.
- The extension of your office's phone is not a required field but it is used if you want to
transfer your call from Odoo to an external phone also configured in the sip.conf file.
The configuration should also be done in the General Settings under the "Integrations" section.
.. image:: onsip/onsip02.png
:align: center
- The PBX Server IP should be the same as the IP you define in the http.conf file.
- The WebSocket should be: ws://localhost:XXXX/ws where "localhost" needs to be the same as the IP
defined previously and "XXXX" needs to be the port defined in the http.conf file.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

+14 -83
View File
@@ -1,86 +1,17 @@
=====================================
Use VoIP services in Odoo with Axivox
=====================================
:nosearch:
Introduction
============
====================
Axivox configuration
====================
Odoo VoIP can be set up to work together with `Axivox <https://www.axivox.com/>`_. In that case, an
:doc:`Asterisk server <asterisk>` is not necessary as the infrastructure is hosted and managed by
Axivox.
.. toctree::
:titlesonly:
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
doing so, verify that Axivox covers your area and the areas you wish to call.
Configuration
=============
Go to :menuselection:`Apps` and install the **VoIP Module**.
.. image:: axivox/voip-installation.png
:align: center
:alt: VoIP module installation on an Odoo database
Go to :menuselection:`Settings --> General Settings --> Integrations`, and fill out the **Asterisk
(VoIP)** field:
- **PBX Server IP**: set the domain created by Axivox for your account (e.g.,
*yourcompany.axivox.com*)
- **WebSocket**: type in ``wss://pabx.axivox.com:3443``
- **VoIP Environment**: set as *Production*
.. image:: axivox/voip-configuration.png
:align: center
:alt: Integration of Axivox as VoIP provider in an Odoo database
Configure the VOIP user in the Odoo's user
------------------------------------------
Go to :menuselection:`Settings --> Users & Companies --> Users`, then open the user's form you want
to configure. Under the **Preferences** tab, fill out the section **PBX Configuration**:
- **SIP Login / Browser's Extension**: the Axivox *username*
- **SIP Password**: the Axivox *SIP Password*
.. image:: axivox/odoo-user.png
:align: center
:alt: Integration of Axivox user in the Odoo user preference
.. note::
You can find all this information by logging in at https://manage.axivox.com/, selecting the user
you want to configure, and referring to the fields as pictured below.
.. image:: axivox/manager-sip.png
:align: center
:alt: SIP credentials in the Axivox manager
Phone Calls
===========
You can make phone calls by clicking on the phone icon in the navigation bar.
You can also receive phone calls. Odoo rings and displays a notification.
.. note::
Your number is the one provided by Axivox.
.. image:: axivox/incoming-call.png
:align: center
:alt: Incoming VoIP call in Odoo
.. tip::
If you see a *Missing Parameter* message in the **Odoo softphone**, refresh your Odoo window and
try again.
.. image:: axivox/missing-parameter.png
:align: center
:alt: "Missing Parameter" error message in the Odoo softphone
.. tip::
If you see an *Incorrect Number* message in the Odoo softphone, make sure to use the
international format, leading with the plus (+) sign followed by the international country code.
E.g., +16506913277 (where +1 is the international prefix for the United States).
.. image:: axivox/incorrect-number.png
:align: center
:alt: "Incorrect Number" error message in the Odoo softphone
axivox/axivox_config
axivox/manage_users
axivox/vm_audio_messages
axivox/dynamic_caller_id
axivox/conference_calls
axivox/dial_plan_basics
axivox/dial_plan_advanced
axivox/call_queues
@@ -0,0 +1,73 @@
=================================
VoIP services in Odoo with Axivox
=================================
Introduction
============
Odoo VoIP (Voice over Internet Protocol) can be set up to work together with `Axivox
<https://www.axivox.com/>`_. In that case, an Asterisk server is **not** necessary, as the
infrastructure is hosted and managed by Axivox.
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
doing so, verify that Axivox covers the company's area, along with the areas the company's users
wish to call.
Configuration
=============
To configure Axivox in Odoo, go to the :menuselection:`Apps` application, and search for `VoIP`.
Then, install the :guilabel:`VoIP` module.
Next, go to :menuselection:`Settings app --> General Settings --> Integrations section`, and fill
out the :guilabel:`Asterisk (VoIP)` field:
- :guilabel:`OnSIP Domain`: set the domain created by Axivox for the account (e.g.,
`yourcompany.axivox.com`)
- :guilabel:`WebSocket`: type in `wss://pabx.axivox.com:3443`
- :guilabel:`VoIP Environment`: set as :guilabel:`Production`
.. image:: axivox_config/voip-configuration.png
:align: center
:alt: Integration of Axivox as VoIP provider in an Odoo database.
.. tip::
Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/
<https://manage.axivox.com/>`_. After logging into the portal, go to :menuselection:`Users -->
Edit (next to any user) --> SIP Identifiers tab --> Domain`.
Configure VoIP user in Odoo
---------------------------
Next, the user is configured in Odoo, which **must** take place for every Axivox/Odoo user using
VoIP.
In Odoo, go to :menuselection:`Settings app --> Users & Companies --> Users`, then open the desired
user's form to configure :abbr:`VoIP (Voice over Internet Protocol)`. Under the
:guilabel:`Preferences` tab, fill out the :guilabel:`VOIP Configuration` section:
- :guilabel:`SIP Login` / :guilabel:`Browser's Extension`: (Axivox) :guilabel:`SIP username`
- :guilabel:`Handset Extension`: SIP external phone extension
- :guilabel:`SIP Password`: (Axivox) :guilabel:`SIP Password`
- :guilabel:`Mobile call`: method to make calls on a mobile device
- :guilabel:`OnSIP authorization User`: (Axivox) :guilabel:`SIP username`
- :guilabel:`Always Redirect to Handset`: option to always transfer phone calls to handset
- :guilabel:`Reject All Incoming Calls`: option to reject all incoming calls
.. image:: axivox_config/odoo-user.png
:align: center
:alt: Integration of Axivox user in the Odoo user preference.
.. tip::
Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/
<https://manage.axivox.com/>`_. After logging into the portal, go to :menuselection:`Users -->
Edit (next to the user) --> SIP Identifiers tab --> SIP username / SIP password`.
.. image:: axivox_config/manager-sip.png
:align: center
:alt: SIP credentials in the Axivox manager.
.. important::
When entering the :guilabel:`SIP Password` into the user's :guilabel:`Preferences` tab, this
value **must** be typed out manually and **not** pasted in. Pasting in causes a `401 server
rejection error`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

@@ -0,0 +1,245 @@
===========
Call queues
===========
A call queue is a system that organizes and routes incoming calls. When customers call a business,
and all of the agents are busy, the call queue lines up the callers in sequential order, based on
the time they called in.
The callers then wait on hold to be connected to the next available call center agent.
Implementing a call queue system reduces stress for employees, and helps build brand trust with
customers. Many companies use call queues to set expectations with customers, and to distribute the
workload equally amongst employees.
This document covers the process required to configure call queues (with advanced settings), as well
as how to log into a call queue from the Odoo database.
.. seealso::
:ref:`voip/axivox/music_on_hold`
Add a queue
===========
To add a call queue in Axivox, navigate to the `Axivox management console
<https://manage.axivox.com>`_. In the left menu, click :guilabel:`Queues`. Next, click
:guilabel:`Add a queue`. Doing so reveals a blank :guilabel:`New queue` form with various fields to
fill out.
Name
----
Once the :guilabel:`New queue` page appears, enter the :guilabel:`Name` of the queue.
Internal extension
------------------
Choose an :guilabel:`Internal extension` for the queue. This is a number to be dialed by users of
the database to reach the login prompt for the queue.
Strategy
--------
Next, is the :guilabel:`Strategy` field. This field determines the call routing of received calls
into this queue.
The following choices are available in the :guilabel:`Strategy` drop-down menu:
- :guilabel:`Call all available agents`
- :guilabel:`Calls the agent who has received the call for the longest time`
- :guilabel:`Calls the agent who has received the least call`
- :guilabel:`Call a random agent`
- :guilabel:`Call agents one after the other`
- :guilabel:`Call agents one after the other starting with the first in the list`
Choose a strategy that best meets the company's needs for customers in the queue.
Maximum waiting time in seconds
-------------------------------
In the :guilabel:`Maximum waiting time in seconds` field, determine the longest time a customer
waits in the queue before going to a voicemail, or wherever else they are directed to in a dial
plan. Enter a time in seconds.
Maximum duration of ringing at an agent
---------------------------------------
In the :guilabel:`Maximum duration of ringing at an agent` field, determine the longest time an
individual agent's line rings before moving on to another agent, or moving to the next step in the
dial plan. Enter a time in seconds.
.. seealso::
For more information on dial plans, visit:
- :doc:`dial_plan_basics`
- :doc:`dial_plan_advanced`
Adding agents
-------------
The final two fields on the :guilabel:`New queue` form revolve around adding agents. Adding
:guilabel:`Static agents` and :guilabel:`Dynamic agents` are two pre-configured methods for adding
agents onto the call queue during the configuration.
.. _voip/axivox/static-agents:
Static agents
~~~~~~~~~~~~~
When :guilabel:`Static agents` are added, these agents are automatically added to the queue without
the need to log in to receive calls.
.. _voip/axivox/dynamic-agents:
Dynamic agents
~~~~~~~~~~~~~~
When :guilabel:`Dynamic agents` are added, these agents have the ability to log into this queue.
They are **not** logged-in automatically, and **must** log in to receive calls.
Be sure to :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right
corner to implement the change in production.
Agent connection
================
There are three ways call agents can connect to an Axivox call queue:
#. Dynamic agents connect automatically.
#. Manager logs in specific agent(s), via the `Axivox management console
<https://manage.axivox.com>`_.
#. Agent connects to the queue in Odoo, via the *VoIP* widget.
.. seealso::
See the documentation on setting :ref:`voip/axivox/dynamic-agents` in the `Axivox management
console <https://manage.axivox.com>`_.
Connect via Axivox queue
------------------------
After the initial configuration of the call queue is completed, with the changes saved and
implemented, a manager can log into the `Axivox management console <https://manage.axivox.com>`_ and
connect dynamic agents to the queue manually.
To connect an agent, click :guilabel:`Queues`, located in the left-hand column. Doing so reveals the
:guilabel:`Queues` dashboard, with a few different columns listed:
- :guilabel:`Name`: name of the queue.
- :guilabel:`Extension`: number of the extension to be dialed to reach the queue.
- :guilabel:`Agent Connection`: number to dial to log into the queue.
- :guilabel:`Agent disconnection`: number to dial to log out of the queue.
- :guilabel:`Connected Agents`: name of agent connected to the queue.
The following buttons are also available on the :guilabel:`Queues` dashboard:
- :guilabel:`Connect an agent`: manually connect an agent to the queue.
- :guilabel:`Report`: run a report on the queue.
- :guilabel:`Delete`: delete the queue.
- :guilabel:`Edit`: make changes to the settings of the queue.
When agents are connected to the queue, or are live with a customer, they are displayed under the
:guilabel:`Connected Agents` column.
If they are static agents, they **always** show up as connected.
Connect an agent by clicking the orange button labeled, :guilabel:`Connect an agent`. Then, select
the desired agent's name from the drop-down menu, and click :guilabel:`Connect`.
.. image:: call_queues/call-queue.png
:align: center
:alt: Call queue with connected agents column highlighted and connect an agent and report buttons
highlighted.
.. seealso::
For more information on static and dynamic agents, see this documentation:
- :ref:`voip/axivox/static-agents`
- :ref:`voip/axivox/dynamic-agents`
Report
~~~~~~
Click :guilabel:`Report` to check on the reporting for a particular queue, in order to see who
connected when, and what phone calls came in and out of the queue. This information is showcased on
a separate :guilabel:`Queue report` page, when the green :guilabel:`Report` button is clicked.
Reports can be customized by date in the :guilabel:`Period` field, and specified in the
:guilabel:`From` and :guilabel:`to` fields. The information can be organized by :guilabel:`Event
type`, and :guilabel:`Call ID`.
When the custom configurations have been entered, click :guilabel:`Apply`.
Each report can be exported to a :abbr:`CSV (comma separated value)` file for further use and
analysis, via the :guilabel:`Export to CSV` button.
When the :guilabel:`Event type` field is clicked, a drop-down menu appears with the following
options:
- :guilabel:`The caller quit`
- :guilabel:`An agent is connecting`
- :guilabel:`An agent is disconnecting`
- :guilabel:`The call was terminated (agent hangs up)`
- :guilabel:`The call was terminated (caller hangs up)`
- :guilabel:`The caller is connected to an agent.`
- :guilabel:`Someone is entering the queue`
- :guilabel:`The caller exits the queue (no agent is connected)`
- :guilabel:`The caller exits the queue (timeout)`
- :guilabel:`No one is answering`
- :guilabel:`No one is answering, the caller hangs up`
- :guilabel:`Transfer`
- :guilabel:`Blind Transfer`
.. image:: call_queues/event-type.png
:align: center
:alt: Event types in the Axivox queue reporting feature.
There is no limit to how many options can be selected from the :guilabel:`Event type` drop-down
menu.
Clicking :guilabel:`Check all` selects all the available options from the drop-down menu, and
clicking :guilabel:`Uncheck all` removes all selections from the drop-down menu.
To select an individual :guilabel:`Event type`, click on the desired option in the drop-down menu.
.. image:: call_queues/report.png
:align: center
:alt: Axivox queue report with result, event type, and period highlighted.
Connect to queue on Odoo
------------------------
Dynamic agents can connect manually to the Axivox call queue from the Odoo *VoIP* widget, once the
*VoIP* app is configured for the individual user in Odoo.
.. seealso::
:doc:`axivox_config`
To access the Odoo *VoIP* widget, click the :guilabel:`📞 (phone)` icon in the upper-right corner of
the screen, from any window within Odoo.
.. seealso::
For more information on the Odoo *VoIP* widget, see this documentation: :doc:`../voip_widget`
For an agent to connect to the call queue, simply dial the :guilabel:`Agent connection` number, and
press the green call button :guilabel:`📞 (phone)` icon in the *VoIP* widget. Then, the agent hears
a short, two-second message indicating the agent is logged in. The call automatically ends
(disconnects).
To view the connected agents in a call queue, navigate to the `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Queues`, located in the left-hand column.
Then, click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents`
column. Any agent (static or dynamic) that is connected to the queue currently, appears in the
column next to the queue they are logged into.
To log out of the queue, open the Odoo *VoIP* widget, dial the :guilabel:`Agent disconnection`
number, and press the green call button :guilabel:`📞 (phone)` icon. The agent is disconnected from
the queue after a short, two-second message.
To manually log a dynamic agent out of a call queue, navigate to the `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Queues`, located in the left-hand column. Then,
click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents` column.
To disconnect an agent manually, click the red :guilabel:`Disconnect` button, and they are
immediately disconnected. This can be helpful in situations where agents forget to log out at the
end of the day.
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,98 @@
================
Conference calls
================
Conference calls help employees connect quickly and efficiently, so matters can be discussed in an
open forum of sorts. Attendees can be limited, via a sign-in code. That way, confidential matters
stay private.
This document covers the configuration of conference calls in Axivox for use in Odoo *VoIP*.
Add a virtual conference
========================
To add a virtual conference room, navigate to the `Axivox management console
<https://manage.axivox.com>`_. After logging in, click on :guilabel:`Conferences` in the menu on the
left.
Next, click the green button labeled, :guilabel:`Add a conference`, and a :guilabel:`New conference`
form appears.
.. image:: conference_calls/new-conference.png
:align: center
:alt: New conference form on Axivox.
From here, fill in the :guilabel:`Name` field, and set an :guilabel:`Internal extension`.
The internal extension is what everyone in the network uses to quickly dial into the conference
call, instead of typing in the whole phone number.
.. tip::
Pick a number between three and five digits long, making it easy to remember and dial.
Next, set the :guilabel:`Access code`, if the conference room requires security. This is a password
to get into the conference, once the extension for the conference is dialed. Immediately after
dialing the extension, a digital receptionist prompts for the :guilabel:`Access code`.
In the :guilabel:`Administrator extension` field, click the drop-down menu, and select the user's
extension that manages the call.
Finally, in the :guilabel:`Wait for the administrator to start the conference` field, click the
drop-down menu, and select :guilabel:`Yes` or :guilabel:`No`.
Should the selection be :guilabel:`Yes`, then nobody is allowed to utilize the virtual conference
room until the administrator is present, and logged into the conference call.
When all fields are filled in, be sure to :guilabel:`Save` the configuration. Then, click
:guilabel:`Apply changes` in the upper-right corner to implement the change in production.
Upon doing so, the conference is added, and the Axivox administrator has the option to
:guilabel:`Delete` or :guilabel:`Edit` the conference from the Axivox :guilabel:`Conference` main
dashboard.
To invite an Axivox user to a specific conference call, click :guilabel:`Invite` to the right of the
desired conference, and proceed to enter the extension or phone number of the invitee in the pop-up
window that appears.
Once the extension or number is added into the :guilabel:`Please enter the phone number of the
person you want to invite` field, click the green :guilabel:`Invite` button, and the recipient
immediately receives a phone call, automatically linking them to the conference.
.. image:: conference_calls/conference-invite.png
:align: center
:alt: New conference form on Axivox.
Incoming numbers
================
To open a conference to a wider audience, an Axivox conference can be linked to *Incoming numbers*.
To do that, log into the `Axivox management console <https://manage.axivox.com>`_, and click
:guilabel:`Incoming numbers` in the menu on the left.
On the :guilabel:`Incoming numbers` dashboard, click :guilabel:`Edit` to the far-right of the
:guilabel:`Number` to which the conference should be attached.
Then, under the first field, labeled, :guilabel:`Destination type for voice call`, click the
drop-down menu, and select :guilabel:`Conference`.
Next, in the :guilabel:`Conference` field, click the drop-down menu, and select the specific
conference that should be attached to this incoming number.
Now, whenever this incoming number is dialed, the caller is let into the conference, if there is not
an :guilabel:`Access code` required. If there *is* an :guilabel:`Access code` required, the caller
is then prompted to enter the :guilabel:`Access code` to enter the conference.
Start call in Odoo
==================
Anywhere in the Odoo database, open the *VoIP* widget, by clicking the :guilabel:`📞 (phone)` icon,
located in the upper-right corner. Then, dial the specific extension number for the conference, and
click the :guilabel:`📞 (phone)` icon.
.. image:: conference_calls/phone-widget.png
:align: center
:alt: Connecting to a conference extension using the Odoo VoIP widget.
Once the digital receptionist answers, enter the :guilabel:`Access code` (if needed), and press the
:guilabel:`# (pound)` icon/key.
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,411 @@
===================
Advanced dial plans
===================
Typically, companies have a lot of incoming calls every day, but many do not want their teams to
answer calls 24 hours a day, 7 days a week.
By using Axivox advanced dial plan features, the process can be automated, and routing can be set up
for all scenarios. This way, customers are never left waiting, or frustrated, because they cannot
get in touch with anyone.
By utilizing the advanced elements in dial plans, companies can automate call routing for certain
days or times, like company holidays. Companies can also allow callers to enter extensions
themselves, and get transferred automatically using a digital receptionist. This way, an
administrative team does **not** have to be available around the clock.
There is even the option to route callers, depending on where they are calling from in the world,
thus maximizing efficiency.
.. important::
For more information on basic dial plans, and how to add elements, visit :doc:`dial_plan_basics`.
.. warning::
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do
**not** use a translator with the Axivox management console.
Advanced elements
=================
In Axivox dial plans (as described in :doc:`dial_plan_basics`), there are two advanced elements that
can be used.
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
settings).
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_.
Next, click on the :guilabel:`Visual Editor` button to the right of the desired dial plan to edit
it. Finally, open the :guilabel:`New element` drop-down menu, select the element, and click
:guilabel:`Add`.
.. image:: dial_plan_advanced/visual-editor.png
:align: center
:alt: Visual editor for a dial plan in Axivox, with Add and the dispatcher element highlighted.
For more information, visit :ref:`voip/axivox/dial_plans`.
.. important::
The :guilabel:`Record` element records calls that are routed through this element, and requires
an additional plan change in Axivox.
To enable recording on Axivox, navigate to :guilabel:`Settings` in the `Axivox management console
<https://manage.axivox.com>`_. Then, go to the :guilabel:`Recording` drop-down menu, near the bottom
of the page. From there, select :guilabel:`Enabled` from the drop-down menu to enable recording
using the :guilabel:`Record` element in a dial plan.
.. tip::
If the :guilabel:`Recording` drop-down menu is unavailable and unable to change, then consult
Axivox to enable the feature.
The :guilabel:`Caller ID` element allows for the replacement of the caller ID downstream, after
routing.
Upon adding the :guilabel:`Caller ID` element to the dial plan, and double-clicking it to configure
it, two options appear.
The first is a :guilabel:`Free text` field, where any text can be input to replace the caller ID.
The second option is :guilabel:`Replace the caller ID by the called number`. This option replaces
the caller's ID with the :guilabel:`Incoming number`.
.. tip::
A company may want to use the :guilabel:`Caller ID` element to replace the :guilabel:`Incoming
number`, so employees, or outside transfers, cannot see the number, and information is kept
private.
Basic routing elements
======================
Basic routing elements in Axivox dial plans provide extension-based routing. This can be done by
adding either a *Menu* to numerically link the dial-by-numbers to an action, or by using a *Digital
Receptionist* to automatically route or listen for an extension, based on a key input from the
caller.
The main difference between the two elements is that the *Digital Receptionist* does **not** need to
be pre-configured numerically with actions. Instead, it acts as a virtual receptionist.
- :guilabel:`Menu`: add a dial-by-number directory and configured downstream actions (not
terminal). For example, a dial-by-numbers function could feature an element, wherein clicking '2'
takes the caller to the element linked to '2' on the Menu element in the dial plan.
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`.
For more information, visit :ref:`voip/axivox/dial_plans`.
Digital receptionist scenario
-----------------------------
The *Digital Receptionist* element is a listen-feature that accurately routes callers through a dial
plan, based on the extension they enter, via the key pad.
Set a *Digital Receptionist* to eliminate the need of a team, or live receptionist, to be on-call
all the time. With that element in place, calls now reach their destination, without a real person
interjecting.
After adding the :guilabel:`Digital Receptionist` element to a dial plan, connect the appropriate
endpoints, and double-click on the element to set the :guilabel:`Timeout` on the
:guilabel:`receptionist` pop-up window that appears.
The :guilabel:`Timeout` can be set in `5` second increments, from `5` seconds to `60` seconds.
.. important::
The :guilabel:`Digital Receptionist` element **requires** a :guilabel:`Play a file` element on
either side of it, to explain what action to take, and when a wrong extension is entered.
.. example::
While customizing a dial plan in a :guilabel:`Dialplan Editor` pop-up window, add a
:guilabel:`Menu` element, with a :guilabel:`Greeting message` that might read, `Press star to
dial an extension`.
Then, on the :guilabel:`Menu` element, for the :guilabel:`* (star)` option, link a
:guilabel:`Play a file` element, that plays an :guilabel:`Audio message` saying, 'Enter the
extension of the person you are trying to reach'.
Following the first :guilabel:`Play a file` element, add the :guilabel:`Digital Receptionist`
element, followed by another :guilabel:`Play a file` element, which states, 'That is not a valid
extension'.
This last element is in place to close the loop, should the caller not enter a correct extension.
Finally, this last :guilabel:`Play a file` element is looped back into the :guilabel:`Menu`
element.
.. image:: dial_plan_advanced/receptionist.png
:align: center
:alt: A digital receptionist element highlighted in an example dial plan.
.. important::
Dial plan elements can be configured by double-clicking them, and selecting different features
of the Axivox console to them.
For example, an :guilabel:`Audio message` needs to be made, and then selected in a
:guilabel:`Play a file` or :guilabel:`Menu` element.
For more information, see this documentation :ref:`voip/axivox/audio_messages`.
Advanced routing elements
=========================
Advanced routing elements route calls automatically as they are received into the incoming
number(s). This can be configured using geo-location, whitelisting, or time-based variables. Calls
pass through a filter prior to their final destination, and are routed, based on the set
variable(s).
The following are advanced routing elements:
- :guilabel:`Dispatcher`: create a call filter to route traffic, based on the geo-location of the
caller ID.
- :guilabel:`Access List`: create a tailored access list, with VIP customer preference.
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
other sensitive time-frames.
.. tip::
Whitelisting is a technical term used to create a list of allowed numbers. Conversely,
blacklisting is used to create a list of denied numbers.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`. For more
information, visit :ref:`voip/axivox/dial_plans`.
Dispatcher scenario
-------------------
A *Dispatcher* element is a dial plan feature that directs calls, based on region or geo-location.
In most cases, the :guilabel:`Dispatcher` element in a dial plan is linked to the :guilabel:`Start`
element, in order to filter or screen calls as they come into an incoming number.
Double-click the :guilabel:`Dispatcher` element in the :guilabel:`Dialplan Editor` pop-up window to
configure it.
This element checks numbers (routed through this element), according to regular expressions. To add
a regular expression, click :guilabel:`Add a line` on the bottom of the :guilabel:`Dispatcher`
pop-up window.
Then, under :guilabel:`Name`, enter a recognizable name to identify this expression. This is the
name that appears in the :guilabel:`Dispatcher` element on the dial plan showcased in the
:guilabel:`Dialplan Editor` pop-up window.
In the :guilabel:`Regular expression` field, enter the country code, or area code, which Axivox
should route for incoming calls. This is especially helpful when a company would like to filter
their customers to certain queues, or users based on the customer's geo-location.
To specify all numbers behind a certain country code, or area code, include `\d+` after the country
code, or country code + area code.
.. image:: dial_plan_advanced/dispatcher.png
:align: center
:alt: Dispatcher configuration panel, with name, regular expression and add a line highlighted.
.. example::
- `02\\d+`: validates the numbers starting with `02`
- `00\\d+`: validates all numbers beginning with `00`
- `0052\\d+` validates all numbers beginning with `0052` (Mexico country code)
- `001716\\d+`: validates all numbers beginning with `001716` (USA country code + Western New York
area code)
.. tip::
A regular expression (shortened to "regex" or "regexp"), sometimes referred to as a "rational
expression," is a sequence of characters that specifies a match pattern in text. In other words,
a match is made within the given range of numbers.
When the desired configurations are complete on the :guilabel:`Dispatcher` pop-up window, be sure to
click :guilabel:`Save`.
Upon doing so, the :guilabel:`Dispatcher` element appears with different routes available to
configure, based on the :guilabel:`Regular Expressions` that were set.
Attach these routes to any :guilabel:`New element` in the :guilabel:`Dialplan Editor` pop-up window.
By default, there is an :guilabel:`Unknown` path that appears on the :guilabel:`Dispatcher` element
after setting at least one :guilabel:`Regular Expression`.
Calls follow this route/path when their number does not match any :guilabel:`Regular Expression` set
on the :guilabel:`Dispatcher` element.
.. image:: dial_plan_advanced/dispatcher-element.png
:align: center
:alt: Dial plan with dispatcher element highlighted.
Time condition scenario
-----------------------
When a :guilabel:`Time Condition` element is added to a dial plan, it has a simple :guilabel:`True`
and :guilabel:`False` routing.
After adding the :guilabel:`Time Condition` element to a dial plan, double-click it to configure the
variables. :guilabel:`Hour/Minute`, :guilabel:`Days of the week`, :guilabel:`Day of the month`, and
:guilabel:`Month` can all be configured.
If the time which the caller contacts the incoming number matches the set time conditions, then the
:guilabel:`True` path is followed, otherwise the :guilabel:`False` path is followed.
.. example::
For a company that is closed yearly for the American Independence Day holiday (July 4th) the
following time conditions should be set:
- :guilabel:`Hour/Minute` - `0:0 to 23:59`
- :guilabel:`Day of the week` - `All to All`
- :guilabel:`Day of the month` - `From 4 to 4`
- :guilabel:`Month` - `July`
The :guilabel:`Time Condition` element is especially useful for holidays, weekends, and to set
working hours. When a caller reaches a destination where they can be helped, either with a real
person or voicemail, this reduces wasted time and hangups.
.. image:: dial_plan_advanced/time-condition.png
:align: center
:alt: Time condition element set in a dial plan on Axivox. Time condition is highlighted.
.. important::
To set the :guilabel:`Timezone` that the :guilabel:`Time Condition` operates under, navigate to
`Axivox management console <https://manage.axivox.com>`_, and click :guilabel:`Settings` in the
menu on the left. Then, set the :guilabel:`Timezone` using the second field from the bottom, by
clicking the drop-down menu.
Access list scenario
--------------------
An *Access List* element in a dial plan allows for the routing of certain numbers, and disallows
(denies) other numbers.
After adding an :guilabel:`Access List` element to a dial plan, it can be configured by
double-clicking on the element directly in the :guilabel:`Dialplan Editor` pop-up window.
Two fields appear where regular expressions can based in the :guilabel:`Allow` and :guilabel:`Deny`
fields of the :guilabel:`Access List` pop-up window.
.. example::
For a very important customer, their number can be set in the :guilabel:`Allow` field, and these
callers can be sent directly to management.
.. tip::
A regular expression (shortened to "regex" or "regexp"), sometimes also referred to as a
"rational expression," is a sequence of characters that specifies a match pattern in text.
.. image:: dial_plan_advanced/access-config.png
:align: center
:alt: Access list element configuration with the allow/deny fields highlighted.
.. example::
- `2\\d\\d`: validates numbers from `200 to 299`
- `02\\d*`: validates all numbers beginning with `02`
- `0017165551212`: validates the number (`0017165551212`)
After setting the :guilabel:`Allow` and :guilabel:`Deny` fields with regular expressions or numbers,
click :guilabel:`Save` on the :guilabel:`Access List` pop-up window.
Then, on the :guilabel:`Access list` element in the dial plan, three paths (or routes) are available
to link to further actions.
Unknown calls can be routed through the regular menu flow by adding a :guilabel:`Menu` element, and
connecting it to the :guilabel:`Unknown` path. :guilabel:`Refused` calls can be routed to the
:guilabel:`Hang up` element. Lastly, :guilabel:`Authorized` callers can be sent to a specific
extension or queue.
.. image:: dial_plan_advanced/access-list.png
:align: center
:alt: Access list element highlighted in an example dial plan.
Switches
========
A *Switch* element in Axivox is a simple activated/deactivated route action.
These can be activated or chosen quickly, allowing for quick routing changes, without altering the
dial plan.
Alternate routes can be configured, so that in a moments notice, they can be switched to. This could
be for new availability, or to adjust traffic flow for any number of reasons.
Axivox allows for a simple on/off switch, and a multi-switch, which can have several paths to choose
from.
- :guilabel:`Switch`: a manual on/off control that can divert traffic, based on whether it is opened
(on) or closed (off).
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
incoming calls.
Basic switch
------------
A :guilabel:`Switch` can be set in the `Axivox management console <https://manage.axivox.com>`_ by
navigating to :guilabel:`Switches` in the left menu. To create a new switch click :guilabel:`Add a
switch` from the :guilabel:`Switches` dashboard, configure a :guilabel:`Name` for it, and click
:guilabel:`Save`.
Then, toggle the desired switch to either :guilabel:`On` or :guilabel:`Off`, from the
:guilabel:`State` column on the :guilabel:`Switches` dashboard.
This :guilabel:`On` / :guilabel:`Off` state automatically routes traffic in a dial plan, in which
this switch is set.
The traffic travels to the :guilabel:`Active` route when :guilabel:`On` is toggled in the switch.
The call traffic travels to the :guilabel:`Inactive` route when :guilabel:`Off` is toggled in the
switch.
Changes can be made on the fly, just be sure to click :guilabel:`Apply changes` to implement the
them.
Add a switch to dial plan
~~~~~~~~~~~~~~~~~~~~~~~~~
To add a :guilabel:`Switch` to a dial plan, navigate to `Axivox management console
<https://manage.axivox.com>`_, and click on :guilabel:`Dial plans` in the left menu. Then, click
:guilabel:`Visual Editor` next to the desired dial plan to open the :guilabel:`Dialplan Editor`
pop-up window.
Then, from the :guilabel:`New element` drop-down menu, select :guilabel:`Switch`, and then click
:guilabel:`Add`. Double-click on the element to further configure the :guilabel:`Switch` element.
.. image:: dial_plan_advanced/switch.png
:align: center
:alt: Switch configuration in a dial plan, with inactive and active routes highlighted.
Multi-switch
------------
A *Multi-Switch* element in Axivox is a switch where multiple paths can be configured, and switched
between.
To configure and set a :guilabel:`Multi-Switch` element, navigate to `Axivox management console
<https://manage.axivox.com>`_. Then, click on the :guilabel:`Switches` menu item in the left menu.
Toggle to the :guilabel:`Multi-switch` tab to create, or set, a pre-configured
:guilabel:`Multi-Switch` element.
To create a new :guilabel:`Multi-Switch`, click :guilabel:`Create new`. Then, enter a
:guilabel:`Name` for the element, and then enter the :guilabel:`Available choice`. Enter one
:guilabel:`Available choice` per line. Do **not** duplicate any entries.
Remember to click :guilabel:`Save` when done.
To select the :guilabel:`State` of the :guilabel:`Multi-Switch`, click the drop-down menu next to
the :guilabel:`Multi-Switch` name, under the :guilabel:`Multi-switch` tab on the
:guilabel:`Switches` dashboard.
The :guilabel:`State` chosen is the route that is followed in the dial plan. The :guilabel:`State`
can be edited on the fly, just be sure to click :guilabel:`Apply changes`.
Add a multi-switch to dial plan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To add a :guilabel:`Multi-Switch` element to a dial plan, navigate to `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Dial plans` in the left menu.
Then, select or create a dial plan. Next, click :guilabel:`Visual Editor` on the desired dial plan.
On the :guilabel:`Dialplan Editor` pop-up window that appears, click on the :guilabel:`New element`
drop-down menu, and select :guilabel:`Multi-Switch`. Then, click :guilabel:`Add`. Double-click on
the element to further configure the :guilabel:`Switch` element.
.. image:: dial_plan_advanced/multi-switch.png
:align: center
:alt: Multi-switch configuration in a dial plan, with chosen route highlighted.
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,204 @@
================
Dial plan basics
================
When someone calls a business, they might need to get in contact with customer support, a sales
team, or even a person's direct line. The caller might also be in search of some information about
the business, such as store hours. Or, they might want to leave a voicemail, so someone from the
company can call them back. With dial plans in Axivox, a company can manage how incoming calls like
this are handled.
Using proper call architecture through a dial plan, callers get directed to the right people, or to
the right information, in a quick, efficient manner.
This document covers the basic configuration of dial plans in Axivox.
.. seealso::
For more information on advanced dial plans, visit :doc:`dial_plan_advanced`.
.. important::
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do not
use a translator with the Axivox management console.
.. _voip/axivox/dial_plans:
Dial plans
==========
Access dial plans by navigating to `Axivox management console <https://manage.axivox.com>`_, and
clicking on :guilabel:`Dial plans` from the menu on the left.
To add a new dial plan from the :guilabel:`Dial plan` page, click the green button labeled,
:guilabel:`Add a new dial plan`.
.. note::
Axivox has no limit to the number of dial plans that can be created. These can be added, and
improved upon, at any time. This allows for sandboxes to be created with many different
configurations.
.. image:: dial_plan_basics/dial-plan-edits.png
:align: center
:alt: Dial plan dashboard with the edit features and Add a dial plan button highlighted.
To edit an existing dial plan, choose one of the following options to the right of the saved dial
plan:
#. :guilabel:`Delete`: this action deletes the attached dial plan.
#. :guilabel:`Edit`: this action allows the user to edit the dial plan.
#. :guilabel:`Visual Editor`: this action opens a visual editor window, where the dial plan
architecture can be viewed and edited.
#. :guilabel:`Duplicate`: this action duplicates the dial plan, and puts it at the bottom of the
list, with an extension of one number (+1) larger than the original extension.
Dialplan editor (visual editor)
-------------------------------
When the :guilabel:`Visual Editor` button is clicked for a dial plan on the :guilabel:`Dial plan`
page, a pop-up :guilabel:`Dialplan Editor` window appears.
This pop-up window is the primary place where the architecture, or structure, of the dial plan is
configured. In this window, a :abbr:`GUI (graphical user interface)` appears, where various dial
plan elements can be configured and linked together.
.. image:: dial_plan_basics/dial-plan-visual.png
:align: center
:alt: Visual editor for an example dial plan, with the new element, Add, and Save buttons
highlighted.
.. important::
New dial plans come blank with :guilabel:`New element` options for the user to :guilabel:`Add`
and :guilabel:`Save`.
The method for saving in the :guilabel:`Dialplan Editor` is different from saving any other edits
in the Axivox management console because the :guilabel:`Save` button **must** be pressed before
closing the :menuselection:`Visual editor`.
Then, before these changes can take place on the Axivox platform, the user **must** click
:guilabel:`Apply changes` in the upper-right corner of the :guilabel:`Dial plan` page.
From the :guilabel:`Dialplan Editor` pop-up window, users can add a new element to the dial plan. To
do that, open the :guilabel:`New element` drop-down menu, and select the desired element. Then,
click :guilabel:`Add`.
Doing so adds that element to the visual editor display of the dial plan being modified. This
element can be moved where desired amongst the other elements present in the dial plan.
Connect elements in the dial plan by clicking and dragging outward from the :guilabel:`(open
circle)` icon on the right side of the element. Doing so reveals an :guilabel:`(arrow)` icon.
Proceed to drag this :guilabel:`(arrow)` icon to the desired element in the dial plan that it is
meant to connect with.
Connect the :guilabel:`(arrow)` icon to the circle on the left side of the desired element.
Calls displayed in the dial plan flow from left-to-right in the element.
In order to further configure a :guilabel:`New element`, double-click on the element inside the dial
plan, to reveal a subsequent pop-up window, wherein additional customizations can be entered.
Each element has a different configuration pop-up window that appears when double-clicked.
.. important::
All elements **must** have a final destination in the dial plan in order to close a loop. This
can be accomplished by implementing the :guilabel:`Hang up` element, or looping the element back
to a :guilabel:`Menu` element or :guilabel:`Digital Receptionist` element elsewhere in the dial
plan.
.. image:: dial_plan_basics/loop-back.png
:align: center
:alt: Dial plan, shown with highlight looping open end back to the beginning of the menu
element.
Once all desired dial plan elements and configurations are complete, remember to click
:guilabel:`Save` before exiting the :guilabel:`Dialplan Editor` pop-up window. Then, click
:guilabel:`Apply changes` on the :guilabel:`Dial plans` page to ensure they are implemented into
Axivox production.
Dial plan elements
------------------
The following elements are available in the :guilabel:`New element` drop-down menu, while designing
a dial plan in the :guilabel:`Dialplan Editor` pop-up window.
Basic elements
~~~~~~~~~~~~~~
These are the basic elements that are used in simple dial plans in Axivox:
- :guilabel:`Call`: call an extension or queue.
- :guilabel:`Play a file`: play an audio file or voice greeting.
- :guilabel:`Voicemail`: forward to a voicemail (terminal).
- :guilabel:`Hang up`: hang up the call (terminal).
- :guilabel:`Queue`: attach a call queue with a group of users to answer a call.
- :guilabel:`Conference`: add a conference room for a caller to connect to.
Basic routing elements
~~~~~~~~~~~~~~~~~~~~~~
Routing elements change or route the path of a caller, these are some basic routing elements used in
Axivox:
- :guilabel:`Menu`: add a dial-by-number directory and configure downstream actions (not terminal).
- :guilabel:`Switch`: attach a manual on/off control that can divert traffic based on whether it is
opened (On) or closed (Off).
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions to connect
to.
Advanced routing elements
~~~~~~~~~~~~~~~~~~~~~~~~~
These are the more advanced elements that route calls in Axivox:
- :guilabel:`Dispatcher`: create a call filter to route traffic based on the geo-location of the
caller ID.
- :guilabel:`Access List`: create a tailored access list with VIP customer preference.
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
other sensitive time-frames.
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
incoming calls.
Advanced elements
~~~~~~~~~~~~~~~~~
The following are more advanced elements (not routing) in Axivox:
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
settings).
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
.. important::
Dial plan elements can be configured by double-clicking them, and linking different aspects of
the Axivox console to them.
Attach to incoming number
=========================
To attach an existing dial plan to an incoming number, go to `Axivox management console
<https://manage.axivox.com>`_ , and click on :guilabel:`Incoming numbers`.
Next, click :guilabel:`Edit` next to the number to which the dial plan should be attached.
Doing so reveals a separate page wherein that number's dial plan can be modified. To do that, select
:guilabel:`Dial plan` from the :guilabel:`Destination type for voice call` field drop-down menu.
Then, choose the desired dial plan from the :guilabel:`Dial plan` field that appears.
With that in place, that means when that specific number calls in, the configured dial plan is
activated, and runs through the prompts to properly route the caller.
Finally, :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right
corner.
Basic dial plan scenario
------------------------
The following showcases a basic dial plan scenario for call routing, where additional elements can
be added to expand the setup. This basic dial plan scenario includes the following linked elements
:menuselection:`Start --> Play a file --> Menu --> (Hang-up, Calls, Queues, Conferences) -->
(Voicemail, Hang-up)`.
.. image:: dial_plan_basics/basic-scenario.png
:align: center
:alt: Basic dial plan configuration.
.. seealso::
This setup does **not** include any basic or advanced call routing. For more information on call
routing, reference this documentation: :doc:`dial_plan_advanced`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

@@ -0,0 +1,113 @@
=================
Dynamic caller ID
=================
*Caller ID* identifies the caller when they make a phone call. It allows the recipient of the call
to see what number the caller is calling from. Caller ID shows users and clients who is calling, so
they can choose to pick up or decline the call.
Axivox offers a dynamic caller ID option to choose which number is displayed on outgoing calls.
International numbers can be purchased to do business transactions internationally, via a phone
call, from a number that has an area code or country code of the destination being called. By
displaying a local number, this can increase customer engagement.
Some companies have many employees making calls from a call center. These employees are not always
available to receive a return phone call from a prospective customer. In this case, :abbr:`VoIP
(Voice over Internet Protocol)` can be configured in such a way that dynamic caller ID shows the
main company phone number, so any number of employees in the group can answer the call. This way, a
call is never missed.
.. _voip/axivox/dynamic-caller-id-default:
Default outgoing number
=======================
In Axivox a *default number* can be set. This is a company's main number. This means, when anyone
from the company (user/employee) calls a number outside the company, the default outgoing number
shows up automatically on the caller ID.
If someone from outside the company tries to call back a user/employee, they are then funneled back
through the main line (default number). If there is a dial plan set up, they are prompted to make
selections. This is especially helpful in cases where employees change positions frequently, or if
they leave the company.
.. seealso::
- :doc:`dial_plan_basics`
- :doc:`dial_plan_advanced`
To access the default number, go to the `Axivox management console <https://manage.axivox.com>`_,
and log in. Then, click into :guilabel:`Settings` in the left menu, and navigate to
:guilabel:`Default outgoing number`.
From here, change the :guilabel:`Default outgoing number` by clicking the drop-down menu, and making
a selection from the incoming phone numbers available on Axivox.
Be sure to :guilabel:`Save` the changes, then click :guilabel:`Apply changes` in the upper-right
corner of the :guilabel:`General Settings` page to implement the change.
The :guilabel:`Default outgoing number` is what shows up by default in the Axivox management portal.
However, the outgoing number can also be configured differently at the user level.
Users
-----
To configure the outgoing number at the user level, log in to the `Axivox management console
<https://manage.axivox.com>`_. Next, click :guilabel:`Users` from the menu on the left, and then
click :guilabel:`Edit` to the right of the user that is to be configured.
Under :guilabel:`Outgoing number`, click the drop-down menu to select either the :guilabel:`Default
outgoing number` (as specified here: :ref:`voip/axivox/dynamic-caller-id-default`), or any of the
incoming numbers on the Axivox account.
Choosing the :guilabel:`Default` selection in the :guilabel:`Outgoing number` drop-down menu ensures
this user has the :guilabel:`Default outgoing number` shown on their caller ID when making calls.
If a specific number is chosen, and that number is assigned to this user under :guilabel:`Incoming
numbers` (in the Axivox console's menu on the left), that means this user has a direct line for
customers to reach them.
Once the desired changes are complete, be sure to click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner to implement the change.
.. tip::
By default, when creating a new user in Axivox, the :guilabel:`Outgoing number` is automatically
set to :guilabel:`Default`.
Advanced options
----------------
To access the :guilabel:`Advanced options`, navigate to the :guilabel:`Settings` option in the menu
on the left of the `Axivox management console <https://manage.axivox.com>`_. Then, click
:guilabel:`Advanced options` to the right of :guilabel:`Default outgoing number`.
By default, there are not any advanced rules set. To create one, click the green :guilabel:`+
(plus)` icon. Doing so reveals a line with two blank fields. From here, different caller IDs can be
set up, depending on what location the user/employee is calling from.
To create a rule, first set the :guilabel:`Destination prefix` in the first empty field. This is the
country code, complete with zero(s) in front of it. Then, in the second empty field, select the
phone number that should be used for calling out from that country code.
.. important::
Check the box for :guilabel:`Apply advanced rules even for users with a default outgoing number
configured` to allow these rules to take precedent over all other outgoing configurations.
.. tip::
The order of the rules can be modified by dragging-and-dropping them into another order. The
first matching rule is applied.
.. example::
For example, a company wants all users/employees to utilize the configured number for Great
Britain when calling from the `0044` country code (Great Britain).
To accomplish that, simply type in `0044` into the :guilabel:`Destination prefix` field, and
select the number starting with the `+44` country code. Order the rules as necessary, and select
the checkbox to supersede all other rules, if needed.
.. image:: dynamic_caller_id/advanced-callerid.png
:align: center
:alt: Advanced options for the default outgoing number.
Once the desired configurations are complete, be sure to click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner to implement the change.
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

@@ -0,0 +1,346 @@
======================
Manage users in Axivox
======================
Managing Axivox :abbr:`VoIP (Voice over Internet Protocol)` users is an important part of setting up
:abbr:`VoIP (Voice over Internet Protocol)` in an Odoo database. Each Axivox user has a unique name,
phone number and/or extension, and a voicemail. This way, they can be reached in a variety of
convenient ways.
Axivox users are organized in a simple, straightforward way in the Axivox console, so an
administrator can manage users quickly and easily.
.. note::
This documentation covers how to configure everything through a provider called, Axivox.
Depending on the chosen VoIP provider, the processes to manage users may be different.
Overview
========
Begin at the Axivox management console by navigating to `https://manage.axivox.com
<https://manage.axivox.com>`_. Log in with the appropriate administrator credentials.
.. note::
Actions in the Axivox management console **must** be double-saved, in order for the changes to
take effect. To save any changes, click :guilabel:`Save` in the individualized changes screen.
Then, to implement those changes, click the :guilabel:`Apply Changes` button in the upper-right
corner of the console.
.. _voip/axivox/incoming_number:
Incoming numbers
----------------
Incoming numbers are all the numbers a company is paying to use to receive calls.
Click on :menuselection:`Incoming numbers` from the menu on the left of the Axivox management
console. Doing so reveals the :guilabel:`Incoming numbers` page, where all the incoming numbers are
listed, along with their :guilabel:`Destination` and SMS information.
The :guilabel:`Destination` determines the action that is taken, or the path the caller follows when
dialing said numbers.
To edit the :guilabel:`Destination`, click the :guilabel:`Edit` button to the far-right of the
incoming number line to be modified. Then, on the :guilabel:`Edit number` page that appears, the
:guilabel:`Destination type for voice call` can be changed.
The options available in the :guilabel:`Destination type for voice call` drop-down menu are as
follows:
- :guilabel:`Not configured`
- :guilabel:`Extension`
- :guilabel:`Dial plan`
- :guilabel:`Voicemail`
- :guilabel:`Hang up`
- :guilabel:`Conference`
Depending on the selection made in the :guilabel:`Destination type for voice call` drop-down menu, a
second, selection-specific drop-down menu is populated with further configuration options.
Additionally, more fields are revealed, based on the selection made in the :guilabel:`Destination
type for voice call` drop-down menu.
Once the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner to implement them.
New users
=========
Every employee using :abbr:`VoIP (Voice over Internet Protocol)` at the company needs an Axivox user
account associated with them.
To view existing users in the Axivox management console, click :guilabel:`Users` from the menu on
the left of the console. Every user has a :guilabel:`Number`, :guilabel:`Name`, option for a
:guilabel:`Voicemail`, and an :guilabel:`Outgoing number` specified.
To create a new user in the Axivox console, click :guilabel:`Add a user` to reveal a :guilabel:`New
user` form. The following tabs are available for configuring the new user:
- :guilabel:`General`: basic information, including the extension of the user, can be set.
- :guilabel:`Forwardings`: internal forwards on 'no answer' or busy signals.
- :guilabel:`Follow Me`: external forward configuration.
- :guilabel:`Keys`: set hot-keys within the :abbr:`VoIP (Voice over Internet Protocol)` system.
- :guilabel:`SIP Identifiers`: :abbr:`SIP (Session Initiation Protocol)` username and password for
external configuration.
- :guilabel:`Permissions`: set access rights for users in the Axivox management console.
General tab
-----------
Under the :guilabel:`General` tab of the :guilabel:`New user` form, in the :guilabel:`Extension`
field, input an extension that is unique to the user. This is the number internal users dial to
reach a specific employee.
In the :guilabel:`Name` field, input the employee name.
Next, fill out the :guilabel:`Email address of the user` field. A valid email address for the
employee should be added here, where the user receives business emails.
In the :guilabel:`GSM number` field, enter an alternative number at which the user can be reached.
Be sure to include the country code.
.. note::
A country code is a locator code that allows access to the desired country's phone system. The
country code is dialed first, prior to the target number. Each country in the world has its own
specific country code.
For a list of comprehensive country codes, visit: `https://countrycode.org
<https://countrycode.org>`_.
.. image:: manage_users/general-tab.png
:align: center
:alt: General tab layout in the Axivox management console.
In the :guilabel:`Voicemail` field, select either :guilabel:`Yes` or :guilabel:`No` from the
drop-down menu.
In the :guilabel:`Directory` field, the administrator has the option to leave it blank, by making no
changes, or selecting :guilabel:`Default` from the drop-down menu. The :guilabel:`Directory` is used
in the *Digital Receptionist* feature element of a dial-plan.
At the bottom of the :guilabel:`General` tab, there are two separate options with selection boxes.
The first option is :guilabel:`This user can receive multiple calls at the same time`. By selecting
this option, users are able to receive calls when on another call.
The second option, :guilabel:`This user must log-in to call`, provides the option to make it
mandatory for the user to log in.
.. note::
If a company uses physical VoIP phones on desks, and wants their employees to be able to log in
from *any* phone or desk in the office, they would make the selection for :guilabel:`This user
must log-in to call`.
Once the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
.. _voip/axivox/forwardings_tab:
Forwardings tab
---------------
Under the :guilabel:`Forwardings` tab of the :guilabel:`New user` form, a company can decide what
happens if someone calls a user, and the call is not answered.
.. important::
Forwardings are disabled when the :guilabel:`Follow Me` option is enabled.
For example, under the :guilabel:`Forwarding on no answer` field, when the button for :guilabel:`Add
a destination` is selected, the option to add a specific user or phone number is revealed. After
entering the :guilabel:`Destination`, a specific time frame can be selected by sliding the
:guilabel:`seconds bar` to the desired ring time.
Additional :guilabel:`Destinations` can be added on with different ring times.
.. note::
Ring times can be staggered, so the call is forwarded to another user after the first user does
not pick up the call. The option to :guilabel:`Send to voicemail as a last resort` is available
to the administrator, should the :guilabel:`Destinations` not pick up.
Under the :guilabel:`Forwarding on busy` field, an administrator can :guilabel:`Add a destination`.
When clicked, they can then set the :guilabel:`Destination` (user) and time frame. Should the
original user's :abbr:`VoIP (Voice over Internet Protocol)` extension, or incoming number, be busy,
the call is forwarded to the destination(s).
.. image:: manage_users/forwardings-tab.png
:align: center
:alt: Manage forwarding calls to different users or phone numbers in the Forwardings tab.
When the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner of the page.
Follow Me tab
-------------
When the :guilabel:`Follow Me` option is selected, under the :guilabel:`Follow Me` tab of the
:guilabel:`New user` form, no :menuselection:`Forwardings` can be made.
Also, when the :guilabel:`Follow Me` option is selected, the :guilabel:`Add a destination` button
can be selected to add users, or a destination phone number, to the original user's account. That
way, these added numbers ring when a call is received.
After entering the :guilabel:`Destination`, a specific time frame can be made by sliding the
:guilabel:`seconds bar` to the desired ring time. Additional :guilabel:`Destinations` can be added
with different ring times.
.. note::
The original user's :abbr:`VoIP (Voice over Internet Protocol)` number does **not** ring with
this option selected. Ring times can also be staggered, so the call is forwarded to another user
after the first user does not pick up the call.
.. image:: manage_users/follow-me-tab.png
:align: center
:alt: Ring destinations like different users or phone numbers from the Follow Me tab.
.. important::
The Odoo mobile app, or another :abbr:`SIP (Session Initiation Protocol)` mobile client, allows
for simultaneous ringing of the user's extension or incoming number. For more information, visit
the :doc:`VoIP Mobile Integrations <../devices_integrations>` documentation.
Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
Keys tab
--------
Under the :guilabel:`Keys` tab of the :guilabel:`New user` form, speed dial actions for the user can
be configured. Some more advanced options are available, as well.
The following options are available to set to numerical values `1-20`.
These actions can be set on each number:
- :guilabel:`Not configured`: the default action, which is nothing.
- :guilabel:`BLF (Busy lamp fields)`: this action shows the status of other users' phones connected
to the Axivox phone system. This is primarily used on a desk-phone.
- :guilabel:`Quick Call`: this action allows for a speed-dial of an external number.
- :guilabel:`Line`: this action allows the user to call another user.
- :guilabel:`Switch`: this action allows the user to switch between calls from a desk-phone.
- :guilabel:`Pickup`: this action allows the user to pick up an incoming call from a desk-phone.
.. image:: manage_users/user-keys.png
:align: center
:alt: Manage user page with Keys tab highlighted and number 2 key drop-down menu selected (with
highlight)
Once all the desired configurations are complete, click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner.
.. important::
Many of the preceding options have secondary options available, as well, that can be used to link
a user, or external phone number. These **must** be filled out in conjunction with the initial
action.
.. note::
The :guilabel:`Number of keys` field can be changed by entering in the desired numerical value in
the :guilabel:`Number of keys` field, located at the top of the :guilabel:`Keys` tab of the
:guilabel:`New user` form.
SIP Identifiers tab
-------------------
*SIP*, which stands for Session Initiation Protocol telephony, allows one to make and receive calls
through an internet connection. The :guilabel:`SIP Identifiers` tab on the :guilabel:`New user`
form, contains credentials needed to configure Axivox users in Odoo and/or a different :abbr:`SIP
(Session Initiation Protocol)` mobile client.
.. seealso::
See the documentation on configuring Axivox, using the SIP identifiers:
- :doc:`Use VoIP services in Odoo with Axivox <axivox_config>`
- :doc:`Axivox Mobile Integrations <../devices_integrations>`
Under the :guilabel:`SIP Identifiers` tab, the :guilabel:`SIP username` field represents the user's
information that was entered in the :guilabel:`Extension` field, under the :guilabel:`General` tab.
The :guilabel:`Domain` field is assigned to the company by the Axivox representative.
The value in the :guilabel:`SIP Password` field is unique for every Axivox user. This value is used
to sign into Axivox on Odoo, and for any mobile :abbr:`SIP (Session Initiation Protocol)` clients.
.. image:: manage_users/sip-identifiers-tab.png
:align: center
:alt: Important credentials used for external configurations of Axivox VoIP.
The value listed in the :guilabel:`Address of the proxy server` field is typically:
`pabx.axivox.com`, but is subject to change by Axivox, so be sure to check the :guilabel:`SIP
Identifiers` tab for the most accurate value.
Once all desired configurations have been made, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
Permissions tab
---------------
Under the :guilabel:`Permissions` tab of a :guilabel:`New user` form, a :guilabel:`Username` and
:guilabel:`Password` can be entered for the user.
Beneath those fields, the following permissions can be granted to Axivox users for portal access:
- :guilabel:`User portal access`
- :guilabel:`User management`
- :guilabel:`Administrator access`
- :guilabel:`Phone management`
- :guilabel:`User group management`
- :guilabel:`Phone number management`
- :guilabel:`Dial plan management`
- :guilabel:`Pickup group management`
- :guilabel:`Switch management`
- :guilabel:`Conference management`
- :guilabel:`Queue management`
- :guilabel:`Voicemail management`
- :guilabel:`Audio messages management`
- :guilabel:`Music on hold management`
- :guilabel:`Directory management`
- :guilabel:`Call list`
- :guilabel:`Connected user list`
- :guilabel:`Global settings`
- :guilabel:`Apply changes button`
- :guilabel:`Invoice download`
- :guilabel:`Invoice details`
- :guilabel:`Blacklist management`
- :guilabel:`Conference participant management`
To access credentials for the Axivox user portal, navigate to the top of the
:menuselection:`Permissions` tab. Then, copy the :guilabel:`Username`, and enter the correct
:guilabel:`Password` for the individual user. There is a minimum of 8 characters for a user
password.
.. note::
These are the same permissions granted to the Axivox administrator that are listed in the menu on
the left in the Axivox management console. Should a selection state :guilabel:`No`, or
:guilabel:`No access`, then the menu option does **not** populate for the user.
Once all the desired configurations are complete, click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner.
Upon finishing the setup for a new user, an :ref:`voip/axivox/incoming_number` can be linked.
.. image:: manage_users/user-permissions.png
:align: center
:alt: Manage a user page, with the permissions tab highlighted, along with the first permission
highlighted indicating a no selection.
.. _voip/axivox/user_groups:
User groups
===========
A user group is a grouping of Axivox users that can be linked to a queue for call center
capability.
To begin using user groups, navigate to `https://manage.axivox.com <https://manage.axivox.com>`_.
Then, log in with the appropriate administrator credentials. From the menu on the left of the Axivox
administrative panel, click into :guilabel:`User Groups`.
To add a user group from the :guilabel:`User Groups` page, click :guilabel:`Add a group`.
Next, name the group, by entering text into the :guilabel:`Name` field. Then, add a member to the
group by typing the first few letters of the user's name into the :guilabel:`Members` field. The
user populates in a drop-down menu below the field. Then, click on the desired user, and they are
added to the user group.
Repeat this process to add more users to the group.
Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1,263 @@
=============================
Voicemails and audio messages
=============================
.. _axivox_admin: https://manage.axivox.com/
Managing voicemail is an important part of any business. A company needs to access their messages
with ease, and stay on top of any missed calls. Recording audio messages, like thanking a caller for
reaching out, or directing them to the right extension, is also a great way to personalize the
business interaction, and set the tone with the customer.
This document covers the configuration of both voicemail and audio messages in the Axivox
administrative portal.
.. _voip/axivox/global_language:
Set global language
===================
To start using voicemails and audio messages with Axivox, the global language should be set in the
Axivox admin portal settings. To do that, navigate to `manage.axivox.com <axivox_admin_>`_. After
logging into the portal, go to :menuselection:`Settings --> Global language (e.g.: voicemail
messages,...)`.
From here, set the language to either: :guilabel:`Francais`, :guilabel:`English`,
:guilabel:`Espanol`, or :guilabel:`Deutsch`.
Then, click :guilabel:`Save`, followed by :guilabel:`Apply changes` in the upper-right corner of the
:guilabel:`General Settings` page to implement the change into production.
.. _voip/axivox/activate_voicemail:
Activate voicemail
==================
In order for a user to utilize voicemail in Axivox, the voicemail feature **must** be turned on in
the Axivox administrative portal. To begin using voicemail with a user, navigate to
`manage.axivox.com <axivox_admin_>`_. Then, log in with the appropriate administrator credentials.
On the left menu of the Axivox administrative panel, click into :guilabel:`Users`.
Then, click into the specific user the voicemail should be activated for. Under the section marked,
:guilabel:`Voicemail`, open the drop-down menu, and click on :guilabel:`Yes`.
Lastly, :guilabel:`Save` the change, then click :guilabel:`Apply changes` in the upper-right corner
of the screen.
Voicemail
=========
The next step is to set up the individual voicemail boxes on the Axivox administrative portal. To
access the portal, visit `manage.axivox.com <axivox_admin_>`_ and log in. Then, navigate to
:menuselection:`Voicemails`, located in the menu on the left.
If the voicemail option was activated in the user profile, using this process
:ref:`voip/axivox/activate_voicemail`, then a voicemail is automatically created on the
:guilabel:`Voicemails` page.
.. tip::
It should be noted that some of the administrative portal language is in French, as Axivox is a
Belgian company. The global language is still set to one of the four options as seen here:
:ref:`voip/axivox/global_language`.
Manually create voicemail
-------------------------
To manually create a new voicemail box, click :guilabel:`Add a voicemail` on the
:guilabel:`Voicemails` page. Or, edit an existing voicemail box, by clicking :guilabel:`Edit` to the
far-right of an existing voicemail box on the :guilabel:`Voicemails` page.
.. example::
Suppose a sales or support team needs a general voicemail box. The voicemail would need to be
created manually, and attached to an incoming number.
The new, manually-created voicemail box should be attached to an incoming number, so it can receive
messages. To do so, navigate to :menuselection:`Incoming numbers`, located in the menu on the left.
Then, click :guilabel:`Edit` to the far-right of the specific number the voicemail should be linked
to.
In the :guilabel:`Destination type for voice call` field, click the drop-down menu, and select
:guilabel:`Voicemail`. Then, open the drop-down menu on the next line labeled,
:guilabel:`Voicemail`, and select the manually-created voicemail box.
.. important::
If an incoming number is capable of receiving SMS/text messages, an additional field,
:guilabel:`Destination email address for Incoming SMS`, is present.
To determine whether an incoming number is capable of receiving SMS/text messages, click
:guilabel:`Incoming numbers` from the menu on the left, then check the :guilabel:`SMS compatible`
column for the incoming number.
Then, if applicable, in the field labeled, :guilabel:`Destination email address for Incoming SMS`,
enter an email to which incoming text messages sent to the incoming number can be received. Some
incoming numbers (US +1) in Axivox are capable of receiving text messages from individuals and
automated numbers.
Should this field be left empty, the default destination address is used, instead (as previously set
in the beginning of the process for manually creating a voicemail).
Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner of the screen to implement the change into production.
Notifications
-------------
Now, whenever a voicemail is received on any of the automatically pre-configured or manually-linked
voicemail boxes, an email is sent to the user's email address, as listed in the
:guilabel:`Voicemails` page, or in the user's Axivox profile.
This information can be accessed by navigating to :menuselection:`Users` in the left menu, and
clicking :guilabel:`Edit` next to the specific user in question.
.. _voip/axivox/vm_forwarding:
Forwarding to voicemail
=======================
In Axivox, there are also numerous forwarding settings for a user. To access these forwarding
settings, go to `manage.axivox.com <axivox_admin_>`_ and log in.
Next, navigate to :menuselection:`Users`, located in the menu on the left.
From there, click into the specific user the forwarding should be added to. Then, open the
:guilabel:`Forwardings` tab.
If the user is busy on another call, or away from the phone, there is an option present in this tab
to :guilabel:`Send to voicemail as a last resort`, located in the :guilabel:`Forwarding on no
answer` and :guilabel:`Forwarding on busy` fields.
.. image:: vm_audio_messages/forwardings.png
:align: center
:alt: Send to voicemail as a last resort options highlighted on the Forwardings tab of the user.
If the :guilabel:`Send to voicemail as a last resort` box is ticked, when the forwarding actions
stated in each section are not successful, the caller is routed to the voicemail set on the
particular user.
.. seealso::
For more information on forwarding and transfers, visit :ref:`voip/axivox/forwardings_tab`.
When all the desired configurations are complete, click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner of the screen to implement the change.
.. _voip/axivox/audio_messages:
Audio messages
==============
It is possible to add audio messages *before* a customer's call is even taken, to inform them about
the waiting time for deliveries, the availability of a product, or any other important promotional
messages.
To record an audio message in Axivox, navigate to `manage.axivox.com <axivox_admin_>`_ and log in.
Next, click on :guilabel:`Audio messages` in the menu on the left. From the :guilabel:`Audio
messages` page, click :guilabel:`Add a message`.
Type in a :guilabel:`Name`, and click :guilabel:`Save`.
Upon clicking :guilabel:`Save`, the browser redirects back to the main :guilabel:`Audio messages`
page, where the newly-created message can be found on the list.
There are two different ways to make the audio message. The user could either record the message
over the phone, or type the message (in text), and select a computer-generated speaker to read the
message.
Record audio message
--------------------
To record an audio message over the phone, click the orange button labeled,
:guilabel:`Record/Listen`, located to the right of the desired message on the list to record, on the
:guilabel:`Audio messages` page.
When clicked, a :guilabel:`Record / listen to a message` pop-up window appears. From here, the
message is then recorded, via one of the extensions that is associated with the user. Under
:guilabel:`Extension to use for message management` field, click the drop-down menu, and select the
extension where Axivox should call to record the message.
Then, click :guilabel:`OK` to begin the call.
.. note::
The user **must** be active in the production database with :abbr:`VoIP (Voice over Internet
Protocol)` configured. To configure :abbr:`VoIP (Voice over Internet Protocol)` for a user, see
this documentation: :doc:`axivox_config`.
Upon connecting to the Axivox audio recorder management line, a recorded French-speaking operator
provides the following options:
#. Press `1` to record a message.
#. Press `2` to listen to the current message.
Press either `1` or `2`, depending on whether or not there is already a message present in the
system for this particular audio message that requires a review, before recording a new one.
Record the new audio message after pressing `1`, then press `#` to end the recording.
The French-speaking operator returns to the line presenting the first set of questions again:
#. Press `1` to record a message.
#. Press `2` to listen to the current message.
Press `#` to end the call.
Write audio message
-------------------
To type the message, and select a computerized speaker to say the text, navigate to the
:menuselection:`Audio messages` in the menu on the left.
From the :guilabel:`Audio messages` page, select the blue button labeled, :guilabel:`Text message`,
next to the corresponding audio message :guilabel:`Name` that the message should be attached to.
Doing so reveals a :guilabel:`Convert text to message` pop-up window.
From the :guilabel:`Convert to text message` pop-up window, click the drop-down menu next to the
field labeled, :guilabel:`Voice`, and select an option for the :guilabel:`Text` to be read in.
After the :guilabel:`Voice` selection has been made, and the message has been written in the
:guilabel:`Text` field, click :guilabel:`Generate` to process the audio file.
The text is read in the same language it is written in the :guilabel:`Text` field. Should the
language differ in the :guilabel:`Voice` field, then an accent is used by the computerized speaker.
Finally, when these steps are complete, click :guilabel:`Save` to save the audio message.
To implement the changes, click :guilabel:`Apply changes` in the upper-right corner of the screen.
.. image:: vm_audio_messages/sample-message.png
:align: center
:alt: Convert text to message window with voice, text, generate button and save highlighted.
.. tip::
To set a greeting or audio message in a dial plan element double-click on the element. This could
be a :guilabel:`Play a file` element, or a :guilabel:`Menu` element, in which the caller should
encounter an urgent message, or a dial-by-number directory.
For more information on dial plans see this documentation: :doc:`dial_plan_basics` or
:doc:`dial_plan_advanced`.
.. _voip/axivox/music_on_hold:
Music on-hold
=============
Axivox has the option to add custom hold music to the call whenever a caller is waiting for their
call to be answered. To add hold music to the Axivox administrative portal, navigate to the
`manage.axivox.com <axivox_admin_>`_, and log in.
Then, click on :guilabel:`Music on hold` from the menu on the left, and a :guilabel:`Change the
music on hold` pop-up window appears.
On the :guilabel:`Change the music on hold` pop-up window, click the :guilabel:`Choose File` button
to select an MP3 (MPEG Audio Layer 3) or WAV (Waveform Audio File Format ) file to be uploaded.
.. note::
Only :abbr:`MP3 (MPEG Audio Layer 3)` or :abbr:`WAV (Waveform Audio File Format)` files can be
uploaded to the Axivox administrative portal.
Once the file is selected, the :guilabel:`Progression` bar shows an upload status. When this
activity completes, the window can be closed, by clicking :guilabel:`Close`.
When the desired changes are complete, click :guilabel:`Apply changes` in the upper-right corner of
the screen.
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,196 @@
========================
Devices and integrations
========================
:abbr:`VoIP (Voice over Internet Protocol)` can be used on many different devices, such as a
computer, tablet, mobile phone, and many more. This is helpful in that it reduces costs, and
employees can work from anywhere in the world, so long as they have a broadband internet connection.
Odoo *VoIP* is SIP (Session Initiation Protocol) compatible, which means it can be used with *any*
:abbr:`SIP (Session Initiation Protocol)` compatible application.
This document covers the process of setting up Odoo *VoIP* across different devices and
integrations.
Odoo is fully-integrated with all Odoo apps, allowing users to click into any app, and schedule a
call as an activity in the chatter.
.. example::
For example, in the *CRM* app, a user can click into an opportunity, and click on
:guilabel:`Activities` in the chatter.
Next, they can choose :guilabel:`Call`, and under :guilabel:`Due Date`, they can select a date.
Once they click :guilabel:`Save`, an activity shows up in the chatter.
Should the :guilabel:`Due Date` be for today's date, the activity shows up in the :abbr:`VoIP
(Voice over Internet Protocol)` widget.
.. image:: devices_integrations/crm-voip-widget.png
:align: center
:alt: View of CRM leads and the option to schedule an activity for Odoo Discuss.
Odoo VoIP (laptop/desktop computer)
===================================
The Odoo *VoIP* (Voice over Internet Protocol) module and widget can be used from any browser on a
laptop or desktop device. Simply click on the :guilabel:`📞 (phone)` icon in the upper-right corner,
while in the Odoo database, and the widget appears.
.. seealso::
To see how to use the :abbr:`VoIP (Voice over Internet Protocol)` widget on a desktop/laptop
computer, check out this documentation: :doc:`voip_widget`.
Odoo VoIP (tablet/mobile device)
================================
The Odoo *VoIP* app can be used on tablets and mobile phones, through the Odoo Android or Apple IOS
applications. Additionally, a mobile web browser can be used to access the database.
.. warning::
Odoo Android and Apple IOS applications are no longer being maintained by Odoo on the Android and
Apple portals. This means Odoo support only handles limited scopes of Odoo Android or Apple IOS
support tickets.
.. important::
While outgoing calls can be placed using Odoo on a mobile device, be aware that Odoo is **not** a
full :abbr:`VoIP (Voice over Internet Protocol)` application, and does **not** ring on incoming
calls. If the user needs to be reachable on a mobile device at all times, an app, like Zoiper,
should be used. Apps like that stay connected in the background at all times.
For more information, see this documentation: :ref:`voip/zoiper`.
While in the mobile application on a mobile device/tablet, access the Odoo *VoIP* widget, by tapping
on the :guilabel:`📞 (phone)` icon in the upper-right corner. The widget appears in the lower-left
corner.
When first making a call from the tablet using the mobile application, the user is prompted to
:guilabel:`Allow` the database to use the microphone. Click :guilabel:`Allow` when prompted to
continue with the call using the microphone.
This step is **necessary**, whether using the mobile Odoo application or web browser.
.. image:: devices_integrations/allow-mic.png
:align: center
:alt: Allow the database to access the microphone.
Odoo then asks how to make the call. The two options are : :guilabel:`VOIP` or :guilabel:`Phone`
(should the tablet be enabled for calling). Click the box next to :guilabel:`Remember ?` should this
decision be the default moving forward.
.. image:: devices_integrations/voip-phone.png
:align: center
:alt: Window prompt to choose whether to use VOIP or the devices phone to make the call.
Here is the layout of what the Odoo *VoIP* app looks like on a mobile device:
.. image:: devices_integrations/voip-odoo-dashboard.png
:align: center
:alt: Layout of what the VoIP app looks like on the a mobile device.
.. _voip/zoiper:
Zoiper Lite
===========
*Zoiper Lite* is a free :abbr:`VoIP (Voice over Internet Protocol)` :abbr:`SIP (Session Initiation
Protocol)` dialer with voice and video.
To start using the *Zoiper* app, download it to the device, via the `Zoiper download page
<https://www.zoiper.com/en/voip-softphone/download/current>`_.
A mobile device is the most common installation, and this document covers how to set up on the
*Zoiper* IOS application. Screenshots and steps may differ depending on the set up conditions.
After installing the *Zoiper* application on the mobile phone, open the application, and tap on
:guilabel:`Settings`. Navigate to :menuselection:`Accounts`, and tap on the :guilabel:`+ (plus)`
icon to add an account.
If the :abbr:`VoIP (Voice over Internet Protocol)` account is already set up, then click
:guilabel:`Yes`. This means an account username and password has already been produced.
.. image:: devices_integrations/account-settings-zoiper-group.png
:align: center
:alt: Zoiper account setup, shown in the view from a mobile device.
Next, tap on :guilabel:`Select a provider`. On the screen that populates, tap :guilabel:`Country`,
in the upper-right corner, to narrow the providers down to a specific country. Choose the country
for the provider that is being configured, then find the :guilabel:`Provider`, and select it.
.. example::
If the provider being configured is *Axivox*, then select :guilabel:`Belgium`. Then, choose
:guilabel:`Axivox` as the provider.
.. image:: devices_integrations/provider-zoiper-odoo.png
:align: center
:alt: Zoiper account setup, choosing the provider.
Under :abbr:`SIP (Session Initiation Protocol)` options, enter the :guilabel:`Account name`,
:guilabel:`Domain`, :guilabel:`Username`, and :guilabel:`Password`. All this information varies,
based on the account.
.. tip::
To access this information, via the *Axivox* portal, navigate to :menuselection:`Users --> Choose
user --> Edit --> SIP Identifiers tab`. The :guilabel:`SIP username`, :guilabel:`Domain`,
:guilabel:`SIP password`, and :guilabel:`Address of the proxy server` are all present in this
tab.
.. list-table::
:header-rows: 1
* - Zoiper Field
- Axivox Field
* - Account name
- *Can be anything*
* - Domain
- Domain
* - Username
- SIP username
* - Password
- SIP password
Once this account information is entered, click the green :guilabel:`Register` button at the top of
the screen. Once the registration information is checked, *Zoiper* populates a message, stating
:guilabel:`Registration Status: OK`.
At this point, *Zoiper* is now set up to make phone calls using the :abbr:`VoIP (Voice over Internet
Protocol)` service.
.. image:: devices_integrations/sip-options-zoiper.png
:align: center
:alt: Zoiper account setup, registration successful.
Linphone
========
*Linphone* is an open-source :abbr:`VoIP (Voice over Internet Protocol)` :abbr:`SIP (Session
Initiation Protocol)` softphone, used for voice, video, messaging (group and individual), as well as
conference calls.
To start using the *Linphone* app, download it to the device, via the `Linphone download page
<https://new.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner>`_.
A mobile device is the most common installation, and this document covers how to set up the
*Linphone* IOS application. Screenshots and steps may differ depending on the circumstances.
To begin configuring *Linphone* for use with a :abbr:`SIP (Session Initiation Protocol)` provider,
first open *Linphone*, and an assistant screen appears.
From this screen, select :guilabel:`Use SIP Account`. Then, on the following screen, enter the
:guilabel:`Username`, :guilabel:`Password`, :guilabel:`Domain`, and :guilabel:`Display Name`. Once
complete, press :guilabel:`Login`.
At this point, *Linphone* is ready to start making calls, once there is a green button at the top of
the application screen that reads, :guilabel:`Connected`.
.. image:: devices_integrations/linphone-odoo-setup.png
:align: center
:alt: Linphone account setup, registration successful.
.. tip::
*Linphone* makes a variety of applications for mobile and desktop devices in operating systems,
such as Windows, Linux, Apple, and Android. Because *Linphone* is an open-source project, many
new updates are released on a regular basis.
See `Linphone's wiki-documentation page
<https://wiki.linphone.org/xwiki/wiki/public/view/Linphone/>`_.
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@@ -0,0 +1,147 @@
==========================================
Make, receive, transfer, and forward calls
==========================================
Calling prospective clients, customers, or colleagues is an essential part of any business. A
company also needs to be available when customers call, in order to build trust and make
connections.
This document covers how to make, receive, transfer, and forward calls with Odoo *VoIP*.
Make calls
==========
Starting on the Odoo dashboard, a call can be made by opening the phone widget in the the
upper-right corner, which is represented by a :guilabel:`📞 (phone)` icon.
Then, a user can click on the :guilabel:`Contacts` tab, and click into any contact in the database
to make a call.
Additionally, one can also use the :guilabel:`Search bar` in the :guilabel:`VOIP` pop-up window to
find any desired contact.
.. image:: transfer_forward/widget-operation.png
:align: center
:alt: Using the VoIP phone widget to make calls.
To manually make a call, click the :guilabel:`⌨️ (keyboard)` icon, and proceed to manually key in
the desired number. Do not forget to lead with the :guilabel:`+ (plus)` icon, followed by the
international country code.
.. example::
For the United States of America, the country code and :guilabel:`+ (plus)` icon, would look like
this: `+1`. If one were to dial Belgium, the number would be prefixed by `+32`, and for Great
Britain it would be `+44`.
After entering the full number, with the required :guilabel:`+ (plus)` icon prefix and country code,
click the green :guilabel:`📞 (phone)` icon to start the call. When finished, click the red
:guilabel:`📞 (phone)` icon to end the call.
.. image:: transfer_forward/manual-call.png
:align: center
:alt: Using the VoIP phone widget to make calls.
Receive calls
=============
An incoming call automatically opens the *VoIP* widget, when a user is using the Odoo database.
Should the database be open in another tab, a sound plays (the sound **must** be activated on the
device).
Once back to the tab, the calling screen of the *VoIP* phone widget appears.
Click the green :guilabel:`📞 (phone)` icon to pick up the call, or the red :guilabel:`📞 (phone)`
icon to reject the call.
.. image:: transfer_forward/incoming-call.png
:align: center
:alt: Incoming call on the VoIP widget, with the call answer and call reject buttons highlighted.
Add to call queue
=================
All the contacts and customers that need to be called can be seen in one place with the Odoo *VoIP*
phone widget, under the :guilabel:`Next activities` tab.
.. image:: transfer_forward/next-activities.png
:align: center
:alt: VoIP widget with next activities highlighted, showing tasks below.
To add a call to the :guilabel:`Next activities` tab, click the green :guilabel:`📞 (phone)` icon,
while in kanban view of the *CRM* application.
To remove them from the call queue, hover over the opportunity that has a call scheduled, and click
the red :guilabel:`📞 (phone)` icon that appears with the :guilabel:`- (minus)` icon.
When navigating back to the *VoIP* phone widget, **only** the calls that are scheduled immediately
for that day appear in the queue under the :guilabel:`Next Activities` tab of the *VoIP* pop-up
widget.
.. image:: transfer_forward/add-call-queue.png
:align: center
:alt: Adding a call to the next activities tab in the VoIP phone widget.
The :guilabel:`Next Activities` tab of the *VoIP* phone widget is integrated with the following Odoo
apps: *CRM*, *Project*, and *Helpdesk*.
A call can be added in the chatter of records within those applications.
To manually add a call, via the chatter, click :guilabel:`Activities` (next to the :guilabel:`🕗
(clock)` icon). Under :guilabel:`Activity Type`, select :guilabel:`Call` from the drop-down menu
that appears.
Next, set a :guilabel:`Due Date`, and add a :guilabel:`Summary`.
Lastly, change the :guilabel:`Assigned to` field to the person that should make the call. Whomever
is set in this last field (:guilabel:`Assigned to`) has this call show up in their :guilabel:`Next
Activities` call queue in the Odoo *VoIP* phone widget.
.. important::
Only calls for the immediate day (today's date) appear in the :guilabel:`Next Activities` tab of
the *VoIP* phone widget for that specific user.
If specified, click :guilabel:`Save` or :guilabel:`Open Calendar` to complete the scheduling of the
call.
Transfer calls
==============
A call can be transferred from one user to another in the Odoo *VoIP* phone widget. However, this
can **only** occur after speaking to the caller first. Without picking up the call in the Odoo
*VoIP* phone widget, the only way to transfer a call is automatically though the provider
console/portal.
.. seealso::
For more information on transfers, visit :ref:`voip/axivox/forwardings_tab`.
To transfer a call within the Odoo *VoIP* phone widget, first, answer the call using the green
:guilabel:`📞 (phone)` icon.
Once the incoming call is answered, click the :guilabel:`↔ (left-right arrow)` icon. Then, enter the
extension of the user the call should be forwarded to. Finally, click :guilabel:`Transfer` to route
the call to that phone number.
.. tip::
To find the extension for a user, consult the :abbr:`VoIP (Voice over Internet Protocol)`
administrator, or, if the user has *Settings* access rights to *Administration*, navigate to
:menuselection:`Settings App --> Manage Users --> Select the user --> Preferences --> VOIP -->
VoIP username / Extension number`.
For more information on access rights, visit: :doc:`../users/access_rights`.
.. image:: transfer_forward/transfer.png
:align: center
:alt: Transferring a call within the phone widget, with the transfer buttons highlighted.
Forward calls
=============
To forward a call within the Odoo *VoIP* phone widget, first, answer the call using the green
:guilabel:`📞 (phone)` icon. Once the incoming call is answered, click the :guilabel:`↔ (left-right
arrow)` icon.
Then, enter the full phone number of the user the call should be forwarded to. Finally, click
:guilabel:`Transfer` to route the call to that phone number.
.. seealso::
For more information on forwarding, visit :ref:`voip/axivox/forwardings_tab`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Some files were not shown because too many files have changed in this diff Show More