Pagina 42 di 42 primaprima ... 32 40 41 42
Visualizzazione dei risultati da 411 a 414 su 414
  1. #411
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,258

    Inviare comandi da eseguire tramite SMS (Asterisk + chan_dongle)

    Piccolo How To su come inviare comandi tramite SMS ad server dove risiede Asterisk.
    Ovviamente e' necessario aver installato chan_dongle (canale GSM con dongle Huawey).

    Questo esempio si basa su Asterisk 13, ma dovrebbe andare bene anche per le versioni precedenti.

    nano /etc/asterisk/extensions.conf

    codice:
    [from-dongle]
    
    ;
    exten => sms,1,Noop(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})}) 
    exten => sms,n,System(echo 'From: ${CALLERID(num)} \n${BASE64_DECODE(${SMS_BASE64})}' >> /tmp/sms.txt)
    exten => sms,n,Wait(3)
    exten => sms,n,System(/bin/sh /root/getsms.sh)
    exten => sms,n,Wait(15)
    exten => sms,n,System(/bin/rm -f /tmp/sms.txt) 
    exten => sms,n,Wait(2)
    exten => sms,n,Hangup()


    script da lanciare quando il SMS viene ricevuto:nano /root/getsms.sh

    codice:
    #!/bin/sh
    #################################################
    # GetSMS - script to check for commands 
    #################################################
    
    # Variables
    folder=/www/sms                
    dbsms=$folder/dbsms.txt         # SMS received database
    newcmd=$folder/newcmd.txt       # new commands to be executed
    dbcmd=$folder/dbcmd.txt         # executed commands database
    now=$(date)                     # current date and time
    
    # fill newcmd file with new commands received, if any
    /bin/grep XX /tmp/sms.txt > $newcmd
    
    # count the commands received, if any
    numcmd=$(grep -c "^" $newcmd)
    
    # if no commands are found, go ahed
    if [ $numcmd -eq 0 ]
    then
        exit 1
    fi
    
    # check for  any new command  
    for ancmd in $(cat $newcmd)
    do
        case $ancmd
        in
            XXon) /root/on.sh &    # if the body of the message contains "XXon", launch the on.sh script
            echo $ancmd >> $dbcmd;;
    
            XXoff) /root/off.sh &    # if the body of the message contains "XXoff", launch the off.sh script
            echo $ancmd >> $dbcmd;;
    
       
    *) ;;
        esac
    done
    
    # add new sms to database file
    
    /bin/cat /tmp/sms.txt >> $dbsms
    echo -n '<p>' >> $dbsms
    
    # wait 2 seconds
    /bin/sleep 2
    
    # empty newcmd file
    > $newcmd


    chmod 755 /root/getsms.sh

    file di configurazione di chan_dongle

    nano /etc/asterisk/dongle.conf

    codice:
    [general]
    
    interval=15
    
    [defaults]
    
    context=from-dongle
    group=1
    rxgain=5
    txgain=-3
    autodeletesms=yes
    resetdongle=yes
    u2diag=-1
    usecallingpres=yes
    callingpres=allowed_passed_screen
    disablesms=no
    language=en
    smsaspdu=yes
    mindtmfgap=15
    mindtmfduration=40
    mindtmfinterval=200
    callwaiting=auto
    disable=no
    initstate=start
    exten=+39xxxxxxxxx # put your mobile number here
    dtmf=relax
    
    [dongle0]
    audio=/dev/ttyUSB1
    data=/dev/ttyUSB2
    ;imei=358109024359102
    ;imsi=222956701469191


    In questo esempio i due comandi che sono configurati nello script sopra sono:

    XXon and XXoff , XX is the prefix to recognize a command

    XX rappresenta il prefisso (o password) per il riconoscimento del comando.

    suggerisco di sostituire XX con qualcosa di piu' complesso per aumentare la scicurezza del sistema ed evitare che qualcuno possa inviare comandi al Vostro sistema, quindi i due comandi potrebbero essere ad esempio:
    Sd543fgdsn-on e Sd543fgdsn-off, in questo caso il prefisso (password) e' Sd543fgdsn-

    Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
    Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  2. #412
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,258
    Volevo editare il testo sopra ma questo forum (bacato) non mi fa fare la modifica

    Volevo solo dire che bisogna inviare un solo comando alla volta, senza spazi o altro nel SMS che si invia, altrimenti il comando non viene eseguito.

    Potete ovviamente aumentare il numero dei comandi che il sistema riconosce ed esegue aggiungendo quante righe volete allo script di cui sopra sempre seguendo la sintassi:

    codice:
    XXcomando) /root/comando.sh &    # if the body of the message contains "XXcomando", launch the comando.sh script
            echo $ancmd >> $dbcmd;;

    tutti gli SMS ricevuti e i comandi eseguiti vengono memorizzati in due files:

    /www/sms/dbsms.txt e /www/sms/dbcmd.txt

    potete modificare i percorsi a piacimento, modificando la variabile:
    codice:
    # Variables
    folder=/www/sms
    nello script /root/getsms.sh

    NOTA BENE:

    nello script ho messo i comandi da eseguire in /root (es. /root/on.sh) perche' il mio Asterisk e' installato su un sistema embedded (OpenWRT) dove gira con i permessi di root.
    Se utilizzate un Asterisk standard, che utilizza i permessi dell'utente Asterisk, dovete mettere gli scripts eseguibili in una directory in cui l'utente asterisk abbia accesso e abbia i permessi di esecuzione dei files, ovviamente dovete modificare i percorsi relativi nello script di cui sopra.

    Se cambiate il prefisso (password) dovete cambiarlo nei seguenti punti dello script:
    codice:
    ...
    /bin/grep XX /tmp/sms.txt > $newcmd
    ...
     XXon) /root/on.sh &    
            echo $ancmd >> $dbcmd;;
    
     XXoff) /root/off.sh &    
            echo $ancmd >> $dbcmd;;

    Ultima cosa: questo sistema permette di eseguire i comandi anche se la connessione Internet e' assente, questo puo' essere utile ad esempio per riavviare il sistema in caso di problemi.
    Ultima modifica di pilovis; 20-06-2019 a 11:19
    Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
    Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  3. #413
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,258
    Ecco il mio ultimo How-To:

    Installare e configurare Asterisk 13 su un router (OpenWRT)

    https://forum.openwrt.org/t/how-to-i...-openwrt/44362
    Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
    Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  4. #414
    sto impazzendo per questo bellissimo post.....grazie mille pillovis

    ho un raspberry dove ho caricato dal sito ufficile asterisk e freepbx, il tutto per scopo di studio. ma da nessuna parte non riesco a trovare le guide e/o i tuoi contatti per i corsi...

    posso avere qualche link in merito?

    grazie anticipatamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.