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.
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:
Theoretically, it should work with
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…
…and the bottom widget will be opened.
The widget can be hidden by clicking on the top bar.
Clicking the top bar of the widget again will make it reappear.
We can make a call in 2 ways:
- 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
- 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:
- 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.
- 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.
- 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:
- Send an email to the partner.
- Access the partner’s form in Odoo.
- Schedule an activity.
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.
Additionally, if we access a contact through the activity section, we
have four more available actions:
- Go to the related document, such as a lead or a sale.
- Mark the activity as done.
- Edit the activity.
- Cancel the activity.
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.
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.
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.