informatique:reseau:messagerie:passerelle_sms

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:reseau:messagerie:passerelle_sms [2012/07/31 08:49] – [Installation et configuration d'usb-modeswitch] bn8informatique:reseau:messagerie:passerelle_sms [2012/11/16 14:41] (Version actuelle) – [Mettre en place la passerelle mail -> SMS] bn8
Ligne 12: Ligne 12:
 Nous utiliserons une clé USB 3G **Huawei K4511** dans ce test. Ce type de clé ont deux mode d'utilisation : Nous utiliserons une clé USB 3G **Huawei K4511** dans ce test. Ce type de clé ont deux mode d'utilisation :
  
-un mode proposant à l'ordinateur sur lequel il est connecté, un lecteur CD virtuel contenant le logiciel d'installation Windows de la clé +  * un mode proposant à l'ordinateur sur lequel il est connecté, un lecteur CD virtuel contenant le logiciel d'installation Windows de la clé 
-un second mode proposant un modem GSM que nous voulons utiliser+  un second mode proposant un modem GSM que nous voulons utiliser
  
 Par défaut, lorsque l'on connecte la clé USB à la machine, celle-ci est en mode "CD virtuel". Pour basculer dans le mode //modem GSM//, nous allons utiliser l'outil //usb-modeswitch// qui s'en occupera. Par défaut, lorsque l'on connecte la clé USB à la machine, celle-ci est en mode "CD virtuel". Pour basculer dans le mode //modem GSM//, nous allons utiliser l'outil //usb-modeswitch// qui s'en occupera.
Ligne 39: Ligne 39:
  
 <note important>En fonction de votre clé, il sera peut-être nécessaire d'installer un kernel Linux plus récent pour que le module **option** (driver USB GSM modem) supporte votre clé. Si le switching fonctionne (les ID vendeur et produit changent bien) mais que le périphérique n'est pas reconnu pas le module //option//, vous pouvez tenter de le faire détecter comme ceci : <code>echo 12d1 14cc > /sys/bus/usb-serial/drivers/option1/new_id</code> <note important>En fonction de votre clé, il sera peut-être nécessaire d'installer un kernel Linux plus récent pour que le module **option** (driver USB GSM modem) supporte votre clé. Si le switching fonctionne (les ID vendeur et produit changent bien) mais que le périphérique n'est pas reconnu pas le module //option//, vous pouvez tenter de le faire détecter comme ceci : <code>echo 12d1 14cc > /sys/bus/usb-serial/drivers/option1/new_id</code>
-Observer ensuite le résultat dans les logs du kernel et si cela fonctionne vous pouvez automatiser cela via une règle //UDEV// de cette manière : <code>echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="14cc", RUN="/usr/local/bin/detect_usb_key"' > /etc/udev/rules.d/99-usbkey.rules +Observer ensuite le résultat dans les logs du kernel et si cela fonctionne vous pouvez automatiser cela via une règle //UDEV// de cette manière : <code>echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="14cc", RUN="/usr/local/sbin/detect_usb_key"' > /etc/udev/rules.d/99-usbkey.rules 
-echo  -e '#!/bin/bash\nmodprobe option\necho "12d1 14cc" > /sys/bus/usb-serial/drivers/option1/new_id' > /usr/local/bin/detect_usb_key +echo  -e '#!/bin/bash\nmodprobe option\necho "12d1 14cc" > /sys/bus/usb-serial/drivers/option1/new_id' > /usr/local/sbin/detect_usb_key 
-chmod 755 /usr/local/bin/detect_usb_key</code>+chmod 755 /usr/local/sbin/detect_usb_key</code>
 </note> </note>
 +
 +==== Cas particulier : Huawei E3131 ====
 +
 +Comme pour une clé **Huawei K4511**, il faut tout d'abord utiliser //usbmodswitch// pour basculer notre clé en mode modem. Pour cela, il faut une version assez récente du paquet **usb_modswitch** (prendre la version //backports// sous Debian Squeeze) qui intègre cette clé. Au cas ou, voilà le contenu du fichier de config :
 +
 +<code>
 +TargetVendor=  0x12d1
 +TargetProduct= 0x14db
 +
 +MessageContent="55534243123456780000000000000011062000000000000100000000000000"
 +NoDriverLoading=1
 +</code>
 +
 +Mais Huawei a changé un peu la donne avec ces dernières clés en intégrant la techno //Hi-Link// (http://www.huawei.com/en/about-huawei/newsroom/press-release/hw-093761-e353-data-card.htm). Cette technos à pour but d'afficher à l'ordinateur un simple adaptateur USB Ethernet sur lequel à coup de DHCP on pourra tout simplement se connecter à Internet. C'est nikel si on veut simplement se connecter à Internet justement mais pour nous qui voulons envoyer des SMS...
 +
 +Heureusement, on peut rebasculer la clé en mode modem série et même bloquer la clé dans ce mode !
 +
 +Pour cela :
 +
 +  * Faite un petit coup de DHCP sur l'interface USB ethernet (eth1 pour moi). Vous pouvez aussi simplement vous attribuer un IP dans le réseau 192.168.1.0/24.
 +  * Appeler l'URL HTTP suivante : http://192.168.1.1/html/switchProjectMode.html
 +  * La clé basculera alors en mode modem série. Si comme moi, le module //option// ne la détecte pas, c'est qu'il faut lui faire détecter manuellement : <code>echo "12d1 1442" > /sys/bus/usb-serial/drivers/option1/new_id</code>
 +  * Il nous reste encore à la bloquer dans ce mode.
 +  * Connecté vous au premier device ttyUSB présent (/dev/ttyUSB0 pour moi) à l'aide d'un terminal, j'utilise minicom pour ma part : <code>minicom -D /dev/ttyUSB0</code>
 +  * Une fois votre terminal connecté, lancer la commande AT suivante : <code>AT^U2DIAG=0</code>
 +  * La réponse devrais être //OK//. Il est possible de revenir en arrière en procédant de la même manière et en appelant la commande AT suivante : <code>AT^U2DIAG=119</code>
 +  * Débrancher et rebrancher la clé USB. Celle-ci devrais réapparaître sous de nouveaux identifiants : //12d1 1c05//. Il est alors à nouveau nécessaire de la faire reconnaître par le module option : <code>echo "12d1 1c05" > /sys/bus/usb-serial/drivers/option1/new_id</code>
 +
 +
 +
 +
    
 ==== Installer et configurer Gnokii ==== ==== Installer et configurer Gnokii ====
Ligne 70: Ligne 101:
 Comme toute carte SIM, celle de la clé 3G doit recevoir un code PIN pour pouvoir être utiliser. Il est possible de le faire manuellement en utilisant la commande : <code>gnokii --entersecuritycode PIN</code> Comme toute carte SIM, celle de la clé 3G doit recevoir un code PIN pour pouvoir être utiliser. Il est possible de le faire manuellement en utilisant la commande : <code>gnokii --entersecuritycode PIN</code>
  
-<note>Il est possible de savoir si le code PIN a déjà été saisi ou non en utilisant la commande : <code>gnokii --getsecuritycodestatus</code></note>+<note tip>Il est possible de savoir si le code PIN a déjà été saisi ou non en utilisant la commande : <code>gnokii --getsecuritycodestatus</code></note>
  
-Pour automatiser la saisi du code PIN, vous pouvez utiliser le script //gnokii-init-modem//. Celui-ci communique directement avec la clé pour vérifier si elle attend le code PIN et lui donner si nécessaire. Il est nécessaire d'éditer ce script pour adapter les variables ce configuration suivante :+Pour automatiser la saisi du code PIN, vous pouvez utiliser le script {{:informatique:reseau:gnokii-init-modem.pl|gnokii-init-modem.pl}}. Celui-ci communique directement avec la clé pour vérifier si elle attend le code PIN et lui donner si nécessaire. Il est nécessaire d'éditer ce script pour adapter les variables ce configuration suivante :
  
   * //$port_name// : Le chemin du device //ttyUSB// a utiliser   * //$port_name// : Le chemin du device //ttyUSB// a utiliser
Ligne 78: Ligne 109:
  
 <note important>Vous devez installer le paquet Debian //libdevice-serialport-perl// requis pour l'utilisation de ce script.</note> <note important>Vous devez installer le paquet Debian //libdevice-serialport-perl// requis pour l'utilisation de ce script.</note>
- 
 ===== Mettre en place la passerelle mail -> SMS ===== ===== Mettre en place la passerelle mail -> SMS =====
  
Ligne 84: Ligne 114:
   * Ajouter l'utilisateur //gnokii// et l'ajouter dans le group //dialout// : <code>adduser --system gnokii   * Ajouter l'utilisateur //gnokii// et l'ajouter dans le group //dialout// : <code>adduser --system gnokii
 adduser gnokii dialout</code> adduser gnokii dialout</code>
-  * Installer le script //mail2gnokii// dans le dossier /usr/local/sbin+  * Installer le script {{:informatique:reseau:mail2gnokii.pl|mail2gnokii}} dans le dossier /usr/local/sbin
   * Adapter les variables de configurations du script :   * Adapter les variables de configurations du script :
     * **smsc** : le numéro de centre de messagerie de votre opérateur mobile (Liste [[http://www.commentcamarche.net/faq/26754-numero-de-centre-de-messagerie-sms|ici]])     * **smsc** : le numéro de centre de messagerie de votre opérateur mobile (Liste [[http://www.commentcamarche.net/faq/26754-numero-de-centre-de-messagerie-sms|ici]])
Ligne 90: Ligne 120:
       * **gnokii_config** : le fichier de configuration pour gnokii à utiliser       * **gnokii_config** : le fichier de configuration pour gnokii à utiliser
   * Ajouter le transport suivant dans votre fichier //master.cf// : <code>sms unix    -                               pipe   * Ajouter le transport suivant dans votre fichier //master.cf// : <code>sms unix    -                               pipe
-  flags=Rq user=gnokii:dialout argv=/usr/local/sbin/mail2gnokii.pl ${user}</code>+  flags=Rq user=gnokii:dialout argv=/usr/local/sbin/mail2gnokii ${user}</code>
      
   * L'utiliser pour le domaine de votre choix, exemple //sms.example.tld//. Pour cela, ajouter dans votre fichier //transport// : <code>sms.example.tld    sms</code>   * L'utiliser pour le domaine de votre choix, exemple //sms.example.tld//. Pour cela, ajouter dans votre fichier //transport// : <code>sms.example.tld    sms</code>
Ligne 97: Ligne 127:
  
 <note important>Le contenu du SMS envoyé est le **sujet du mail** (header //Subject//).</note> <note important>Le contenu du SMS envoyé est le **sujet du mail** (header //Subject//).</note>
- 
 ===== Mode d'emploi de la plate-forme ===== ===== Mode d'emploi de la plate-forme =====
  
Ligne 104: Ligne 133:
 <note important>Pour que cela fonctionne, il faudra bien entendu faire en sorte que vous vous arrangiez pour que le domaine //sms.example.tld// soit relayé vers votre serveur faisant office de passerelle SMS. **Attention** cependant à faire en sorte que votre passerelle ne soit pas trop accessible (depuis le web par exemple) pour éviter que n'importe qui puisse envoyé des SMS en faisant grimper votre facture ;)</note> <note important>Pour que cela fonctionne, il faudra bien entendu faire en sorte que vous vous arrangiez pour que le domaine //sms.example.tld// soit relayé vers votre serveur faisant office de passerelle SMS. **Attention** cependant à faire en sorte que votre passerelle ne soit pas trop accessible (depuis le web par exemple) pour éviter que n'importe qui puisse envoyé des SMS en faisant grimper votre facture ;)</note>
  
 +==== Initialisation manuelle de la clé au reboot ou à la reconnexion de la clé ====
 +
 +Au reboot de la machine ou à la reconnexion de la clé USB, il peut être nécessaire d'activer soit même manuellement la clé, c'est à dire :
 +
 +  * Lancer le //switch// de mode de la clé manuellement : <code>usb_modeswitch -c /etc/usb_modeswitch.d/12d1\:14b7</code>
 +  * Si votre clé n'est pas automatiquement par le kernel : <code>detect_usb_key</code>
 +  * Vérifier que votre clé est maintenant bien détectée : <code>gnokii --identify</code>
 +  * Finalement, initialiser la clé en entrant le code PIN : <code>gnokii-init-modem</code>
 +
 +<note tip>Il peut arriver que le périphérique //ttyUSBX// change, il faudra donc modifier manuellement dans les fichiers /etc/gnokiirc et /usr/local/sbin/gnokii-init-modem le périphérique à utiliser.</note>
 ==== Utilisation pour les notifications Nagios ==== ==== Utilisation pour les notifications Nagios ====
  
Ligne 129: Ligne 168:
 Si cela ne vous conviens pas, définissez vos propres commandes en vous inspirant de celle par défaut. Si cela ne vous conviens pas, définissez vos propres commandes en vous inspirant de celle par défaut.
  
 +==== Ajouter/supprimer un numéro de téléphone portable destinataire ====
  
 +Le script //mail2gnokii// comporte une sécurité pour éviter que la passerelle soit utilisée pour envoyer des SMS à n'importe qui. La liste **exhaustive** des numéros de téléphone portable destinataires doit être définie dans la variable de configuration //authorized_number// du script.
  
- +Pour ajouter ou supprimer un numéro de téléphone de cette liste, il faut donc éditer le fichier ///usr/local/sbin/mail2gnokii// et modifier la variable //authorized_number// : <code>@authorized_number=("0600000000","0700000000");</code>
- +
- +
- +
  • informatique/reseau/messagerie/passerelle_sms.1343724559.txt.gz
  • Dernière modification : 2012/07/31 08:49
  • de bn8