Publié dans Kannel

Interfacer kannel avec drupal


Pour terminer l’année en beauté on va montrer comment interfacé Kannel avec Drupal.L’objectif de cet article est de permettre l’envoi d’un simple SMS à partir d’une interface web en utilisant un CMS Open-source ( Drupal )   😉  .Techniquement on fera du Push et cela suppose que vous avez déjà configurer votre Kannel et que vous avez aussi bien installer votre drupal.Enfin il existe un petit nombre de module déjà existant pour interfacer kannel et drupal mais cet article va tenter de vous apportez quelques connaissances  nécessaire pour  la création de votre propre module répondant à un besoin spécifique.Et j’espère qu’il  répondra à vos besoins 😉

Prérequis

        • Installer Drupal 6.22
        • Serveur Kannel Fonctionnel
        • Quelques connaissances en PHP 🙂
        • Systeme d’exploitation Linux ou Windows

Création du module

Notre module s’appellera drupalsms vous pouvez mettre un nom arbitraire cela dépend uniquement de vous 😉

Première Étape

      • Créer un dossier drupalsms dans le dossier de  Drupal
      • mkdir sites/all/modules/drupalsms
      • Créer deux fichiers dans le dossier drupalsms
      • Touch drupalsms.info drupalsms.module

dans le premier fichier  on mettra le nom ,la description du module et on définira ainsi le version du drupal qu’il utilise et dans la deuxième on mettra le code.pour plus d’information sur comment créer un module veillez consulter la documentation fourni par le site officiel: creer un module drupal

Deuxième Étape

    • Editez le fichier drupalsms.info
name = drupalsms
description = push sms with drupal
core = 6.22
  • Editez le fichier drupalsms.module
<?php
//Créer un petit menu qui va gérer notre application
function drupalsms_menu() {
$items=array();

$items['admin/drupalsms']= array(
'title' => 'Drupal SMS',
'description' => 'Push SMS service',
'page callback' => 'drupal_get_form',
'page arguments' => array ('drupalsms_send'),
'access arguments' => array('drupalsms send '),
);
return $items;
}

//le formulaire pour recuper le numéro du destinataire et le texte a envoyé
function drupalsms_send() {
//Champ pour recuperer le Numero
$form['user_num']=array(
'#type' => 'textfield',
'#title' => t('Numero'),
'#description'  => 'Numero  du users',
'#required' => TRUE,
);
//Champ Pour ecrire le message
$form['texte_sms']=array(
'#type' => 'textarea',
'#title' => t('Message'),
'#description' => 'Champ texte pour envoi du message',
'#required' => TRUE,
);

//creer le boutton submit
$form['envoi_sms']=array(
'#type' => 'submit',
'#value' => t('Envoi'),
);
return $form;
}

Function drupalsms_send_submit($form,&$form_state){
//récupérer le Numero du formulaire
$Num=$form_state['values']['user_num'];
//récupérer le texte à envoyer en remplaçant les espaces par des ”+”
$Text=str_replace(' ','+',$form_state['values']['texte_sms']);
//definition du login et du password
$login="tester";
$pass="foobar";
//envoi du message à partir de kannel
$url="http://localhost:13013/cgi-bin/sendsms?username=$login&password=$pass&to=$Num&text=$Text";
file($url);
}

?>

Troisiéme Etape

Si tout se passe bien jusqu’à cette étape donc on peut aller activer notre chère module qui doit être prêt à l’utilisation :). Allez consulter la liste des modules de votre drupal et vous devez avoir quelque chose qui ressemble à cette image

On peut activer et enregistrer … Et si tout est ok on peut aller visualiser notre petit module  🙂

Bon voila le travail  est fait 😉 la balle est dans votre camp maintenant :-p   alors à vos éditeurs et à vos imaginations 🙂 .vous pouvez télécharger aussi le dossier drupalsms ici .Bonne fête de fin d’année à tous 😉

PS:en bonus je vous suggère d’utiliser Geany c’est un  « couteaux suisse »  pour un développeur 😉 .

Quelques liens utiles

Publié dans Kannel, Serveurs

Tester Kannel avec un Fakesmsc


Bon kannel c’est compliqué  il n’y a  pas beaucoup de modèle de téléphone compatible pour faire des testes voilà la chanson que j’attends tous les jours( venant des utilisateurs de rapidsms )  et maintenant c’est révolue 🙂 . Ce billet s’adresse à ceux qui ont déjà installer kannel, si ce n’est pas le cas alors suiver ce lien installation de kannel .bon a l’attaque!!!! 😉

Pre-requis

  • Installer kannel et bien configurer 😉

Ajouter la configuration de fakesmsc a kannel.conf

Ajouter un groupe au fichier kannel.conf

group=smsc
smsc = fake
smsc-id=smsctest
port =1000
connect-allow-ip =127.0.0.1

Démarrer le teste

Démarrer d’ abord votre Bearerbox et votre smsbox ensuite avec un autre terminal aller dans le dossier Gateway

Format: test/fakesmsc [-H host] [-r port] [-i interval] [-m max] <msg>

Exemple:

sudo  test/fakesmsc -r 1000 -i 0.1 -m 1 "1 2 text test"

comme vous le voyez on a des options avec fakesmsc

  • Host : c’est l’adresse du serveur définie au niveau du fichier de configuration par défaut c’est 100.100.100.100
  • Port : c’est le numéro de port définie au niveau du fichier de configuration part défaut c’est egale a 10000
  • Intervall :c’est le temps en seconde d’une génération de message
  • Max :c’est le nombre de message qu’on peut envoyer  par défaut c’est égal a -1 qui veut dire l’infinie 🙂
  • <msg> dans le message on définie deux numeros arbitraires le premier vas representer le recpeteur et l’autre l’emetteur  et ensuite on definie le type du message dans notre cas c’est text et enfin le mot cle du service suivie de ces options.

Source

Publié dans Kannel, Linux, Serveurs, Telecoms

Configuration de Kannel


Configuration et installation de Kannel

On va installer kannel et le configurer dans un but pédagogique. Donc ceci consiste à mettre en place un serveur qui permettra d’envoyer et de répondre à un sms automatiquement.

L’aspect théorique est laissé au soin du lecteur des liens seront mis en annexes pour les utilisateurs désirant approfondir leurs connaissances. Ce qui veut dire que seul l’aspect pratique sera  mise en exergue!

I.Installation

Allez sur le site de kannel et télécharger le paquet gateway (dans ce tutos le version 1.4.3 est utilisé)

et décompresse en tapant la commande «sudo tar xzvf Téléchargements/gateway-1.4.3.tar.gz »,compiler et installer

pour les novices voici les différentes commandes à taper

==>récupérer le paquet avec la commande wget

sudo wget http://kannel.org/download/1.4.3/gateway-1.4.3.tar.gz

==>décompresse le paquet avec la commande tar

 sudo tar xzvf  gateway-1.4.3.tar.gz

==>Se déplacer dans le répertoire de gateway-1.4.3

cd  gateway-1.4.3/

==> installons les dépendances de kannel les deux paquets libxml2 et libxml2-dev

sudo aptitude install libxml2-dev libxml2

==>maintenant nous pouvons compiler notre cher gateway

sudo ./configure

si tout est OK on continue

 sudo ./configure && sudo make

si tout est OK on continue et on l’installe

sudo make bindir=/usr/bin/kannel install

voilà ca devrait faire l’affaire notre serveur SMS est installé sans problème reste maintenant la configuration

II.Configuration

La configuration est assez simplement il nous faut un modem GSM(on utilisera un téléphone portable de marque NOKIA série 6230i comme modem GSM) et  également une clé bluetooth pour relier notre modem à l’ordinateur(vous pouvez aussi utiliser un câble ca ne gène pas)

en première lieu nous allons essayer d’établir une liaison série entre le modem et l’ordinateur en utilisant La technologie RFCOMM.

Ouvrons un terminal et lançons nous à la recherche de notre cher ami le modem mais avant tout veillez penser à activé le bluetooth sur votre portable

==>heureusement qu’on a des outils comme hcitools lançons la recherche !

 sudo hcitool scan

Scanning …

00:1E:E2:69:F4:5C €lw@n$

hohé suis la  !!!

si vous ne voyez pas le « hohé suis la »   redemander votre machine !

vous n ‘êtes pas sérieux quand même c’était une blague :-p

continuons notre …

==>notre cher modém est la tout heureux maintenant relions le à notre machine en utilisant RFCOMM

 sudo rfcomm connect 0 00:1E:E2:69:F4:5C 1

Connected /dev/rfcomm0 to 00:1E:E2:69:F4:5C on channel 1

Press CTRL-C for hangup

cela veut dire qu’on c’est connecté sur le device rfcomm0 dans le canal 1

tout se passe bien alors? bah oui! 🙂

Alors on a relié notre périphérie en liaison série avec notre machine il nous reste à configurer notre serveur.

Avant d’y aller faisons un petit tour au niveau des commandes AT et regardons si on peut testé notre chér modeme.

Installons minicom vous savez installer maintenant sinon on s’arrête là! 😉  bon pas de soucis pour les fainéants copier et coller!

sudo aptitude install minicom et attendre la fin de l’installation

toujours dans notre terminal tapez

sudo minicom -s pour configurer minicom avec notre modem

=>Aller dans configuration du port série tapez A

=>changer le Port série :/dev/xxx en /dev/rfcomm0

=>appuyer sur Entrer pour sauvegarder

=>sur Entre a nouveau pour sortir

=>aller dans Enregistrer config. sous dfl pour sauvegarder la configuration par défaut

=> Puis sortir

si tout est OK vous devriez avoir quelques du genre

Bienvenue avec minicom 2.4

OPTIONS: I18n

Compilé le Jan 25 2010, 06:49:09.

Port /dev/rfcomm0

Tapez CTRL-A Z pour voir l’aide concernant les touches spéciales

OK

Maintenant voyons si notre SIM est bien en place

tapez toujours de le même terminal AT+CPIN ? Entrer

AT+CPIN?

+CPIN: READY

OK

Voilà le résultat attendu donc tout est OK ! Je vous encourage à lire la documentation sur les commandes AT ils sont intéressantes et permettes de faire des choses extra…. si vous maitrisez python ou C/C++ je vous assure que leur combinaison fait des ravages!à bon entendeur …..  🙂

Revenons à nos moutons!c’était quoi encore ……haa OK!la fameuse configuration de kannel! 😉

Ouvrons un autre terminal et créer d’ abord le répertoire /etc/kannel

sudo mkdir /etc/kannel

Créons le fichier /etc/kannel/kannel.conf

sudo vim etc/kannel/kannel.conf

bon chacun y vas avec son éditeur favori  😉

le fichier de configuration se compose de 5 groupe voir 6

=>le premier est le groupe core

=>le second le groupe smsc

=>le troisième est le smsbox

=>le quatrième est le sendsms-user

=>le cinquième est le sms-service

=>le sixième est le modems

voilà notre fichier de configuration toute préte

#-------------------------------------------------------

#CORE

group = core

admin-port = 13000

admin-password = bar

smsbox-port = 13001

log-file = « /var/log/kannel/bearerbox.log »

log-level=1

access-log = « access.log »

log-level=1

unified-prefix = « 00221,+221,00 »

bearerbox-host = localhost

#———————————————

# SMSBOX SETUP

group = smsbox

bearerbox-host = localhost

sendsms-port = 13013

sendsms-url = « /cgi-bin/sendsms »

global-sender = 13013

sendsms-chars = « 0123456789 +- »

log-file = « /tmp/smsbox.log »

log-level = 0

access-log = « access.log »

#———————————————

# SMSC CONNECTIONS

group = smsc

smsc=at

modemtype=nokiaphone

host = localhost

device=/dev/rfcomm0

speed=9600

validityperiod =167

#———————————————-

#MODEM

group = modems

id = nokiaphone

name = « Nokia Phone »

detect-string = « Nokia Mobile Phone »

need-sleep = true

enable-mms = true

#———————————————

# SEND-SMS USERS

group = sendsms-user

username = tester

password = foobar

max-messages = 3

concatenation = true

#user-deny-ip = « *.*.*.* »

user-allow-ip = « *.*.*.* »

#———————————————

# SERVICES

group = sms-service

keyword = test

text = « test kannel is valide! »

******FIN DU FICHIER DE CONFIGURATION******

Telecharger le fichier ici

III.Test

maintenant tout est fin prés démarrons notre serveur!;)

++ouvrons un terminal

sudo /usr/local/sbin/bearerbox  /etc/kannel/kannel.conf

++ouvrir un autre terminal

 sudo /usr/local/sbin/smsbox  /etc/kannel/kannel.conf


Envoyer un sms depuis votre navigateur

ouvrer votre navigateur favori et go ahead...;-)

remplacer le « x » par le numéro de destinataire
en partant de la on peut s’imaginer une interface propre écrite dans votre langage préféré(python,php,java…..) pour envoyer des messages