Changes

m
no edit summary
Line 1: Line 1:  +
<!-- BEGIN interlang links -->
 +
<!-- Do NOT edit this section
 +
    Links below are automatically managed by PolyglotBot
 +
    You can edit links on the English source page : Module_Calling_en -->
 +
[[en:Module_Calling_en]]
 +
<!-- END interlang links -->
 +
 +
[[Category:CTI]]
 
[[Category:Modules complémentaires]]
 
[[Category:Modules complémentaires]]
[[Category:Prélèvements bancaires]]
   
{{TemplateDocDev}}
 
{{TemplateDocDev}}
 
{{TemplateDocUtil}}
 
{{TemplateDocUtil}}
 
= Informations =
 
= Informations =
 
{{TemplateModuleInfo
 
{{TemplateModuleInfo
 +
|modulename=Calling
 
|editor=Oscim  
 
|editor=Oscim  
|web= oscim.fr
+
|web= http://oscim.fr
 +
|webbuy = http://www.dolistore.com/
 
|status=stable
 
|status=stable
|prerequisites= module_clicktodial
+
|prerequisites=module_clicktodial
|minversion=3.3.x
+
|minversion=3.2.x
 
|note=
 
|note=
 
}}
 
}}
Line 25: Line 34:  
{{ActivationModuleFr}}
 
{{ActivationModuleFr}}
   −
Ce module active et configure le module clicktodial de dolibarr déjà present lors de l'installation
+
Ce module active et configure le module clicktodial de dolibarr déjà présent lors de l'installation.
 +
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.
 +
 
   −
= Utilisation =
+
== Configuration du clicktocall ==
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.
+
Ce module est natif dans dolibarr, sur la fiche de chaque utilisateur interne de dolibarr vous avez un onglet clicktocall.Il est nécessaire de renseigner les informations de connexion (login/pass/tel), et le numéro de téléphone utilisé.
 +
l'url de déclenchement du click to call est défini pas le module calling, aussi il ne faut pas modifié les éléments de configuration du clicktocall
    +
== Configuration de la liaison avec votre provider de SIP ==
 
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.
 
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:
 
Liste des fournisseur supporté à ce jour:
Line 35: Line 48:  
  - Keyyo : Voir keyyo.fr - L'api supporte les appels entrant et sortant
 
  - Keyyo : Voir keyyo.fr - L'api supporte les appels entrant et sortant
 
  - OVH : Voir Ovh.fr  - L'api supporte les [[appels 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
+
  - OVH + @Asterisk : extension du module ovh, ajoute la prise en charge des appels sortant par l’intermédiaire d'un pbx privé. Nécessite d'installer et configurer un serveur asterisk - L'api supporte les appels entrant et sortant
 +
 
 +
 
 +
== Liaison Agenda et action ==
 +
 
 +
Ajouter une action dans le dictionnaire "liste des action" de la table llx_c_actioncomm, afin de lister les actions spécifique à la téléphonie;
 +
 
 +
- code : AC_TEL
 +
- Libellé : Phone call
 +
- type : system
 +
 
 +
Cet ajout vous permet d'exploiter le bouton du menu principal téléphonie, qui devrait limiter l'affichage aux seuls événements de téléphonie.
 +
 
 +
== Les options du modules ==
 +
 
 +
===le mode d'alerte ===
 +
 
 +
Cette option vous permet de gérer le comportement lors des appels entrant;
 +
 
 +
- Pas de notification en popup;  aucune notification , vous pouvez dans ce cas choisir le module norun des sous module de notification
 +
- Seul les utilisateurs du poste appelé sont notifiés; n'informe que l'utilisateur dont le numéro est appelé. cette sélection prend en compte le numéro de poste configuré sur la fiche utilisateur, et le numéro de ligne défini  dans l'onglet clicktocall
 +
- Tous les utilisateur configuré pour le clicktodial sont notifiés
 +
- Tous les utilisateurs sont notifiés
 +
 
 +
=== comportement sur les numéro des collaborateurs et de l'entreprise ===
 +
Cette option règle le comportement lors de l'appel entrant d'un collaborateur (y compris avec sont numéro de mobile), appel interne, appel d'un site externe.
 +
 
 +
- Ignorer les appels entrant des numéros utilisateurs de l'entreprise (pro/perso/mobile); aucune notification ni trace dans les actions
 +
- Accepter et notifier sauf l'utilisateur correspondant
 +
 
 +
=== Information du collaborateur appelé ===
 +
Affichage d'information complémentaire sur le collaborateur réellement appelé par un tiers (basé sur le numero de téléphone contacté).
 +
 
 +
 
 +
 
 +
=== Création de fiche ===
 +
Dans le cas d'appel entrant, dont le numéro n'est pas trouvé dans la base de donnée, une fiche peut être créer, avec comme nom le numéro de téléphone.
 +
 
 +
- Pas de création de fiche
 +
- Créer un tiers avec le numéro de l'appelant
 +
- Créer un contact avec le numéro de l'appelant
 +
 
 +
=== Appel Anonyme ===
 +
Peut créer une fiche pour les appels anonyme.
 +
 
 +
=== Trace les appels ===
 +
Tracer les appels dans les actions/agenda de dolibarr; Vous pouvez désactiver cette option.
 +
 
 +
=== Utilisateur appel entrant ===
 +
Pour gérer correctement la liaison dans les événement, il est nécessaire d'ajuster le choix de l'utilisateur à qui sera affecté l'action . Il est souhaitable d'ajouter un utilisateur a cette fin.
 +
 
 +
= Utilisation =
 +
 
 +
La manipulation et l'utilisation de ce module reste simple, compte tenu qu'il ne généré pas d'action particulières. le clicktocall sur les numéro de téléphone vous assure la possibilité de lancer des appels en 1 clic. ''Attention toutefois les numéro de fax ce retrouvent aussi avec un liens de click to call''.
 +
 
 +
Lors d'un appel entrant, en fonction de la configuration du mode d'alerte, vous aurez une boite affichant le liens vers la fiche du contact et/ou de la société qui cherche à vous joindre. De plus les appels sont tracés dans l'agenda.
    
= Information Développement  =
 
= Information Développement  =
Line 63: Line 131:  
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é.
 
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====
+
==== 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.
 
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.
    +
PS: pour forcer la langue utiliser dans les éléments inséré du calendrier, ajouter le paramètre GET "lang=fr_FR"  à l'url précisé chez votre fournisseur
 
===Note===
 
===Note===
 
- Stockage des numéro de téléphone en base de donnée.
 
- Stockage des numéro de téléphone en base de donnée.
Line 73: Line 142:       −
== Sous Module de gestion d'affichage du popup de dialogue ==
+
=== Élément de configuration d'asterisk ===
Le module fourni, nommé simplejs , gére un affichage du popup; Il est effectuer par un appel js,avec un timeout .
+
 
 +
La configuration d''''asterisk''' reste un serveur '''complet et complexe''', les possibilité sont énorme, aussi, je vous encourage à 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 hacker ou est mal configuré, compte tenu qu'il est une passerelle vers le réseau téléphonique, et ces tarifs 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  =====
 +
<pre>
 +
; 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)
 +
</pre>
 +
 
 +
===== Context macro-notification  =====
 +
<pre>
 +
; 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)})
 +
</pre>
 +
 
 +
===== Context notification  =====
 +
<pre>
 +
; 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)
 +
</pre>
 +
 
 +
== 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
 +
<pre>
 +
node /var/nodejs/index.js</pre>
 +
 
 +
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 "&", afin que votre servelet ne ce coupe pas lorsque vous vous déconnecterez du ssh.
 +
 
 +
<pre> node /var/nodejs/index.js & </pre>
 +
 
 +
 
 +
Une fois installé et configuré votre servelet (voir fichier config.js), aller dans le panneau de configuration du module calling de dolibarr, activer le module nodejs, puis preciser l'url et le port de votre servelet
    
===Note===
 
===Note===
 
Il est possible de moduler ce comportement avec  des module nommé alert_xxx.php
 
Il est possible de moduler ce comportement avec  des module nommé alert_xxx.php
 +
 +
 +
 +
 +
 +
= Fix Version / Note version =
 +
== 1.2.7 ==
 +
- Check process for Dolibarr 3.5.3
 +
- Fix link vs calendar in dolibarr
 +
- Fix translate for incoming calls
 +
- Fix advancedjs plugin for dispay popup , based on html dolibarr structure
 +
- Fix calulate duration call
 +
- Fix other bugs
 +
- Add translation for turck (tr), Neederalnd (ne), danmerak (da)
 +
 +
== 1.2.4 ==
 +
- Check process for Dolibarr 3.4.1
 +
- Fix display popup for all incoming  calls
 +
 +
== 1.2.3 ==
 +
- Check and Fix process for Dolibarr 3.4.0
 +
- Add user for manipulate calendar and  incoming/outgoing calls