Skip to content

[IMP] VoIP: Devices + Integrations Revamp #13002

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: 18.0
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
252 changes: 95 additions & 157 deletions content/applications/productivity/voip/devices_integrations.rst
Original file line number Diff line number Diff line change
@@ -1,196 +1,134 @@
========================
Devices and integrations
========================
=============================
VoIP devices and integrations
=============================
Comment on lines +1 to +3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Appreciate the effort to improve the readability of this doc compared to the ~16.0 version. The revised article has clearer and more concise writing, and it removes "sales-y benefits" from configuration steps that was present in the original. That said, a few new ambiguities crept in and some helpful context was trimmed. There are also areas where we can further improve for brevity. Let's revisit the areas pointed out in this review and ensure the doc has the necessary amounts of specificity as defined in our quality matrix.


: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.
.. |VOIP| replace:: :abbr:`VoIP (Voice over Internet Protocol)`
.. |SIP| replace:: :abbr:`SIP (Session Initiation Protocol)`

Odoo *VoIP* is SIP (Session Initiation Protocol) compatible, which means it can be used with *any*
:abbr:`SIP (Session Initiation Protocol)` compatible application.
While |VOIP| is available on Odoo's desktop experience, it can also be used through the :doc:`Odoo
mobile app <../../../administration/mobile>` and through third-party apps as well. As long as the
app is compatible with |SIP|, it can be used to make and receive calls with Odoo |VOIP|.

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.
Odoo |VOIP| is fully integrated with the **Contacts**, **CRM**, **Sales**, and **Helpdesk** apps.
While the benefits are most clearly felt when using |VOIP| from the Odoo database, it can also be
used from apps like :ref:`Linphone <voip/linphone>` and :ref:`Zoiper Lite <voip/zoiper>`.

.. 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)
================================
Using |VOIP| through the Odoo mobile app or through a third-party tool still requires a |VOIP|
service provider. Learn more about signing a :doc:`VoIP service provider <../voip>`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move to a "see more" admonition or finish the sentence with a prepositional phrase so it's not just a command to learn

Comment on lines 16 to +18
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seealso blocks should only include link text and doc links. Let's condense this into 5 words maximum


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.
VoIP via the Odoo mobile app
============================

.. 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.
Odoo |VOIP| is available through mobile browsers as well as through the Odoo app (available through
the Apple App Store and Google Play Store). Odoo recommends using a mobile browser to access a
database, rather than the mobile apps.

For more information, see this documentation: :ref:`voip/zoiper`.
.. danger::
Odoo mobile apps available in app stores are no longer supported by Odoo. Learn more about
:doc:`Odoo's mobile apps <../../../administration/mobile>`.
Comment on lines +28 to +29
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence repeats “mobile apps” twice in fewer than ten words. Here are a couple of tighter options you can drop in:

  1. Sentence-case, warning style

Danger
Odoo’s iOS and Android apps are no longer supported. [Learn more.]

  1. Inline note

Odoo recommends using a mobile browser to access a database, rather than the mobile apps, as Odoo no longer maintains its iOS or Android apps.

Either version keeps the critical information while removing the echo.


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.
Make a call through the mobile app
----------------------------------

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.
To make a call through the Odoo mobile app, first tap the :icon:`oi-voip` :guilabel:`VoIP` icon at
the top of the screen. From here, the |VOIP| widget will appear on the screen. After that, the user
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can remove the future case, "will"

can start a call using one of three ways:

This step is **necessary**, whether using the mobile Odoo application or web browser.
- Enter the phone number to be called by clicking the :icon:`fa-keyboard` :guilabel:`(keyboard)`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the keyboard icon isn't rendering for some reason 🤔
image

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.

.. image:: devices_integrations/allow-mic.png
:align: center
:alt: Allow the database to access the microphone.
When the first call from the mobile app is made, a prompt to allow the database to use the device's
microphone appears. When this prompt appears, click :guilabel:`Allow` to continue with the call.

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:
.. important::
Allowing the app to use the device's microphone is **necessary**, regardless of whether the
mobile Odoo application or web browser is used. If permission is not granted, calls cannot be
made from the app.

.. image:: devices_integrations/voip-odoo-dashboard.png
:align: center
:alt: Layout of what the VoIP app looks like on the a mobile device.
Odoo then asks how to make the call. The two options are to either use |VOIP| or use the phone's
connection. Click the box next to :guilabel:`Remember ?` should this decision be the default moving
forward.
Comment on lines +52 to +54
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

possible rewrite for brevity

Suggested change
Odoo then asks how to make the call. The two options are to either use |VOIP| or use the phone's
connection. Click the box next to :guilabel:`Remember ?` should this decision be the default moving
forward.
Odoo then prompts for a call method: VoIP or the device’s cellular connection. Select Remember? to set the chosen option as the default.

Note: Didn't format so remember to do so in your revision!


.. _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.
*Zoiper Lite* third-party alternative to Odoo |VOIP|. It is a free |VOIP| |SIP| dialer with voice
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It’s not clear how this section ties back to Odoo. If the tool works entirely outside Odoo VoIP, can you clarify the integration—or consider removing the section?

and video.

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.
To start, download the *Zoiper Lite* app from either the `Google Play Store
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One quick style tweak:

  • We italicize a term or concept only the first time it’s defined. After that, it stays in plain text.
  • As for company names like Zoiper and Linphone, we keep them unformatted (see other integration docs that follow the same rule)

Could you please remove the italics from every instance of Zoiper Lite and Linphone after their first mention? That will keep the doc consistent with the rest of the library. Thanks for polishing the details! 👍

<https://play.google.com/store/apps/details?id=com.zoiper.android.app>`_ or `Apple's App Store
<https://apps.apple.com/us/app/zoiper-lite-voip-soft-phone/id438949960>`_. This section will cover
Comment on lines +64 to +66
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just curious why we're linking this here but not on line 24?

setting up *Zoiper Lite* for an iOS device while using :doc:`Axivox <axivox/axivox_config>` as the
|VOIP| service provider, so the experience may differ for other operating systems or |VOIP| service
providers.

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.
Once *Zoiper Lite* is installed on the mobile device, open the app and tap :guilabel:`Settings`.
Navigate to :menuselection:`Accounts`, and tap the :guilabel:`+ (plus)` icon to add an account.

.. image:: devices_integrations/account-settings-zoiper-group.png
:align: center
:alt: Zoiper account setup, shown in the view from a mobile device.
If a |VOIP| service provider is signed, then tap :guilabel:`Yes` when the app asks if the user has
an account username and password. From here, tap :guilabel:`Manual configuration` unless the |VOIP|
service provider's country is known (if it is, then tap :guilabel:`Select provider` and find the
provider through the list).

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.
If :guilabel:`Manual configuration` was tapped, tap :guilabel:`SIP account`. From here, under
:guilabel:`SIP OPTIONS`, fill out the fields:

.. example::
If the provider being configured is *Axivox*, then select :guilabel:`Belgium`. Then, choose
:guilabel:`Axivox` as the provider.
- :guilabel:`Account name`: How this account appears in *Zoiper Lite*. Can be anything.
- :guilabel:`Domain`: The |VOIP| service provider's domain. This is unique to each service provider
account.
- :guilabel:`Username`: The user's |SIP| username. This is unique to each user account in the
service provider account.
- :guilabel:`Password`: The user's |SIP| password. This is unique to each user account in the
service provider account.

.. image:: devices_integrations/provider-zoiper-odoo.png
:align: center
:alt: Zoiper account setup, choosing the provider.
.. tip::
To access this information through the *Axivox* portal, click :guilabel:`Users`, then choose a
user and click :guilabel:`Edit`, and finally click the :guilabel:`SIP Identifiers` tab.

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.
Once all of this information is entered, tap the green :guilabel:`Register` button at the top of the
screen. *Zoiper* will confirm the information, then show a message saying :guilabel:`Registration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like “Lite” was dropped from Zoiper Lite here—intentional, or should we add it back? 🤔

Status: OK` if everything was correct. From here, the *Zoiper Lite* app can now be used to make and
take phone calls using the |VOIP| service.

.. 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.
.. _voip/linphone:

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>`_.
*Linphone* is a third-party alternative to Odoo |VOIP|. It is a free |VOIP| |SIP| dialer with voice,
video, messaging (direct messages and group chats), and can support conference calls.
Comment on lines +104 to +105
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, if it's an alternative to Odoo, how is this related to us? Is it because we can also integrate with other Odoo apps? Let's clarify that integration


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 start, download the *Linphone* app from either the `Google's Play Store
<https://play.google.com/store/apps/details?id=org.linphone>`_ or the `Apple App Store
<https://apps.apple.com/us/app/linphone/id360065638>`_. This section will cover setting up
*Linphone* for an iOS device while using :doc:`Axivox <axivox/axivox_config>` as the |VOIP| service
provider, so the experience may differ for other operating systems or |VOIP| service providers.
Comment on lines +109 to +111
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It’s unclear where Axivox fits into the flow. We say “using Axivox as the VoIP provider,” but never show when or where to obtain and enter the Axivox SIP credentials. Could you:

  1. Add a brief prerequisite (“Create an Axivox SIP account in the Axivox portal and copy the SIP username, password, and domain”), or

  2. Link to existing Axivox-setup docs and specify exactly where those credentials are pasted in Linphone?

That context will help readers complete the configuration without guessing.


To begin configuring *Linphone* for use with a :abbr:`SIP (Session Initiation Protocol)` provider,
first open *Linphone*, and an assistant screen appears.
Once *Linphone* is installed on the mobile device, open the app and tap on :icon:`fa-bars`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase “tap on ” reads incomplete—consider “tap on the icon” for clearer grammar.

:guilabel:`(menu)`. From here, tap :guilabel:`Assistant`, then tap :guilabel:`Use SIP ACCOUNT`. Read
the warning message, then tap :guilabel:`I understand`.

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`.
From here, under :guilabel:`SIP OPTIONS`, fill out the fields:

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.
- :guilabel:`USERNAME`: The user's |SIP| username. This is unique to each user account in the
service provider account.
- :guilabel:`PASSWORD`: The user's |SIP| password. This is unique to each user account in the
service provider account.
- :guilabel:`DOMAIN`: The |VOIP| service provider's domain. This is
unique to each service provider account.
- :guilabel:`DISPLAY NAME`: How this account appears in *Linphone*. Can be anything.

.. 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.
To access this information through the *Axivox* portal, click :guilabel:`Users`, then choose a
user and click :guilabel:`Edit`, and finally click the :guilabel:`SIP Identifiers` tab.

Tap :guilabel:`UDP` for :guilabel:`TRANSPORT`, then tap :guilabel:`LOGIN`.

See `Linphone's wiki-documentation page
<https://wiki.linphone.org/xwiki/wiki/public/view/Linphone/>`_.
From here, *Linphone* can be used to make and take calls once a green banner that says
:guilabel:`Connected` appears at the top of the screen.