[IMP] VoIP: Combine VoIP Actions Docs

closes odoo/documentation#12596

Signed-off-by: Justin Mallette (juma) <juma@odoo.com>
Co-authored-by: Jess Rogers <104637850+jero-odoo@users.noreply.github.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
This commit is contained in:
Justin Mallette
2025-03-21 12:42:29 -07:00
parent e1855fa969
commit 3c4ed1a60a
13 changed files with 109 additions and 245 deletions

View File

@@ -18,7 +18,7 @@ predefined rules. Features like call recording and analytics provide insights in
response times, helping teams track communication efficiency.
.. cards::
.. card:: VoIP widget
.. card:: VoIP actions
:target: voip/voip_widget
:large:
@@ -60,7 +60,7 @@ provider to the Odoo database.
VoIP providers
--------------
While |VOIP| setup is minimal in Odoo, all configuration happens in the external |VOIP| service
While |VOIP| setup is minimal in Odoo, most configuration happens in the external |VOIP| service
provider. Two verified providers are :doc:`OnSIP <voip/onsip>` and :doc:`Axivox <voip/axivox>`.
Click on the cards below to learn how to configure these service providers in the Odoo database. If
these providers cannot be used, an alternate provider must meet these requirements to connect with
@@ -104,4 +104,3 @@ the :ref:`relevant troubleshooting steps <voip/voip_widget/troubleshooting_voip>
voip/axivox
voip/voip_widget
voip/devices_integrations
voip/transfer_forward

View File

@@ -1,147 +0,0 @@
==========================================
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:`/applications/general/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.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -1,94 +1,13 @@
===========
VoIP widget
===========
============
VoIP actions
============
.. |VOIP| replace:: :abbr:`VoIP (Voice over Internet Protocol)`
The *VoIP* (Voice over Internet Protocol) widget is an add-on made available to Odoo users by
installing the |VOIP| module. Instead of managing mobile devices for every salesperson, fumbling
through call transfers for upset customers, or needing a meeting room to handle a conference call,
utilize the |VoIP| widget to tackle any of these business needs.
Install the VoIP module
=======================
To use |VOIP|, it must first be :doc:`installed <../../general/apps_modules>`.
Once the module is installed, a :icon:`oi-voip` :guilabel:`(VoIP)` icon will appear at the top of
the screen. This is where phone calls are made from within Odoo. When this icon is clicked, a |VOIP|
pop-up widget appears on the screen, and is where emails can be sent, user and employee info can be
edited, and activities can be managed. While this pop-up widget is open, the user can navigate
through their Odoo apps.
.. image:: voip_widget/activity-widget.png
:alt: VoIP widget in Odoo.
Sign up for a VoIP service provider
===================================
While |VOIP| setup is minimal in Odoo, all mapping happens in the external |VOIP| service provider.
Two verified providers are :doc:`OnSIP <onsip>` and :doc:`Axivox <axivox>`. If these providers
cannot be used, an alternate provider must meet these requirements to connect with Odoo:
- |VOIP| host must provide access to a SIP server via a websocket connection
- |VOIP| host must support WebRTC protocol
To add the credentials for the alternate provider, go to the **Settings** app and search for `VoIP`.
In the :guilabel:`Integrations` section under :guilabel:`VoIP`, click :guilabel:`Manage Providers`.
And then, click :guilabel:`New` and enter the requested information (like the websocket's URL). Note
that the :guilabel:`OnSIP Domain` field is where the domain created by the alternate provider goes.
If any issues with the |VOIP| service provider are encountered, then reach out to their support
team. If any issues when setting up the |VOIP| service provider are encountered in Odoo, then follow
the :ref:`relevant troubleshooting steps <voip/voip_widget/troubleshooting_voip>`.
.. warning::
Odoo **cannot** verify that every alternate provider is compatible with Odoo's systems. However,
if the above requirements are met, then no issues should be found.
Make a phone call with VoIP
===========================
One of the primary purposes of |VOIP| is to make phone calls without needing a phone. Here are the
three ways to make a phone call in the Odoo database:
- Click the :icon:`oi-voip` :guilabel:`(VoIP)` icon, located in the top-right of the navigation bar.
Then, enter the phone number to be called by clicking the :icon:`fa-keyboard-o`
:guilabel:`(keyboard)` icon, and then entering the phone number to be called.
- To return to the widget's home page, click the :icon:`fa-keyboard-o` :guilabel:`(keyboard)`
icon again.
- Click the :icon:`oi-voip` :guilabel:`(VoIP)` icon, located in the top-right of the navigation bar.
Then, click the :icon:`fa-phone` :guilabel:`(phone)` icon to redial the last called contact.
- Click the :icon:`oi-voip` :guilabel:`(VoIP)` icon, located in the top-right of the navigation bar.
Then, search for a specific contact's name or go to the :guilabel:`Contacts` tab. Then, select the
contact and click the :icon:`fa-phone` :guilabel:`(phone)` icon.
When receiving calls in Odoo, the |VOIP| widget rings, and displays a notification. To close the
widget, click the :icon:`oi-close` :guilabel:`(close)` icon in the upper-right of the widget's
screen.
.. note::
The :abbr:`VoIP (Voice over Internet Protocol)` number is the one provided by Axivox. It can be
accessed by navigating to `https://manage.axivox.com/ <https://manage.axivox.com/>`_. After
logging into the portal, go to :menuselection:`Users --> Outgoing number` (column).
Send an email through the VoIP widget
=====================================
While phone calls are handled through the |VOIP| widget, emails can also be sent through it. This is
helpful for sending follow-up emails to the call participants, emailing a question to a coworker, or
reminding a vendor to send over some components during a check-in call.
To send an email through the |VOIP| widget, click the :icon:`oi-voip` :guilabel:`(VoIP)` icon,
located in the top navigation bar. When this is clicked, the |VOIP| widget will appear in the
bottom-right corner of the page. Then, search for a contact to email or find them in the
:guilabel:`Contacts` tab of the |VOIP| widget. Next, click the :icon:`fa-envelope-o`
:guilabel:`(envelope)` icon, and then select the email recipients, enter the email's subject line,
and write the email. When it is ready to be sent, click :guilabel:`Send`. To schedule an email to
send later, click the :icon:`fa-caret-down` :guilabel:`(dropdown)` icon next to :guilabel:`Send`,
click :guilabel:`Send Later`, pick the scheduled time, and click :guilabel:`Schedule`.
The |VOIP| widget is an add-on made available to Odoo users by installing the |VOIP| module. Instead
of managing mobile devices for every salesperson, fumbling through call transfers for upset
customers, or needing a meeting room to handle a conference call, utilize the |VOIP| widget to
tackle any of these business needs.
Navigate the VoIP widget
========================
@@ -109,8 +28,8 @@ This includes incoming and outgoing calls. Any number can be clicked to begin a
Next activities tab
-------------------
Under the :guilabel:`Next Activities` tab of the |VOIP| widget, a user can see any activities
assigned to them, and which ones are due to be completed for the day.
Under the :guilabel:`Next Activities` tab of the |VOIP| widget, a user can see any calls assigned to
them, and which ones are due to be completed for the day.
Click an activity from this tab to perform any of these actions to prepare for and complete (found
under the **Documents** heading):
@@ -131,6 +50,25 @@ When viewing the activity, the user can also manage the activity's details and s
To call the customer related to a scheduled activity, click the :icon:`fa-phone` :guilabel:`(phone)`
icon. Click the :icon:`fa-keyboard-o` :guilabel:`(keyboard)` icon to dial another number.
Add a call
~~~~~~~~~~
From the database home page, click :menuselection:`CRM app`. On the :guilabel:`Pipeline`, make sure
it is open to the Kanban view. Next, near the top of the screen, click the :icon:`oi-voip`
:guilabel:`VoIP` icon and make sure the |VOIP| widget is opened to the :guilabel:`Next Activites`
tab. After that, hover over the opportunity that should have a call and click the :icon:`fa-phone`
:guilabel:`(phone)` with the small green :icon:`fa-plus` :guilabel:`plus` icon.
.. image:: voip_widget/add-call.png
:alt: A sales opportunity with the option to add a call to the VoIP widget.
To remove a call from the :guilabel:`Next activities` tab, hover over the opportunity that has a
call scheduled, and click the red :icon:`fa-phone` :guilabel:`(phone)` icon that appears with the
:icon:`fa-minus` :guilabel:`(minus)` icon.
.. image:: voip_widget/remove-call.png
:alt: A sales opportunity with the option to remove a call from the VoIP widget.
Contacts tab
------------
@@ -144,6 +82,76 @@ A search feature is also available at the top of the widget, represented by a :i
:guilabel:`(search)` icon. Use this tool to find a specific contact. Scheduled activities will not
appear as search results.
Make a phone call with VoIP
===========================
One of the primary purposes of |VOIP| is to make phone calls without needing a phone. Here are the
three ways to make a phone call in the Odoo database. First, click the :icon:`oi-voip`
:guilabel:`(VoIP)` icon, located in the top-right of the navigation bar. From here:
- Enter the phone number to be called by clicking the :icon:`fa-keyboard-o` :guilabel:`(keyboard)`
icon, and then entering the phone number.
- Click the :icon:`fa-phone` :guilabel:`(phone)` icon to redial the last called contact.
- Search for a specific contact's name or go to the :guilabel:`Contacts` tab. Then, select the
contact and click the :icon:`fa-phone` :guilabel:`(phone)` icon.
When receiving calls in Odoo, the |VOIP| widget rings, and displays a notification. To close the
widget, click the :icon:`oi-close` :guilabel:`(close)` icon in the upper-right of the widget's
screen.
.. note::
The |VOIP| number is the one provided by Axivox. It can be accessed by navigating to
`https://manage.axivox.com/ <https://manage.axivox.com/>`_. After logging into the portal, go to
:menuselection:`Users --> Outgoing number` (column).
Transfer a phone call
---------------------
Manually transferring a call only happens when on a call. To transfer a call within the |VOIP|
widget, first, answer the call using the green :icon:`fa-phone` :guilabel:`(phone)` icon.
Once the incoming call is answered, click the :icon:`fa-arrows-h` :guilabel:`(left-right arrows)`
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 |VOIP| administrator. If the user has
:guilabel:`Administration` access rights set to :guilabel:`Settings`, find extensions by going to
:menuselection:`Settings app` and click the :icon:`fa-arrow-right` :guilabel:`Manage Users`
button. Select the user, and go to the :guilabel:`VoIP` tab. That user's extension is their
:guilabel:`VoIP username`.
If the user does not pick up the call or is busy with another call, then calls can be automatically
transferred. This gets configured with the |VOIP| service provider.
Forward a phone call
--------------------
To forward a call within the |VOIP| widget, first, answer the call using the green :icon:`fa-phone`
:guilabel:`(phone)` icon.
Then, click the :icon:`fa-arrows-h` :guilabel:`(left-right arrows)` icon. 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.
Send an email through the VoIP widget
=====================================
Emails can also be sent through the |VOIP| widget. This is helpful for sending follow-up emails to
the call participants, emailing a question to a coworker, or reminding a vendor to send over some
components during a check-in call.
To send an email through the |VOIP| widget, click the :icon:`oi-voip` :guilabel:`(VoIP)` icon,
located in the top navigation bar. When this is clicked, the |VOIP| widget will appear in the
bottom-left corner of the page. Then, search for a contact to email or find them in the
:guilabel:`Contacts` tab of the |VOIP| widget.
Next, click the :icon:`fa-envelope-o` :guilabel:`(envelope)` icon, and then select the email
recipients, enter the email's subject line, and write the email. When it is ready to be sent, click
:guilabel:`Send`. To schedule an email to send later, click the :icon:`fa-caret-down`
:guilabel:`(dropdown)` icon next to :guilabel:`Send`, click :guilabel:`Send Later`, pick the
scheduled time, and click :guilabel:`Schedule`.
.. _voip/voip_widget/troubleshooting_voip:
Troubleshooting the VoIP widget
@@ -154,13 +162,13 @@ Each section below goes through common issues with the |VOIP| widget and how to
Missing parameter
-----------------
If a *Missing Parameter* error message appears in the Odoo |VOIP| widget, refresh the Odoo window,
and try again.
If a *Missing Parameter* error message appears in the |VOIP| widget, refresh the window, and try
again.
Incorrect number
----------------
If an *Incorrect Number* error message appears in the Odoo |VOIP| widget, make sure to use the
If an *Incorrect Number* error message appears in the |VOIP| widget, make sure to use the
international format, leading with the :icon:`fa-plus` :guilabel:`(plus)`, followed by the
international country code (e.g., +16506913277, where `+1` is the international prefix for the
United States.)
@@ -170,7 +178,7 @@ The websocket connection with the server has been lost
------------------------------------------------------
If a *The websocket connection with the server has been lost. Please try to refresh the page.* error
message appears in the Odoo |VOIP| widget, then refresh the page close other browser tabs.
message appears in the |VOIP| widget, then refresh the page close other browser tabs.
This error is caused by returning to the database after a period of inactivity, like lunch, or if
there are too many browser tabs open.
@@ -180,7 +188,7 @@ Failed to start the user agent
If a *Failed to start the user agent. The URL of the websocket may be wrong. Please have an
administrator verify the websocket server URL in the General Settings.* error message appears in the
Odoo |VOIP| widget, then update the browser and computer.
|VOIP| widget, then update the browser and computer.
This error is caused by the browser or computer not being up-to-date (and can also cause issues with
the microphone).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -23,3 +23,7 @@ applications/sales/sales/send_quotations/optional_products.rst applications/sale
applications/sales/sales/send_quotations/orders_and_variants.rst applications/sales/sales/sales_quotations/orders_and_variants.rst # sales/send_quotations/* --> sales/sales_quotations/*
applications/sales/sales/send_quotations/pdf_quote_builder.rst applications/sales/sales/sales_quotations/pdf_quote_builder.rst # sales/send_quotations/* --> sales/sales_quotations/*
applications/sales/sales/send_quotations/quote_template.rst applications/sales/sales/sales_quotations/quote_template.rst # sales/send_quotations/* --> sales/sales_quotations/*
# applications/voip
applications/productivity/voip/transfer_forward.rst applications/productivity/voip/voip_widget.rst # voip/transfer_forward --> voip/voip_widget