Module Calling
Informations
Module name | |
Editor / Editeur | Oscim - oscim.fr |
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 Dolibarr max version: {{{maxversion}}} |
Last update date / Date mise à jour fiche / Fecha última actualización | 2013-03-31 |
Note / Nota |
Vocation
Assure la prise en charge du suivi des appels téléphonique( appels entrant et sortant).
Une alerte lors d'appel entrant contenant les liens vers les informations clients et/ou les informations du collaborateur appelé. Historisation des appels dans les fiches de tiers et dans l'agenda
Installation
Depuis l'application
- Avec un compte ayant le profil "administrateur", aller dans le menu Accueil - Configuration - Modules - Déployer un module externe.
- Soumettez le fichier zip. Le module sera déployé est prêt pour l'étape suivante d'activation.
Manuellement
Si la méthode précédente a été désactivée par votre hébergeur, en voici une autre:
- Télécharger le fichier archive du module (fichier .zip)
- Placer le fichier dans le répertoire racine de dolibarr.
- Decompressez le fichier, par exemple par la commande
unzip fichiermodule.zip
- Le module est alors visible dans la liste des modules (Accueil -> Configuration -> Modules) et activable.
Configuration
Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, aller sur la page "Accueil - Configuration - Modules".
Choisissez l'onglet dans lequel apparaît le module puis cliquez sur "Activer".
Le module est alors activé.
Si un pictogramme apparaît sur la vignette ou à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.
Ce module active et configure le module clicktodial de dolibarr déjà present lors de l'installation
Utilisation
Une fois installé et configuré le module, il vous sera nécessaire de coupler dolibarr à votre fournisseur de service de téléphonie en voip.
Le choix de votre fournisseur peut limiter l'usage du module en fonction de l'api de ce dernier. Ce module est fourni avec des sous module permettant d'ajuster celui-ci à votre fournisseur. Liste des fournisseur supporté à ce jour:
- Keyyo : Voir keyyo.fr - L'api supporte les appels entrant et sortant - OVH : Voir Ovh.fr - L'api supporte les appels sortant - OVH + @Asterisk : extension du module ovh, ajoute la prise en charge des appels sortant par l’intermédiaire d'un pbx privé. Necessite d'installer et configurer un serveur asterisk - L'api supporte les appels entrant et sortant
Information Développement
Généralités
Le fonctionnement du module s’appuie sur un fichier "calling.php" à la racine public de dolibarr. Celui ci est donc accessible via http. Tous les appels de ce module transite par ce fichier, tant les appels entrant que les sortant. Le module utilise une table de donnée supplémentaire (llx_calling ) afin de tracer les appels entrant, et l'utilisateur appelé. Un dossier calling est crée dans la dossier Documents afin de stocker des fichier javascript spécifique par utilisateur.
Sous Module de liaison vers api de voip
Il est possible d'ajouter et modifier les modules d'interaction avec les api de VOIP. les modules fournis assure une liaison vers des services precis, si vous utiliser une autre api, il sera necessaire de créer votre propre module de liaison.
Le fichier d'un module de gestion d'api doit être nommé api_xxxx.php , ou xxxx représente le nom du fournisseur du service
Émission d'un appel
Cette liaison exploite le module ClicktoCall. Il assure l’émission d'un appel , qui une fois lancé fera sonner votre téléphone, et celui de l'interlocuteur que vous appelez. L'utilisation du clicktodial complétera automatiquement la fiche action du tiers/contact.
Pour la conservation des données, et l'affichage du popup, un fichier est créer dans Documents/calling de dolibarr. Ce fichier assure le stockage des données temporaire.
Réception d'un appel
Cette section un peu plus complexe sera très dépendante des service offert par l'offre de VOIP à laquelle vous avez souscrit.
L'interception des appels, ne vous permettra pas de décrocher votre téléphone, mais vous proposera un popup de dialogue, vous fournissant le liens vers la fiche Tiers/contact correspondante, si celle ci existe dans la base de donnée.Dans le cas contraire, il sera possible de créer une fiche de tiers/contact basé sur le numéro de téléphone.
Tous appel entrant viendra compléter la fiche action du tiers. En cas d'appel non répondu, la tache restera ouverte. Dans le cas d'un appel décroché, la tache sera clôturé.
Configuration de l'api tiers
Il sera nécessaire pour rendre opérationnel la notification des appels entrant de préciser une URL de notification pour l'api tiers, qui doit initier cette notification. Utiliser l' URL entrant , afficher dans votre page de configuration . Celle ci étant générer par le module d'une api précise, les variables GET a remplacer, sont spécifique à ce fournisseur.
Note
- Stockage des numéro de téléphone en base de donnée. Pour pouvoir être extrait et reconnu, il est souhaitable d'utiliser la nomenclature international / national des numéros. 02 35 98 63 65 ou 33 6 98 65 87 54 ou 002 65 98 32 78
Élément de configuration d'asterisk
La configuration d'asterisk reste un serveur complet et complexe, les possibilité sont énorme, aussi, je vous encourage a consulter les tuto spécialisés. N'oubliez toutefois pas que les PBX sont très fortement attaqué, et que ceux si peuvent générer des coût important si votre serveur ce fait hacké ou est mal configurer, compte tenu qu'il est une passerelle vers le réseau téléphonique, et ces tarif variant (mobile, appel surtaxé, international, etc..). Pour ma part, je n'utilise asterisk que dans la prise en charge des appels entrants, les appels sortant exploitant l'api d'ovh via le click to call. Le module dolibarr calling d'asterisk est conçut en ce sens.
Fichier extensions.conf
les éléments de configuration suivant parte du principe que vous avez installé un asterisk fonctionnel, et configuré votre liaison avec votre provider. Il ne font qu'apporter les éléments de base pour l’interception des appel entrant et la notification vers dolibarr. Il doivent renvoyer en même temps vers votre ligne sip.
Context appel entrant
; appel entrant via numero provider [process_entrant] 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)}) ; REDIRECTION exten => _X.,n,Goto(dolibarr_notification,s,1)
; Doli ; macro pour event CONNECT [macro-dolinotif] 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)})
; Doli ; Process [dolibarr_notification] ; 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)
Sous Module des notifications d'appel entrant
Les modules d'alerte, sont les modules qui travaille en temps réel afin de vous informer des appels entrant. Il créer un affichage proposant les liens vers la fiche client/contact, et éventuellement celle du collaborateur initialement appelé. Plusieurs modules sont disponible en fonction des contextes d'utilisation.
- Mod NoRun : Module d'exemple, permettant de désactiver tout éléments JavaScript de notification des appels - Mod Simplejs : Module original de notification via un popup (modale box jquery) en pleine page. Destiné à l'usage d'un utilisateur unique de dolibarr. Basé sur un appel récurent en ajax. - Mod Advancedjs : Module de notification avancé, assurant un affichage non intrusif (lien menu haut droit, et détail appel entrant au click sur le lien). Exploité en contexte mutli-utilisateurs. Basé sur un appel récurent en ajax. - Mode Nodejs : Module de notification avancé, il est identique en terme d'affichage au module Advancedjs, mais exploite un serveur @nodejs complementaire afin de pousser les informations vers les client dolibarr. Il n'y a aucun appel récurent en ajax. Il nécessite un serveur dedié, nodejs installé. le servelet et fourni dans le paquet.
Sous module Nodejs pre-requis
Ce sous module exploite la technologie node.js. Il est donc nécessaire que votre serveur qui héberge dolibarr, soit installé nodejs. Sans quoi, le sous module client de dolibarr ne fonctionnera pas.
Servelet Nodejs
les possibilité de configuration étant nombreuses, nous allons détailler rapidement une installation de base avec ces pre-requis pour ce servelet. extraire le zip nodejsd dans votre dossier /var/nodejs
le script d’exécution s'appel index.js
Il vous suffit de lancer
node /var/nodejs/index.js
pour que le script démarre. Si vous vous connecter à votre dolibarr (ayant activé le module client Nodejs), vous verrez alors le serveur vous informer le la connexion de l'id de votre utilisateur.
Pour lancer en production votre servelet, utilisé le fameux "&", soit
node /var/nodejs/index.js &
afin que votre servelet ne ce coupe pas lorsque vous vous déconnecterez du ssh.
Note
Il est possible de moduler ce comportement avec des module nommé alert_xxx.php