Salut

Le 18 octobre 2012 13:39, seydina issa paté <[email protected]> a écrit :

> Merci, je vais essayer d'être le plus explicite possible.
>
> L'objectif est de ce travail est de tester le contenu d'un fichier, si le
> fichier a un contenu, le système démarre automatiquement un service de
> kannel, sinon le système ne fait rien !
>
> Voici la déclaration du service dans kannel.conf
>
> group = sms-service
>
> accepted-smsc = Huawei-E1552
>
> keyword = test
>
> catch-all = true
>
> exec = "/bin/commande.sh"
>
>
>  Voici le script commande.sh
>
> #! /bin/sh
>
>  #Ce code permet de rediriger la difference de cur et cur1 dans un
> fichier cur2
>
>
>  diff /home/seysade/Maildir/cur /home/seysade/Maildir/cur1 | sed
> 's/Seulement dans \/home\/seysade\/Maildir\/cur:
> //g'>/home/seysade/Maildir/cur2
>
>
>  while read line;
>
> do
>
> message=$line
>
> #Recuperation de la variable message
>
> # echo $message
>
> # Cette commande permet a kannel de trier la partie du fichier à envoyer
> par sms
>
> sed -n '/^Notif/,/^Addr/ p' /home/seysade/Maildir/cur/$message
>
> done < /home/seysade/Maildir/cur2
>
> Ce service marche correctement quand j'envoie à partir de mon portable
> « test », et j'ai le résultat attendu !
>
>
>  Problème :
>
> Au lieu d'envoie test à partir de mon portable j'aimerais que le système
> le fasse dès qu'il voit que le fichier /fome/seysade/Maildir/cur2 a un
> contenu. C'est pour cette raison que j'ai ecris le script ci-dessous
>
>
>  #! /bin/sh
>
>
>  diff /home/seysade/Maildir/cur /home/seysade/Maildir/cur1 >
> /home/seysade/Maildir/cur3
>
>
>  if test -s /home/seysade/Maildir/cur3
>
> then
>
> # Envoie du mot cle « test » par le système à kannel  !!!
>
> fi
>
> ------------ FIN --------------
>
>
>  Le blocage c'est au niveau du dernier script, je ne sais pas trop la
> manière de dire au système de déclencher le service pour que kannel puisse
> me repondre sur mon propre numéro !!!!!
>
>
> Soit c'est moi qui est vraiment trop null, (plus que je le suis deja
> :) , soit c'est toi qui est trop fort!
>
>
> http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html
>
> Running SMS gateway
> ___________________
>
> Using the HTTP interface to send SMS messages
>
> After you have configured Kannel to allow the sendsms service, you can
> send SMS messages via HTTP, e.g., using a WWW browser. The URL looks
> something like this:
>
> http://smsbox.host.name:13013/cgi-bin/sendsms?
> username=foo&password=bar&to=0123456&text=Hello+world
>
> Thus, technically, you make an HTTP GET request. This means that all the
> information is stuffed into the URL. If you want to use this often via a
> browser, you probably want to make an HTML form for this.
>
> Kannel will answer to sendsms request with following codes and body texts:
>
> Table 7-15. SMS Push reply codes
> Status    Body    Meaning
> 202    0: Accepted for delivery    The message has been accepted and is
> delivered onward to a SMSC driver. Note that this status does not ensure
> that the intended recipient receives the message.
> 202    3: Queued for later delivery    The bearerbox accepted and stored
> the message, but there was temporarily no SMSC driver to accept the message
> so it was queued. However, it should be delivered later on.
> 4xx    (varies)    There was something wrong in the request or Kannel was
> so configured that the message cannot be in any circumstances delivered.
> Check the request and Kannel configuration.
> 503    Temporal failure, try again later.    There was temporal failure in
> Kannel. Try again later.
>
>
>
> 1 .Alors puisque  nous savons que Kannel peut recevoir une
> demande d'envoi de SMS via HTTP , je pense que ton probleme
> est resolue :
>
>
> Ton Probleme
> ____________
> Problème :
> Au lieu d'envoie test à partir de mon portable j'aimerais que le système
> le fasse dès qu'il voit que le fichier /fome/seysade/Maildir/cur2 a
> un contenu. C'est pour cette raison que j'ai ecris le script ci-dessous
>
>
> Solution
> ________
> 1. Il faut tester si le fichier existe et que il n'es pas vide
> 2. Il faut envoyer a kannel la la liste trié (s'il vous plait :))
>    qu'ils doit envoyer  par SMS
>    -Supposons que ton fichier contient
>
>    MonFichier.txt
>    Numero   , Text_A_Envoyer
>    77777777 , Hello are you fine
>
>
> Tu fais juste:
>
> # Debut Code
>
> kannel_url ="http://smsbox.host.name:13013/cgi-bin/sendsms?
> username=foo&password=bar&to=%s&text=%s
> import os
> import urllib
>     while True:
>         if os.path.exists("MonFichier.txt"):
>             with open("MonFichier.txt") as fichier:
>                 lines  = fichier.readlines()
>                 while lines:
>                     number, text =lines.pop()
>                     try:
>                        status = urllib.urlopen(
>                         kannel_url%{ "to":number, "text":text })
>                     except:
>                                # il y'a un erreur gere la ici
>                     else:
>                        # 202    0: Accepted for delivery
>                        # The message has been accepted and is delivered
>                        # onward to a SMSC driver. Note that this status
> does not
>                        # ensure that the intended recipient receives the
> message.
>
>
>
> # Fin Code
>
> Je ne pense pas que tu es  besoin de faire du shell il est trop
> puissant pour ce que tu veux faire
>
> --Ad
>
>
>
>
--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org

Répondre à