kalkun est une solution d’envoi et de réception de sms ; son utilisation permet de réduire les coûts d’envoi de SMS en nombre. L’installation est difficile pour un néophyte mais aisée pour un technicien habitué aux technologies de type LAMP.
L’utilisation de KALKUN permet de réduire les coûts d’envoi de SMS en nombre.
L’installation est difficile pour un néophyte mais aisée pour un technicien habitué aux technologies de type LAMP.
Prérequis
Coté serveur
Un ordinateur (poste de travail ou serveur)
Une clé 3G (cas présenté) ou un téléphone mobile
OS : Linux (cas présenté dans ce document), Windows ou MacOS
apache
PHP (mysql, json, php-cli)
MySQL version 5.x ou supérieure (ou SQLite3 ou PostgreSQ)
gammu-smsd
https://github.com/back2arie/Kalkun/
http://kalkun.sourceforge.net/
Flashplayer n’est pas indispensable
Coté client
Un navigateur moderne comme FIREFOX.
Préparation
Nous partirons d’une machine installée avec ubuntu serveur 14.04.
sudo apt-get -y install libapache2-mod-php5
sudo apt-get -y install mysql-server
sudo apt-get -y install php5-mysql
sudo apt-get -y install php5-json
sudo apt-get -y install php5-cli
sudo apt-get -y install usb-modeswitch gsm-utils
sudo apt-get -y install gammu
sudo apt-get -y install gammu-smsd
GAMMU
Détection de la clé 3G
sudo tail -f /var/log/syslog|grep -i ttyus
puis connecter la clé 3G avec une carte SIM active
kernel: [19588.142867] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
ModemManager[836]: (ttyUSB0): port attributes not fully set
la première ligne nous indique qu’un modem GSM est détecté.
Fichier de configuration de GAMMU
Ce fichier nous permettra de tester la clé 3G
gammu-detect > ~/gammurc
on obtient le fichier /gammurc
; Fichier de configuration généré par gammu-detect.
; Please check The Gammu Manual for more information.
[gammu]
device = /dev/ttyUSB0
name = Téléphone sur le port USB série Vodafone_Group__Huawei_Vodafone_Mobile_Broadband__Huawei_
connection = at
La section importante est celle portant le nom [gammu] les autres sections ne seront pas utilisées et peuvent être supprimées.
sudo gammu -c gammurc getsecuritystatus
[sudo] password for user:
En attente du PIN.
GAMMU est dans l’attente de la saisie du code PIN. Le paramètre entersecuritycode permet de saisir le code PIN.
sudo gammu -c gammurc entersecuritycode PIN 0000
ou
sudo gammu -c gammurc entersecuritycode PIN -
Enter PIN code :
sudo gammu -c gammurc getsecuritystatus
Rien à faire entrer.
Test de l’envoi d’un SMS
sudo gammu -c gammurc sendsms TEXT +33612345678 -text "test"
If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=132
Si vous recevez un SMS sur votre téléphone votre clé 3G est correctement configurée.
Cette première étape a permis de tester le bon fonctionnement de la clé 3G. Nous allons reprendre une partie des paramètres de GAMMU dans GAMMU-SMSD.
GAMMU-SMSD
GAMMU-SMSD est le service qui permet d’envoyer et de recevoir des SMS. Il utilise GAMMU pour la connexion à la clé 3G (ou téléphone mobile) c’est pourquoi il est très important d’avoir réalisé l’étape précédente avec succès.
GAMMU-SMSD enregistre l’ensemble des SMS envoyés et reçus dans la base de données choisie .
Fichier de configuration GAMMU-SMSD (/etc/gammu-smsdrc)
#Configuration file for Gammu SMS Daemon
#Gammu library configuration, see gammurc(5)
[gammu]
Please configure this!
port = /dev/ttyUSB0
connection = at
Debugging
#logformat = textall
gammucoding = utf8
[smsd]
PIN=0000
SMSC = +33689004000
runonreceive = /var/www/html/kalkun/scripts/daemon.sh
logfile = /var/log/gammu.log
commtimeout = 10
sendtimeout = 20
deliveryreport = sms
phoneid = mdsms
transmitformat = auto
inboxformat = standard
service = SQL
driver = native_mysql
database = kalkun
user = Utilisateur
password = MotDePAssMysql
pc = localhost
logfile = syslog
Increase for debugging information
debuglevel = 0
Paths where messages are stored
#inboxpath = /var/spool/gammu/inbox/
#outboxpath = /var/spool/gammu/outbox/
#sentsmspath = /var/spool/gammu/sent/
#errorsmspath = /var/spool/gammu/error/
Le SMSC change selon l’opérateur.
sudo service gammu-smsd stop
Stopping Gammu SMS Daemon gammu-smsd [fail]
sudo service gammu-smsd start
Starting Gammu SMS Daemon gammu-smsd [ OK ]
sudo service gammu-smsd status
gammu-smsd is running
Si le message « * gammu-smsd is not running » apparaît, vérifiez le fichier de configuration.
KALKUN
Installation
Si ce n’est pas déjà fait, configurez le PROXY du service
export http_proxy=http://proxyduservice:port
Puis téléchargez le code source de KALKUN dans
wget https://github.com/back2arie/Kalkun/archive/master.zip
sudo mv master.zip /var/www/html
cd /var/www/html/
sudo unzip master.zip
sudo mv Kalkun-master kalkun
Configuration de la base de données
Cette étape consiste a créer la base de données qui sera utilisée par GAMMU-SMSD et par KALKUN.
Connectez vous à MYSQL
mysql -uroot -p
Si le prompt « mysql> » apparaît, vous pouvez créer et configurer la base de données.
CREATE DATABASE kalkun
CREATE USER 'Utilisateur'@'localhost' IDENTIFIED BY 'MotDePAssMysql';
GRANT USAGE ON * . *
TO 'Utilisateur'@'localhost'
IDENTIFIED BY 'MotDePAssMysql'
WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON kalkun . * TO 'Utilisateur'@'localhost';
Adaptez utilisateur, localhost et MotDePassMysql suivant vos besoins. Il est impératif que ces paramètres soient correctement saisis dans /etc/gammu-smsdrc
Configuration de l’application KALKUN
sudo nano application/config/database.php
Si la base de données choisie est de type MYSQL, la section correspondante du fichier de configuration devrait ressembler à l’exemple suivant
// MySQL
$db['default']['username'] = "Utilisateur";
$db['default']['password'] = "MotDePassMysql";
$db['default']['database'] = "kalkun";
$db['default']['dbdriver'] = "mysql";
Il ne reste plus qu’à se connecter en mode WEB à l’application
http://IpduServeur/kalkun
suivre les instructions pour finaliser l’installation.
Interface web
Connexion
http://IpduServeur/kalkun
Interface
Etat du serveur
Si le serveur apparaît avec l’état Déconnecté, en rouge sur la page WEB , il faut le relancer.
sudo gammu -c gammurc entersecuritycode PIN -
sudo service gammu-smsd start
sudo service gammu-smsd status
Résultat
gammu-smsd is running
Format de fichier
Number
+33682977682
+33670432345
+33601042994
+33601058043
+33601082638
Insérer en début et en fin de fichier les numéros des personnes que l’on souhaites informer du bon déroulement de la procédure (SIDSIC, service concerné, ...)
Composition
Fichiers journaux
sudo tail -f /var/log/syslog |grep "Delivery report:"
Résultat :
Sep 13 09:10:16 sidsic-kalkun gammu-smsd[3592]: Delivery report: Pending to +33676728489
Sep 13 09:11:13 sidsic-kalkun gammu-smsd[3592]: Delivery report: Delivered to +33648278518
Sep 13 09:11:14 sidsic-kalkun gammu-smsd[3592]: Delivery report: Failed to +33647755077
Pending : en attente
Delivered : délivré
Failed : erreur