Grazie alla interfaccia di gestione degli eventi puoi collegare qualsiasi azione personalizzata alla ricezione invio di qualsiasi messaggio. Lo scopo principale del "gestore eventi" é permettere la gestione di appilcazioni personalizzate e la integrazione delle tue applicazioni con la SMS Fox Box. Ci sono 2 modalità per accedere alla gestione eventi: - Dal menù applicazioni
- Dal menù gestione eventi
Caso 1: The Il modulo applicazioni
Per accedere a questa sezione clicca su nel menù alla tua sinistra Appariranno sullo schermo 2 moduli il primo per i messaggi in arrivo il secondo per i messaggi in uscita. Inserendo quì degli script BASH o PHP potrai eseguirli al verificarsi di un evento e utilizzare il testo del messaggio per delle elaborazioni. Procediamo ora con un semplice esempio, una lotteria via SMS con un codice vincente. Inviando un messaggio SMS al numero della SIM nella SMS FoxBox e digitando nel testo del messaggino un CODICE, vogliamo che se il codice é corretto venga inviata la risposta hai vinto! Analisi del problema:Per l'applicazione dobbiamo estrarre da ogni SMS in entrata il testo, verificare se contenga o meno il codice vincente, nel caso sia vincente estrarre il numero di telefono del mittente e notificare la vincita.
Questo script fa esattamente quanto sopra descritto: #!/bin/sh # #This is a sample script for custom RX action #PURPOSE: The script search a code inside a incoming message and if the code is matched reply #with the messahe "You WIN!" # #Search the code 1223456 inside the SMS message # #CODE that we want to search SEARCH="123456" # #Text message that we want to send TEXT="You WIN!" # # CODE=`/bin/cat $1 | grep "$SEARCH"` # #if code is not empty reply with the message "You WIN!" if [ "$CODE" == "$SEARCH" ]; then #I need to extract the phone number to send the reply # NUMB=`/bin/cat $1 | /bin/grep "From:" | awk '{print $2}'` # #Now I generate the file for outgoing queue FILE=`/bin/mktemp /mnt/flash/spool/outgoing/send_XXXXXX` echo "To: $NUMB" >> $FILE echo "" >> $FILE echo "$TEXT" >> $FILE fi
Per provare lo script copialo e incollalo nel campo "Applicazioni personalizzate sui messaggi in arrivo". Dopodiché inviateun'SMS alla foxbox inserendo nel testo 123456 per vincere Come si vede dall'esempio abbiamo creato un piccolo parser `/bin/cat $1 | grep "$SEARCH"` significa estrai il contenuto di $1 (variabile che contiene il percorso completo del file contenente il messaggio SMS ricevuto) e verifica se contiene la stringa $SEARCH (il nostro codice vincente). Poi nel caso del vincitore estrarremo il suo numero di telefono dal Mittente (From): `/bin/cat $1 | /bin/grep "From:" | awk '{print $2}'`
questo significa, prendi il contenuto dell'SMS contenuto nel file $1 e prendi la riga che contiene "From:" poi prendi la parte relativa al numero tramite awk {print $2} (column 2). Ora generiamo la notifica di vincita. Il codice seguente genererà il messaggio con destinatario il numeor prima estratto To: (numero estratto con awk) un a capo e il testo hai vinto!. FILE=`/bin/mktemp /mnt/flash/spool/outgoing/send_XXXXXX` echo "To: $NUMB" >> $FILE echo "" >> $FILE echo "$TEXT" >> $FILE
Come già detto prima la variabile $1 contiene il percorso PATHdel messaggio dalla root (base) del filesystem (percorso assoluto), nel formato sotto elencato: From: Kanta To: 491721234567 Alphabet: ISO Testo del messaggio
Il formato dei messaggi SMS é descritto nell'articolo: Formato dei file SMS Caso 2: Il modulo Gestione Eventi
Per accedere a questa sezione clicca su nel menù alla tua sinistra. In questa schermata troverai un modulo pre-compilato.
Da quì puoi controllare TUTTE le azioni della SMS FoxBox quali invio, ricezione, messaggi falliti, notifiche, funzionalità e-mail SMS e SMS a e-mail. Potrai cambiare anche il significato dei LED frontali a tuo piacimento, disabilitare la ricezione l'invio, attivare le blacklist e whitelist etc... Per abilitare o disabilitare le funzioni, dovrai semplicemente togliere (abilita) o mettere (disabilita) il cancelletto di commento davanti alle righe dello script (#cancelletto = commento) Se si decommenta per esempio il blocco dello script che aziona le applicazioni personalizzate per i messaggi in arrivo, abiliterai quanto scritto nel modulo che abbiamo trattato nel CASO 1. Come puoi vedere puoi agire su diversi eventi come indicato nelle IF cluase dello script. Gli eventi sono: SENT (inviato), RECEIVED (ricevuto), FAILED (fallito) e REPORT (rstato report di invio) Ricordati sempre di passare gli argomenti necessari agli script che verranno lanciati dal gestore degli eventi: Gli argomenti che puoi passare sono: - $1 Tipo di evento verificatosi SENT, RECEIVED, FAILED or REPORT
- $2 Percorso completo al file contenente l'SMS SMS file
- $3 ID del report del messaggio spedito (solo per status report)
The SMS FoxBox Software is developed by KDEV (http://www.kdev.it), a Davide Cantaluppi company on Acme Systems FOX GM Hardware
|