Il est possible de mettre en place un click-to-dial dans thunderbird, en combinant l'extension telify, un script personnalisé, et un petit CGI sur le serveur asterisk.
La première chose à faire est d'installer sur le serveur le CGI de callback comme expliqué sur cette page.
Dans le server-manager, sur le panel Informations Utilisateurs, il faut remplir pour tous les utilisateurs le champs Téléphone Interne (qui sera mappé dans l'attribut extensionNumber dans l'annuaire LDAP). Une fois dans l'annuaire LDAP, ce champs sera passé au script CGI par LemonLDAP::NG (qui récupère le champ LDAP à l'ouverture de session) et permettra de connaitre le numéro de l'utilisateur qui appel (c'est ce numéro qui sera composé par asterisk avant de le mettre en relation avec le numéro du destinataire)
Il faut installer l'extension telify dans votre Thunderbird.
l'extension Telify est aussi disponible pour Firefox.
Il faut maintenant créer un script qui sera exécuté lors de l'ouverture des liens de type callto: Placez ce script sur les postes client, par exemple dans C:\Program Files\asterisk\dialer.bat
set ndest=%1 set ndest=%ndest:callto:=% start https://callback.domain.tld/index.cgi?ndest=%ndest%
Ce petit bout de registre permet de déclarer le script créé plus haut comme handler pour les URI de type tel:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\tel] @="URL: CallTo Protocol" "EditFlags"=hex:02,00,00,00 "URL Protocol"="" [HKEY_CLASSES_ROOT\tel\DefaultIcon] @="\"C:\\Program Files\\NetMeeting\\conf.exe\",1" [HKEY_CLASSES_ROOT\tel\shell] [HKEY_CLASSES_ROOT\tel\shell\open] [HKEY_CLASSES_ROOT\tel\shell\open\command] @="C:\\Program Files\\asterisk\\dialer.bat %1"
Enjoy
Sous linux, le principe reste le même, mais le script et la gestion des URI callto:// change forcément
Voilà un petit script bash qui permettra d'appeler la page de callback (par ex : dialout.sh):
cat<<'EOF' > /usr/local/bin/dialout.sh #!/bin/bash num=$(echo $1 | perl -pe 's|callto:(///)?||') xdg-open https://callback.domain.tld/cgi-bin/index.cgi?ndest=$num EOF chmod +x /usr/local/bin/dialout.sh
Pour déclarer ce script comme prennant en charge les URI de type callto: sur le système, il vous faudra créer un fichier .desktop de ce type (par exemple dans /usr/share/applications/dialout.desktop ou ~/.local/share/applications/dialout.desktop)
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Encoding=UTF-8 Type=Application Name=Dialout GenericName=Dialout Comment=Click To Dial Terminal=false Categories=Internet StartupNotify=true MimeType=x-schema-handler/tel;x-schema-handler/callto;x-schema-handler/skype; Exec=/usr/local/bin/bin/dialout.sh %U
Une fois ce fichier en place, il faut mettre à jour la base de donnée:
sudo update-desktop-database
Faites un clique droit sur une URI callto: (dans un mail ou sur une fiche contact), puis sélectionnez “Ouvrir le lien dans le navigateur”, là, une fenêtre vous demandera quelle application prend en charge ce type de lien, vous n'avez qu'à enter /usr/bin/xdg-open et cocher la case “Toujours utiliser cette application”