Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.metadata failed
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/meta/smashos.meta failed
 
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.metadata failed
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.xhtml failed
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /Volumes/dati/Library/WebServer/Documents/Sites/smash/data/cache/d/d97189df92bc18a6257b374987d6f443.metadata failed

MANUALE SVILUPPATORI SMaSh OS (Guida per sviluppatori e integratori di sistemi)

Versione 2.0a

Materiale aggiuntivo
Scarica la guida allo sviluppatore in formato PDF
post_httpInviare SMS mediante WebService GET/POST http

Interfaccia disponibile su http://192.168.0.98:80


INDICE

 1.0 Introduzione
        1.1 Come collegarsi
 2.0 Funzioni di controllo
        2.1 Pannello di controllo
            2.1.1 Stato attuale: SMS engine - SMS gateway - Modem - Buzzer - Signal Quality
            2.1.2 Utilities: Dial e Multiparty - SMSC Switch - Black/White list- Backup e Restore
 3.0 Gestione messaggi 
        3.1 SMS in arrivo 
        3.2 SMS inviati
        3.3 SMS in uscita
        3.4 SMS falliti
        3.5 Invia un SMS
        3.6 Sondaggi 
        3.7 Rubrica 
            3.7.1 Liste di distribuzione invii multipli
 4.0 Gestione del sistema
        4.1 Gestione utenti
        4.2 Configurazione
            4.2.1 Configura il forward SMS a E-mail
            4.2.2 Configura il template
            4.2.3 Configura la posta in arrivo per il forwarding E-mail a SMS 
        4.3 Gestione Eventi
            4.3.1 Attribuire significato a un LED
            4.3.2 Abilitare le applicazioni
            4.3.3 Abilitare il formato XML
            4.3.4 Abilitare il gateway SMS
            4.3.5 Abilitare il modulo MySMS
        4.4 Applicazioni personalizzate
            4.4.1 Esempio di concorso
        4.5 Modulo MySMS
        4.6 Rete
        4.7 Data e Ora
        4.8 Log di Sistema 
        4.9 Formato dei file SMS
 5.0 Configurazione dell’SMS engine
        5.1 Livello di LOG 
        5.2 Autosplit dei messaggi
        5.3 Abilitare Black/White list
        5.4 Impostazione del PIN
 6.0 Schema funzionale del software 

1.0 INTRODUZIONE

La SMaSh é una soluzione compatta ed economica per inviare e ricevere SMS L’apparecchio include un modem GSM Quad Band, COMPACT FLASH per la memorizzazione dei messaggi (più di un milione di SMS con la CF da 4GB fornita) e un Sistema Linux per il controllo delle code da una semplice ed intuitiva interfaccia Web. La SMaSh può operare come gateway tra SMS e la normale rete TCP/IP ed é pronta all’integrazione con una vasta gamma di applicazioni.

1.1 Come collegarsi

La SMaSh é un apparecchio completamente Web Based. Questo significa che per potervi accedere é necessario disporre di un Web Browser. La tecnologia utilizzata per l’interfaccia richiede che il browser sia in grado di applicare trasformazioni XSL alle pagine XHTML. I browser supportati sono:

Per un utilizzo ottimale consigliamo l’utilizzo di Mozilla Firefox (disponibile all’indirizzo http://www.mozilla.com). L’indirizzo IP di default dell’apparecchio é 192.168.0.98. Digitate questo IP nella barra degli indirizzi del vostro browser e una volta collegati fornite al sistema le seguenti credenziali di accesso Username: admin Password: admin. Prestate attenzione alle maiuscole e minuscole, il sistema é case-sensitive.

2.0 FUNZIONI DI CONTROLLO

2.1 Pannello di controllo

Collegandosi all’apparecchio mediante web browser viene visualizzata la seguente finestra principale della SMaSh dove é possibile controllare lo stato dell’apparecchio e le utilitˆ di sistema. La console appare divisa in due sezioni:

2.1.1 Stato attuale

Cliccando sulle voci SMS engine, SMS gateway e Modem é possibile accedere ai relativi pannelli di configurazione e diagnostica.

2.1.2 Utilities

  1. Blacklist (permette di disabilitare l’invio verso i numeri presenti nella lista. I numeri devono essere inseriti separati da “testo a capo”. Per abilitare il controllo é necessario togliere il commento # alla riga “#blacklist=/mnt/flash/…” nella configurazione dell’sms engine disponibile cliccando sul link “SMS engine”)
  2. Whitelist (permette di abilitare l’invio solo verso alcuni numeri presenti nella lista. I numeri devono essere inseriti separati da “testo a capo”. Per abilitare il controllo é necessario togliere il commento # alla riga “#whitelist=/mnt/flash/…” nella configurazione dell’sms engine disponibile cliccando sul link “SMS engine”). E’ necessario riavviare l’SMS engine solo quando si modifica la configurazione dello stesso, la normale aggiunta rimozione di un numero dalle liste sarà applicata in tempo reale. (VEDI 5.0.3 Abilita BLACK/WHITE list)

3.0 GESTIONE MESSAGGI

3.1 SMS in arrivo

La pagina visualizza tutti i messaggi SMS in entrata ricevuti nella coda associata all’utente (Vedi 4.1 Gestione Utenti). Ogni messaggio SMS viene indicizzato dal sistema e riporta:

La ricezione avviene in background, il numero di nuovi SMS ricevuti apparirà alla destra della voce di menù “SMS in arrivo” ad indicarvi la presenza di messaggi non letti. Per disabilitare la ricezione di SMS consultare questa guida (Vedi 5.0 Configurazione dell’SMS engine). La coda associata alla ricezione per gli utenti Operator e Viewer se non impostata ad-hoc (VEDI 4.1 Gestione utenti) é la default, la coda su cui opera Admin é la coda storica, eliminando un messaggio come Admin si eliminerà il messaggio dalla coda storica.

3.2 SMS inviati

La pagina visualizza tutti i messaggi SMS inviati con successo.

3.3 SMS in uscita

La pagina visualizza gli SMS che si trovano in fase di spedizione, e non ancora presi in carico dal modem.

3.4 SMS Falliti

La pagina visualizza tutti i messaggi SMS il cui invio é fallito.

3.5 Invia un SMS

La pagina visualizza la finestra di impostazione per l’invio nuovo messaggio. Specifica i dati richiesti nella form proposta:

Cliccando su rubrica si accede all’archivio generale dove é possibile eseguire la selezione o le selezioni dei contatti a cui inviare il messaggio. (Vedi 3.7 RUBRICA)

3.6 Sondaggi

I sondaggi permettono di ottenere statistiche in tempo reale sul contenuto del database SMS in arrivo. Mediante questo pannello é possibile inserire dei pattern sui quali saranno generate delle statistiche, cioé il controllo e conteggio della presenza del pattern (soggetto) all’interno del testo degli SMS. Oltre al conteggio numerico e alla percentuale le statistiche sono rappresentate con un semplice grafico. Per aggiungere/rimuovere i soggetti premere su aggiungi/cancella nell’elenco soggetti.

3.7 Rubrica

La pagina visualizza l’elenco generale dei contatti memorizzati. Qui é possibile eseguire:

La lista fornisce informazioni sul nome del contatto, il rispettivo numero telefonico e l’eventuale recapito, gruppo di appartenenza(*) e il numero di volte che si vuole spedire lo stesso messaggio al contatto. I campi utilizzati dalla rubrica sono:

Per aggiungere un contatto alla rubrica premere su aggiungi nuovo contatto. Per selezionare un singolo contatto a cui inviare un messaggio cliccare sull’identificativo nome, il numero telefonico corrispondente sarà utilizzato per popolare il relativo campo nella sezione Invia un SMS.

3.7.1 Liste di distribuzione invii multipli

Per spedizioni multiple o Liste di distrubuzione eseguite una ricerca e isolate i contatti appartenenti a un determinato gruppo o criterio, dopodichè premete sul tasto “Send to all”. Nella sezione “invia sms” nel campo To: sarà visualizzato [selected group].

4.0 GESTIONE DEL SISTEMA

4.1 Gestione utenti

La SMaSh é un sistema multi-utente con gestione dei privilegi di accesso. Attraverso la pagina Gestioni Utenti é possibile configurare N utenze e associare a ciascun utente la propria coda. L’utente Admin ha privilegi di “super user” e ha tutti i diritti sull’apparecchio. Questo utente é abilitato alla creazione di altri utenti che possono essere Operator (operatori) o Viewer (Solo visualizzazione). Per ogni utente é possibile creare un database (coda) di messaggi in arrivo dove l’utente potrˆ operare in modo esclusivo oppure utlizzare la coda di default in condivisione con gli altri utenti. La coda “storica” é detenuta dall’utente Admin. Gli attributi di ciascun utente sono:

La cancellazione di un utente provocherà la cancellazione del relativo Database con i messaggi della coda assegnata a meno che non sia la coda di default.

4.2 Configurazione

La schermata configurazione permette il setup del “Template/Tema” dell’interfaccia, della lingua e di tutte le impostazioni della funzionalità di Gateway E-Mail to SMS e SMS to E-Mail.

4.2.1 Configura il forward SMS a E-mail

Dal pannello é possibile configurare i parametri relativi all’SMTP server da utilizzare per forwardare gli SMS all’E-mail.

Per abilitare la funzione é necessario togliere il commento # nel pannello Gestione Eventi (Vedi 4.3.4 Abilitare il gateway SMS).

4.2.2 Configura il template

I parametri disponibili permettono di modificare completamente lo stile/tema di visualizzazione, la lingua dell’interfaccia il logo e la ragione sociale indicata nel box sopra il menù sinistro.

4.2.3 Configura la posta in arrivo per il forwarding E-mail a SMS

La funzione di “forwarding” delle E-mail a SMS consente di inoltrare le E-mail ricevute su di una determinata casella di posta elettronica come SMS al numero specificato nel corpo dell’E-mail.

A questo punto inviando una mail con alcuni requisiti minimi alla casella designata, la mail verrà automaticamente forwardata al numero di SMS specificato nel corpo del messaggio. Supponiamo di volerinviare il testo “prova di invio tramite email” al numero di cellulare “349000111222”. Apriamo il client diposta che preferiamo e formattiamo il messaggio come segue:

Ed a questo punto inviate il messaggio. Il sistema provvederà a inviare l’sms al numero indicato. Questa funzionalità è molto utile se si vuole arricchire un proprio sistema di diagnostica, già in grado diinviare delle email, di una notifica via SMS. Nel caso non sia possibile modificare la formattazione dell’email che generata dal vostro sistema é possibile modificare la configurazione di Procmail per gestire qualsiasi tipo di messaggio.

4.3 Gestione Eventi

La gestione eventi permette di abilitare/disabilitare le funzionalità della SMaSh e di collegare delle azioni agli “eventi” della macchina. Per “evento” si intende Messaggio Ricevuto “RECEIVED”, Messaggio Inviato “SENT”, e MessaggioFallito “FAILED”. Il pannello permette la visualizzazione e la modifica dello script. Togliendo o aggiungendo i commenti # ai blocchi pre-configurati vi sarà possibile abilitare o disabilitare delle funzionalità oppure potrete aggiungere le vostre nuove azioni. Nello script vi sono delle variabili disponibili che contengono le informazioni passate dall’engine.Esse sono rispettivamente:

Ogni volta che l’engine esegue una azione, automaticamente verranno passate queste informazioni all’eventhandler dove, in base a quanto impostato saranno lanciati altri script o eseguite operazioni. Come si può notare i blocchi sottostanti sono composti da una IF CLAUSE, che seleziona quale evento é stato passato dall’engine, ed esegue la procedura desiderata. Nell’eventhandler sono già presenti i seguenti blocchi:

4.3.1 Attribuire significato a un LED

# TURN ON LED OG29 ON RECEIVED MESSAGE #if [ “$1” = “RECEIVED” ]; then # #/etc/sms/scripts/led29 #fi # Attivando il blocco, per ogni messaggio ricevuto si otterrˆ un blink del LED OG29 (VEDI la Hardware reference) # TURN ON OG 29 ON SENT MESSAGE #if [ “$1” = “SENT” ]; then #/etc/sms/scripts/led29 #fi # Attivando il blocco, per ogni messaggio inviato si otterrˆ un blink del LED OG29

4.3.2 Abilitare le applicazioni

#Enable this to activate custom events #This is the custom script written by user for RX action # #if [ “$1” = “RECEIVED” ]; then #/mnt/flash/root/source/custom/custom_rx “$2” #fi # #This is the custom script written by user for TX action #if [ “$1” = “SENT” ]; then #/mnt/flash/root/source/custom/custom_tx “$2” #fi Attivando il blocco, si abilita l’esecuzione dello script inserito nelle applicazioni sulle azioni ricezione messaggio RX e messaggio spedito TX (VEDI 4.4 Applicazioni Personalizzate).

4.3.3 Abilitare il formato XML

#Save messages in XML format #if [ “$1” = “RECEIVED” ]; then #/etc/sms/scripts/sms2xml $1 $2 $3 #fi # Attivando il blocco, verrˆ attivata l’esportazione in formato XML del messaggio. Funzioni di base di invio e ricezione DEFAULT #NEVER DISABLE THE FOLLOWING SCRIPT FOR MESSAGE RECEIVING if [ “$1” = “RECEIVED” ]; then /etc/sms/scripts/parser.php fi # Il blocco deve sempre essere lasciato attivo per permettere ai messaggi di essere visualizzati nell’interfaccia. # #NEVER DISABLE THE FOLLOWING SCRIPT FOR MESSAGE OUTGOING if [ “$1” = “SENT” ]; then # #/etc/sms/scripts/out.php /etc/smsc_ctl $2 fi # Il blocco deve sempre essere lasciato attivo per permettere ai messaggi di essere visualizzati nell’interfaccia. #Event on failed message if [ “$1” = “FAILED” ]; then /etc/sms_fail $2 fi Il blocco deve sempre essere lasciato attivo per permettere ai messaggi di essere visualizzati nell’interfaccia.

4.3.4 Abilitare il gateway SMS

#SMS TO EMAIL # #/etc/mailsend/smstomail “$2” “$1” #fi # #Event on sent message #if [ “$1” = “SENT” ]; then #/etc/mailsend/smstomail “$2” “$1” #fi # #Event on failed message #if [ “$1” = “FAILED” ]; then #this send the failed message to a mail address #/etc/mailsend/smsfailmail “$2” “$1” #fi # Abilita la funzionalitˆ di forward di un SMS verso l’email per i messaggi rispettivamente ricevuti, inviati e falliti (VEDI 4.2.1 Configura il forward SMS a E-mail)

4.3.5 Abilitare il modulo MySMS

#this is the database mysql backend #if [ “$1” = “RECEIVED” ]; then #/etc/sms/scripts/mysmsd “$1” “$2” “$3” #fi Abilita il modulo MySMS (VEDI 4.5 Modulo MySMS)

4.4 Applicazioni personalizzate

Il pannello applicazioni é studiato per dare la possibilitˆ di estendere le funzioni giˆ presenti nella SMaSh, con programmi da voi realizzati. Attraverso i due campi di testo presenti nella pagina, é possibile collegare rispettivamente all’evento (VEDI 4.3 Gestione Eventi) RECEIVED e all’evento SENT un vostro script personalizzato. Al default il sistema é impostato per l’immissione di uno script in shell #!/bin/sh ma cambiando l’intestazione con #!/bin/php potrete utilizzare PHP come linguaggio di scripting. Potrete inoltre lanciare dei programmi scritti in C e opportunamente compilati attraverso il compilatore a bordo di SMaSh.

4.4.1 Esempio di concorso

Ad esempio se volessimo realizzare un concorso a premi via SMS, potremmo utilizzare uno script come questo, inserito nella azione RX: #!/bin/sh #Write here your custom script #You can use all command of bash shell # #This script will be applied each time a message will be received by the box # # #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 Lo script dell’esempio, eseguirˆ alla ricezione di un SMS, la ricerca del pattern SEARCH impostato a“123456” nel caso il contenuto venga trovato, genererˆ la risposta con un SMS (VEDI 4.9 Formato file SMS)contenente il testo TEXT impostato al valore “You WIN!”.La variabile $1 continene il percorso e nome del file da processare.Attenzione, per rendere attivi gli script é necessario abilitare i relativi blocchi nella gestione eventi (VEDI 4.3.2 Abilitare le applicazioni).

4.5 Modulo MySMS

Il modulo MySMS rende possibile l’inserimento dei messaggi in arrivo in un Database MySQL su di unserver remoto. I parametri richiesti per la configurazione del modulo sono:

times: data e ora di ricezione dell’SMS da parte di SMaSh froms: numero telefonico del mittente subjects: Nome logico del modem che ha ricevuto il messaggio text: Testo del messaggio Attenzione, per abilitare il modulo é richiesto l’abilitazione dalla gestione eventi (VEDI 4.3.5 Abilitare il modulo MySMS)

4.6 Rete

In questa schermata potete configurare i parametri relativi al network. Sono richiesti:

Dopo aver immesso tutti i dati relativi al vostro network, salvare la configurazione premendo il tasto SALVA e riavviare l’apparecchio per rendere effettive le modifiche.

4.7 Data e Ora

Il corretto funzionamento dell’apparecchio é strettamente legato a una precisa impostazione della data e dell’ora del sistema. In questa schermata si possono impostare la data e l’ora del sistema manualmente o utilizzando unnetwork time server.

4.8 Log di Sistema

Lo stato del sistema e i vari logs sono riassunti in questa schermata. Da questo pannello si può controllare:

4.9 Formato dei File SMS

La SMaSh processa gli SMS come file in un particolare formato. Ogni file é composto da due parti:

Queste parti sono separate da “testo a capo” o invio.

Un’esempio di messaggio é: From: SMaSh To: 3934947XXX Alphabet: ISO Testo del messaggio

Ogni linea dell’header/intestazione ha un significato come spiegato di seguito. Per gli HEADER GENERICI:

  1. ISO LATIN ANSI: 8 Bit character set, MAX 160 Characters with autosplit (DEFAULT VALUE)
  2. GSM: 7 bit character set refer to GSM specification MAX 160 Characters with autosplit
  3. UCS: UCS2 character set MAX 70 Characters with autosplit
  4. BINARY: 8 bit binary data, no text (ringtones and data trasmission)
  1. Valore 0: disabilita lo split e tronca i messaggi
  2. Valore 1: enabled, no part-numbers
  3. Valore 2: enabled, text numbers
  4. Valore 3: enabled concatenated format (DEFAULT)

Per gli HEADER DEI MESSAGGI IN ARRIVO

Puoi utilizzare HEADER personalizzati essi non saranno presi in considerazione dall’engine ma potrai utilizzarli per le tue applicazioni. Un’esempio di SMS ricevuto trascritto su file é:

From: 3934947032XX From_SMSC: 39565258552585 Sent: 06-10-04 23:26:23 Received: 06-10-04 23:26:29 Subject: GSM1 Alphabet: ISO Testo del messaggio in ingresso.

Un’esempio di SMS spedito trascritto su file é: From: SMaSh To: 3934947XXX Alphabet: ISO Testo del messaggio in uscita.

5.0 CONFIGURAZIONE DELL'SMS ENGINE

Come abbiamo visto nel pannello di controllo (Vedi 2.1.1 Stato attuale), ciccando sul link SMS engine si accede alla configurazione del servizio di invio/ricezione SMS. Le voci configurabili sono:

5.1 Livello di LOG

loglevel = <valore> Permette di impostare il livello di dettaglio del log file dell’engine. Il livello di default è 5.

5.2 Autosplit dei messaggi

Autosplit=<valore> 0,1,2 o 3 consente di impostare come devono essere “splittati” gli SMS. 0 disabled 1 enabled, no part-number 2 enabled, text numbers 3 enabled, concatenated format (not supported by some phones)

Blocktime=<secondi>. Il modem non verrà interrogato per il numero di secondi specificato in caso non risponda (tempo di retry) errorsleeptime =<secondi>. Il modem non verrà interrogato per il numero di secondi specificato nel caso risponda ERROR.

5.3 Abilita WHITE/BLACK list

Blacklist= <percorso>, Whitelist=<percorso>, consentono di abilitare la verifica dei numeri presenti nelle liste. Per abilitare la funzione rimuovere i commenti #. WHITELIST e BLACKLIST (VEDI 2.1.2 Utilities)

5.4 Impostazione del PIN

#pin = 0000 togliendo il commento # é possibile specificare il PIN della SIM.

6.0 Schema funzionale del software

Il software della SMaSh é diviso in due parti:

 
smashos.txt · Ultima modifica: 2015/01/24 20:29 (modifica esterna)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki