Module Calling en

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


Module name Calling
Editor / Editeur Oscim -
Download or buy page / Page achat ou téléchargement
Status / Statut / Estado Stable
Prerequisites / Prérequis module_clicktodial Dolibarr min version 3.3.x   
Last update date / Date mise à jour fiche / Fecha última actualización 2024-05-6
Note / Nota


Provides support for monitoring phone calls (incoming and outgoing). An alert when an incoming call contains links to customer information and / or information known collaborator. Logging calls in sheets and in the third calendar


From the application

  • Download the archive file of module (.zip file)
  • Go on menu Home -> Setup -> Modules -> Deploy external module and submit the file.
  • Module is then visible into list of available modules (Home -> Setup -> Modules) and can be activated.


  • Download the archive file of module (.zip file)
  • Put the file into the root directory of Dolibarr.
  • Uncompress the archive file, for example with command
  • Module is then visible into list of available modules (Home -> Setup -> Modules) and can be activated.


To use this module, you must first enable it using an administrator account, via the menu option "Home - Setup - Modules".

Choose the tab where the module is listed. Then click on "Activate".

The module is now activated.

If a cog icon appears Cog circle.svg on module thumb or at end of the line of the module, click on it to access the setup page specific to the module.

This module enables and configures the module clicktodial dolibarr already present during the installation. Once installed and configured the module, you will need to combine dolibarr your service provider voip telephony.

Config clicktocall

This module natively in st dolibarr on the record of each user's internal dolibarr you have a tab clicktocall.Il is necessary to fill the login information (login / pass / tel), and the phone number used. url trigger click to call is not defined module calling, so do not change the configuration items clicktocall

Config link by SIP provider

Your choice of provider may limit the use of the module according to the API of the latter. This module comes with submodule to adjust it to your supplier. List of supplier supported to date:

- Keyyo : View -The API supports incoming and outgoing calls
- OVH : View  - The API supports outgoing calls
- OVH + @Asterisk : ovh extension module adds support outgoing calls through a PBX private.  Requires to install and configure a server asterisk - The API supports incoming and outgoing calls

Link in Agenda and action

Add an action in the dictionary "Action List" table llx_c_actioncomm to list the specific action to telephony;

- code : AC_TEL
- Libellé : Phone call
- type : system

This addition allows you to use the phone main menu button, which should limit the display to only telephony events.

Options module

Alert mode

This option allows you to manage the behavior when incoming calls;

- No popup notification and no notification, you can choose in this case the module sub NoRun notification module
- Only users are notified of the called station, only informs the user whose number is called.  This selection takes into account the extension configured on the user profile, and the line number specified in the tab clicktocall
- All user configured for clicktodial are notified
- All users are notified

behavior on the number of employees and the company

This option sets the behavior when an incoming call to an employee (including mobile number with are), internal call, call an external site.

- Ignore incoming calls numbers business users (pro / personal / mobile), no notification or record in shares
- Accept and notify unless the corresponding user

Information collaborator called

Display additional information about the employee actually called by a third party (based on the number of phone contact).

Creating card

In the case of incoming call, the number is not found in the database, a listing can be created, with the name of the phone number.

- No creation of card
- Create the third number of the caller
- Create a contact number of the caller

Anonymous Calls

Can create a form for anonymous calls.

Trace calls

Trace calls in actions / agenda dolibarr; You can disable this option.


Handling and use of this module is simple, given that it generated no specific action. clicktocall on the phone number you provide the ability to make calls in 1 click. Warning fax number, however, also found that with a click to call links. During an incoming call, depending on the configuration of the alert mode, you'll have a box showing the links to the contact card and / or the company trying to reach you. More calls are traced in the agenda.

Information Développement


Operation of the module is based on file "calling.php" at the root of public Dolibarr. That it is accessible via http. All calls to this module passes through the file, so that incoming calls outgoing. The module uses a table of additional data (llx_calling) to trace incoming calls, and the called user. Calling a folder is created in the Documents folder to store user specified javascript file.

Module in connection to api voip

It is possible to add and change modules to interact with APIs VOIP. modules provides a link provided to specific services if you use a different API, it will be necessary to create your own link module. File management module API must be called api_xxxx.php, where xxxx is the name of the service provider

Making a call

This connection uses the module ClicktoCall. It ensures the issuance of a call, which once launched will ring your phone, and that of the party you are calling. The use of clicktodial automatically complete the third action sheet / contact. For data storage, and display of the popup, a file is created in Documents / calling of Dolibarr. This file provides storage for temporary data.

Receiving a call

This section is a little more complex highly dependent on service by offering VOIP to which you have subscribed. The interception of calls, will not allow you to pick up your phone, but you will propose a popup dialog, providing you with the links to the third sheet / corresponding contact, if it exists in the database donnée.Dans otherwise it will be possible to create a third sheet / contact based on phone number. All incoming calls will complete the third action sheet. If unanswered call, the task will remain open. In the case of a call off hook, the stain will be closed.

Configuration api third

It will be necessary to operationalize the notification of incoming calls to specify a URL for api third notification, which must initiate this notification. Use the incoming URL, in your view configuration page. The latter being generated by a module API accurate to replace GET variables are specific to that provider.


Storing phone number database. To be extracted and recognized, it is desirable to use the nomenclature international / national numbers. 02 35 98 63 65 or 33 6 98 65 87 54 65 98 or 002 32 78

Configuration element asterisk

Configuring Asterisk server is full and complex, the possibilities are huge, so I encourage you to read the tutorial specialist. Remember however that the PBX are highly contested and those that can generate significant cost if your server does this hack or is misconfigured, given that it is a gateway to the telephone network, and these rates vary (mobile, call overtaxed, international, etc. ..). For my own part, I use asterisk in the management of incoming calls, outgoing calls exploiting API ovh via click to call. Dolibarr calling module is designed to asterisk in this direction.

Fichier extensions.conf

following configuration elements start from the premise that you have installed an asterisk functional and configured your connection with your provider. It merely bring the basics to intercept incoming call and notification to Dolibarr. He must return at the same time to sip your line.

Context incoming call
; appel entrant via numero provider
  exten => _X.,1,NoOp()
  exten =>  _X.,n,Set(__DOLI_CALLER=${CUT(CUT(SIP_HEADER(From),@,1),:, 2)})
  exten =>  _X.,n,Set(__DOLI_CALLE=${CUT(CUT(SIP_HEADER(To),@,1),:, 2)})

exten =>  _X.,n,Goto(dolibarr_notification,s,1)
Context macro-notification
; Doli
; macro pour event CONNECT
exten => s,1,SET(${CURL(http://votreserveur/calling/calling.php?account=${EXTEN}&caller=${DOLI_CALLER}&callee=${DOLI_CALLE}&type=CONNECT&callref=${DOLI_CALLER}&version=1)})
Context notification
; Doli
; Process
; put notif SETUP
exten => s,1,SET(CALLERID(name)=${CURL(http://votreserveur/calling/calling.php?account=${USERNAME}&caller=${DOLI_CALLER}&callee=${DOLI_CALLE}&type=SETUP&callref=${DOLI_CALLER}&version=1)})
exten => s,n,Answer()
; option : r pour sonnerie d'attente
; option : e Execute "h" as the peer when this call ends
; option : t T transphert appelant / appelé
; option : M() Macro
; option S() raccorche apres x seconde
exten => s,n,Dial(SIP/votreposte, 60,etTrM(dolinotif))
; put notif RELEASE
exten => h,1,SET(CALLERID(name)=${CURL(http://votreserveur/calling/calling.php?account=${USERNAME}&caller=${DOLI_CALLER}&callee=${DOLI_CALLE}&type=RELEASE&callref=${DOLI_CALLER}&version=1)})
exten => h,2,Hangup(16)

Under Module incoming call notifications

The alert modules are modules that works in real time to inform you of incoming calls. He created a display featuring links to the customer record / contact, and possibly the employee initially called. Several modules are available in different contexts of use.

- Mod NoRun : Module example, to disable all JavaScript elements call notification
- Mod Simplejs : Module original notification via a popup (modal box jquery) in full screen.  Intended for use by a single user of Dolibarr.  Based on a recurring ajax call
- Mod Advancedjs : Module advanced reporting, providing a non-intrusive display (top right menu link, and incoming call details click on the link).  Operated mutli-user context.  Based on a recurring ajax call.
- Mode Nodejs :  Module advanced notification, it is identical in terms of display module Advancedjs, but operates a complementary nodejs @ server to push information to the customer Dolibarr.  There is no recurring ajax call.  It requires a dedicated server, nodejs installed.  and the servelet provided in the package

Submodule nodejs pre-requisite

This module exploits in technology node.js. It is therefore necessary that the server that hosts dolibarr, nodejs be installed. Otherwise, the client submodule dolibarr not work.

Servelet Nodejs

the configuration possibilities are numerous, we will present a basic installation quickly with these pre-requisite for this servelet. extract the zip nodejsd in your / var / nodejs script execution call index.js

Simply launch

 node /var/nodejs/index.js

for the script starts. If you connect to your dolibarr (with nodejs client module enabled), you will see the server will inform the connection of your user id. To start your production servelet used the famous "&" so that your servelet does not cut it when you log out of ssh.

 node /var/nodejs/index.js & 

Once installed and configured your servelet (see config.js file), go to the Control Panel module calling dolibarr, enable the module nodejs, then specify the url and port of your servelet


It is possible to modify this behavior with module named alert_xxx.php