Skip to Content
Menu
v 18.0 Third Party 6
Download for v 18.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 2038
Technical Name voip_oca
LicenseAGPL-3
Websitehttps://github.com/OCA/connector-telephony
You bought this module and need support? Click here!
Odoo Community Association

Voip OCA

Beta License: AGPL-3 OCA/connector-telephony Translate me on Weblate Try me on Runboat

This module allows the use of VOIP directly from Odoo.

It relies on SIP.js to connect to the PBX using a websocket directly from the browser.

Odoo server will not connect directly to the PBX server, but will have users and passwords stored.

In order to use this module, you need to have a PBX server that allows websocket connection. Otherwise, you need to use a proxy that will be the bridge between Odoo and PBX. Websocket connection is required because browsers prefer this kind of connections. Also, this is an standard connection defined on RFC 7118 by IETF. Several PBX servers support this protocol.

Table of contents

Use Cases / Context

This module is intended to integrate directly with a VOIP Provider.

The provider need to supply a WebRTC system where we will plug on it.

Currently, it has been tested with:

  • Zerovoz
  • Ringover

Theoretically, it should work with

  • Axivox
  • OnSIP

Configuration

Create the PBX Connection

  • Access in Debug mode.
  • Go to Settings > Technical > Discuss > PBX Servers.
  • Create a PBX server and define the domain name and websocket link.

You can set it as Test or Production. Test environment will never contact the PBX server.

Configure users

For each user, we need to define their PBX server, user and password if we want it to be able to access the PBX server and make calls. To do this, we have two options:

  1. Admin users can define the information directly in the user form for each user. For this, go to Settings > Users & Companies > Users and go to VOIP tab and set the information.
  2. By other hand, each user can go to Preferences and modify the information in the VOIP tab.

Usage

Automatically the system will login into the PBX server once we enter odoo with our user. If we are on a test environment, no login is made and the libraries of SIP are not loaded.

Once we are logged, we can use the VOIP widget in order to call directly. In order to open all the selectors, we can press the softphone button on the top bar…

https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/softphone.png

…and the bottom widget will be opened.

https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/widget.png

The widget can be hidden by clicking on the top bar.

https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/hidden_widget.png

Clicking the top bar of the widget again will make it reappear.

We can make a call in 2 ways:

  1. Clicking the partner’s number in the partner view, which appears in green. .. figure:: https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/partner.png
  2. Opening the numpad located at the bottom left of the widget, entering the desired number, and clicking the call button located at the bottom right of the widget. .. figure:: https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/numpad.png

Inside a call, we can transfer the call, end the call, mute the call and put the call on Hold.

The widget offers 3 sections:

  1. Recent calls: Here we have a list of the last calls made, along with additional call information such as call date and time, status, or duration.
  2. Call Activities: Here we have a list of call activities assigned to us in any Odoo document(crm.lead, sale.order…) that has expired or is about to expire and needs to be completed.
  3. Contacts: Lastly, we have quick access to all stored partners in our Odoo who have a telephone number set.

Clicking on any record in these three sections gives us access to the related partner, allowing us to view their information and make a call.

In the partner view of the widget, we can perform three actions:

  1. Send an email to the partner.
  2. Access the partner’s form in Odoo.
  3. Schedule an activity.
https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/actions.png

If the partner is unknown and not stored in Odoo, some actions may not be available. This can occur when accessing a recent call made to a contact that is not stored for example. However, in this case, we allow the action to store the contact in Odoo from recent calls, clicking on the plus icon button.

https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/unknown_partner_actions.png

Additionally, if we access a contact through the activity section, we have four more available actions:

  1. Go to the related document, such as a lead or a sale.
  2. Mark the activity as done.
  3. Edit the activity.
  4. Cancel the activity.
https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/activity_actions.png

In any tab, we can perform a search by typing a keyword in the search bar, such as the contact’s name or phone number.

https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/search.png

Also, the system allows to receive call. In that case, the system will try to find the related partner and will open the widget automatically.

https://raw.githubusercontent.com/OCA/connector-telephony/18.0/voip_oca/static/description/received_call.png

Known issues / Roadmap

The following options are interesting but are not implemented right now:

  • Allow to enable or disable the VOIP as a user (Login / Logout)
  • Create a call system where the calls are done automatically according to tasks

Not contempled behavior

We are not supporting setting two configuration for user. Not even a different configuration for company in the user.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Dixmit

Contributors

  • Dixmit:
    • Enric Alomar
    • Luis Rodríguez

Other credits

The development of this module has been financially supported by:

  • Associacion Española de Odoo (AEODOO)

The tones provided by default comes from Pixabay:

  • Ringback tone: Sound Effect by freesound_community from Pixabay
  • Call tone: Sound Effect by Jeremay Jimenez from Pixabay
  • Dial tone: Sound Effect by freesound_community from Pixabay

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

etobella

This module is part of the OCA/connector-telephony project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.