RasPBX è compilato con il supporto di pennette USB per telefonare e ricevere attraverso la Rete Mobile. La versione (raspbx-10-10-2020.zip) oggetto di questo tutorial passo passo è scaricabile seguendo questo collegamento. L’elenco delle pennette USB compatibili è raggiungibile seguendo questo collegamento. Un ottimo Tool per scrivere l’immagine sulla MicroSD, è raggiungibile seguendo  questo collegamento (Linux, Windows e macOS).Una volta scritta l’immagine sulla MicroSD, inseriamola nella nostra RaspBerry Pi e diamo corrente. Dopo un po’ di tempo, saremo in grado di accedere alla nostra scatoletta, a patto di sapere qual’è il suo IP. Per conoscere lo IP abbiamo due opzioni: aver collegato un monitor alla RaspBerry oppure guardare l’elenco  delle assegnazioni DHCP nel nostro Router. Se possibile, istruite il vostro Router ad assegnare sempre lo stesso IP alla RaspBerry. Comunque sia, si ottiene accesso a RasPBX da un browser nella LAN digitando nella barra degli indirizzi: http://raspbx Oppure da Terminale: ssh root@192.168.1.171 (o lo IP della vostra scatoletta) con Password: raspberry

Per assegnare lo stesso IP assegnato dal DHCP del vostro Router in modo da renderlo statico, aprire un Terminale root, quindi impartire il comando:

nano /etc/dhcpcd.conf

Inserire le seguenti righe in dhcpd.conf:

interface eth0
static ip_address=192.168.1.200/24 (o quello assegnato dal DHCP del Router)
static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.1.1 (indirizzo del Router)
static domain_name_servers=192.168.1.1 8.8.8.8 (indirizzi per la risoluzione dei nomi di dominio)

Salvate le modifiche premendo Ctrl+X e poi digitate :

service networking restart

Aprire un Browser ed accedere all’interfaccia grafica del Centralino. Ad esempio: http://192.168.1.200 Le chiavi di default sono: Nome Utente admin Password admin. Vanno cambiate immediatamente, utilizzando un Nome Amministratore molto complesso con la sua password molto complessa (c’è un indicatore che vi aiuterà a scegliere una password complessa) quindi selezionate il pulsante Setup System. Vi verrà proposta la pagina standard da cui accedere all’Amministrazione di FreePBX, alla pagina User Control Panel ed a Get Support. Selezioniamo

Usciamo dalla Dashboard scegliendo la ruota dentata in alto a destra e poi la voce Logout.

Adesso apriamo un Terminale e digitiamo:

ssh root@192.168.1.200 (lo IP della scatoletta) . La Password di default per Root è: raspberry e la dobbiamo cambiare subito, digitando sil comando:

passwd

Poi creiamo un nuovo Utente con il comando:

adduser quellochetipare (il nuovo utente)

Immettiamo una password complessa per il nuovo Utente e rispondiamo a tutte le domande che ci vengono proposte. Al termine confermiamo i dati inseriti.

Adesso digitiamo il seguente comando:

usermod -a -G sudo quellochetipare

Poi impartiamo il seguente comando:

nano /etc/ssh/sshd_config

Cerchiamo nel file la stringa ““PermitRootLogin” e cambiamo il valore da “yes” a “no”. Salviamo le modifiche con Ctrl+X.

Da questo momento in poi root non potrà più accedere a SSH ma si dovrà accedere prima con il nome Utente “quellochetipare” e fornire la sua password. Poi con il comando “su” salire di livello e fornire la password di root. Per capirci: prima ssh quellochetipare@192.168.1.200 e password Utente poi “su” ed immettere la password di root.

Procediamo a cambiare la chiave SSH con il comando:

regen-hostkeys

e rispondiamo che vogliamo mantenere la versione installata (keep the local version currently installed). Il Sistema genererà una nuova chiave.

Impartiamo il comando:

configure-timezone

Europe, Rome

Poi scegliamo il supporto delle lingue che desideriamo nel nostro Sistema impartiamo il comando:

dpkg-reconfigure locales

Scorriamo l’elenco e selezioniamo con la barra spaziatrice la lingua (inglese GB e inglese americano sono selezionate di default). it_IT-UTF8 lo dobbiamo selezionare per la lingua italiana così anche le altre lingue che vogliamo nel nostro sistema. Le voci selezionate hanno un asterisco. Con il tasto “Tab” spostiamoci sul pulsante “Ok”. Ci viene chiesto quale lingua deve essre quella di default tra quelle proposte. Scegliamo la lingua italiana. Con il tasto “Tab” spostiamoci sul pulsante “Ok” e premiamo “Invio” sulla nostra tastiera.

Adesso configuriamo un layout di tastiera, con il comando:

dpkg-reconfigure keyboard-configuration

 Adesso dovremmo configurare Exim4 che è il demone per l’invio della posta. Innanzitutto aprite un nuovo account Gmail, senza doppia autenticazione e da usare unicamente per i messaggi in uscita dal Centralino. In questo modo la vostra casella di posta principale resterà al sicuro.

Impartiamo il comando:

raspi-config

e scegliamo il punto 2 ” Configure network settings” quindi la posizione “N1” ovvero “Set the visible name for this Pi on a network”. Il default è: raspbx. Accettiamo questo nome con “Ok”. Quindi selezioniamo il punto 7 ovvero “Advanced Options”. Nel menu A1 scegliamo “Expand Filesystem” in modo da rendere disponibile al sistema, l’intero spazio di archiviazione della MicroSD. Selezioniamo il pulsante “Finish” per uscire da raspi-config ed accettiamo di fare il reboot del sistema.

Configuriamo Exim per inviare posta con Gmail. Impartiamo da Terminale root il comando:

dpkg-reconfigure exim4-config

Scegliamo la seconda voce: “Posta inviata tramite uno Smarthost; ricevuta via SMTP”. Accettare il nome di dominio “raspbx”. Accettiamo lo IP che deve essere in grado di inviare le email. Rispondiamo con il default: 127.0.0.1 ; ::1. Alla voce “Altre destinazioni per conto delle quali accettare posta”, confermiamo il valore proposto ovvero: raspbx;noreply.raspbx.org. Poi alla richiesta “Sistemi per i quali fare il relay”, lasciamo in bianco. Alla voce “Indirizzo IP o hostname per lo smarthost in uscita” inseriamo “smtp.gmail.com::587”.  Alla schermata “L’intestazione dei messaggi in uscita…” scegliamo No. Alla schermata “Mantenere al minimo il numero di richieste DNS…” rispondiamo No. Alla schermata “Modalitò di consegna della posta in locale” scegliamo “Formato mbox in /var/mail/”. Alla schermata “Dividere la configurazione in molti piccoli file?” scegliamo No. Alla schermata di configurazione dei messaggi per root e postmaster, mettiamo: “pi”.

Adesso da Terminale root impartiamo il comando:

nano /etc/exim4/passwd.client

Aggiungere alla fine del file passw.client le seguenti tre righe, adattando il server SMTP e YOU e PASSWORD al vostro caso:

gmail-smtp.l.google.com:YOU@gmail.com:PASSWORD
*.google.com:YOU@gmail.com:PASSWORD
smtp.gmail.com:YOU@gmail.com:PASSWORD

Salvate le modifiche con Ctrl+X.

Poi sempre da Terminale root, impartiamo il comando:

nano /etc/email-addresses

Ed inseriamo le seguenti righe:

root: your_email@gmail.com
asterisk: your_email@gmail.com

Salvate le modifiche con Ctrl+X

Fatte le cose sopra menzionate, impartire i seguenti due comandi sempre da Terminale root:

update-exim4.conf

E poi:

sudo service exim4 restart

Adesso impartiamo il comando:

nano /etc/aliases

All’interno del file in /etc/aliases trovate le seguenti linee. Solo alla voce root: va aggiunto il vostro indirizzo email.

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: VOSTRAEMAIL@gmail.com

Salvare le modifiche con Ctrl+X e poi impartire il comando:

newaliases

Adesso, aggiorniamo il sistema con il comando da Terminale root:

raspbx-upgrade

Rispondere Si alla richiesta di conferma da parte del sistema ed avviate la procedura.

Al termine impartire il comando:

reboot

Adesso installiamo Fail2Ban per proteggere il nostro Centralino dai tentativi di accesso non autorizzati. Accediamo da Terminale root alla nostra scatoletta ed impartiamo il comando:

install-fail2ban

Il sistema ci chiederà subito a quale indirizzo email Fail2Ban deve inviare le notifiche. Inseriamo quindi il nostro indirizzo email: pincopallo@hotmail.com forse? Rispondiamo con Si per avviare l’installazione di Fail2Ban ed accettiamo di sostituire il file esistente in /etc/fail2ban/filter.d/asterisk.conf. Ci viene ricordata dallo script di installazione che è saggio modificare le impostazioni di FreePBX. Dopo lo facciamo. 

Adesso procediamo con l’installazione del codice per il supporto alla telefonia mobile. Vi ricordo che la SIM non deve avere il PIN abilitato. Quindi, prima di proseguire, inserite la SIM in un telefono e disabilitate la richiesta del PIN. Fatto questo, la SIM va inserita nella pennetta con funzionalità Voce. La mia è stata acquistata molti anni fa su eBay. Una Huawei E160.

Non chiedetemi dove reperire una chiavetta USB adatta. La ricerca è totalmente nelle vostre mani! Chiaro? Sono i vostri soldi e ci potrebbe essere una variazione di firmware, un venditore che non conosce il VoIP. Tanti fattori che possono farvi buttare soldi e non voglio essere  ritenuto responsabile.

Da Terminale root impartiamo il comando:

install-dongle

Lo script di installazione ci chiede subito il numero di telefono attivo sulla SIM. Inseriamolo ora utilizzando il formato internazionale come ad esempio: +393312094666

Subito dopo lo script di installazione ci chiede a quale indirizzo email inoltrare gli SMS ricevuti dalla SIM quindi inseriamo ora un indirizzo email valido per ricevere gli SMS. Inoltre ci viene chiesto se desideriamo l’inoltro degli SMS su un numero di telefono mobile. A me basta riceverli via email quindi non ho inserito nulla, disabilitando la funzionalità.

Lo script di installazione fa il suo lavoro e poi ci chiede se vogliamo installare una pagina protetta da Password per comporre ed inviare SMS attraverso la SIM installata nella chiavetta USB. A me non interessa inviare SMS dal Centralino quindi… N

Would you like to install a webpage for sending SMS with
chan_dongle? (http://raspbx/sms/) [y/N]

Your configuration has been saved successfully to these files:
/etc/asterisk/dongle.conf

Adesso, impartiamo il comando:

fwconsole restart

Al termine, impartiamo il comando:

reboot

Fatto il reboot, inseriamo la penna in una porta USB libera. Vi suggerisco di procurarvi una piccola prolunga maschio-femmina perché così non si rischia di colpirla inavvertitamente. Anche un Hub USB alimentato, non sarebbe una cattiva idea.

Con un browser, accediamo ora all’interfaccia grafica del Centralino.

Una volta che abbiamo fornito le giuste credenziali, selezioniamo la voce di menu: Settings quindi Asterisk SIP Settings e disabilitiamo la voce Allow SIP Guests ponendo a No il pulsante. Anche la voce Allow Anonymous Inbound SIP Calls deve seere messa a No. Premiamo il tasto Submit e dopo scegliamo la voce sezione SIP Legacy Settings [chan_sip]. Scorriamo la pagina fino ad arrivare a Other SIP Settings. Inseriamo quindi “alwaysauthreject” = “yes” quindi  selezioniamo il pulsante “Submit” e poi il pulsante rosso  “Apply Config”.

Adesso andiamo in Connectivity – Trunks e scegliamo +Add Custom Trunk. Definiamo il nome per questo Tronco (esempio: Dongle_GSM) ed impostiamo per Outbound CallerID  il numero  associato alla nostra SIM. nel formato internazionale (+391234567890)  nel campo Maximum Channels ovviamente metteremo 1.

Selezioniamo la sezione “Dialed Number Manipulation Rules e nel campo “match pattern” inseriamo  “3XXXXXXXXX”. Spostiamoci ora nella sezione “Custom settings” ed inseriamo nel campo “ “: dongle/dongle0/$OUTNUM$

Selezioniamo ora “Submit” quindi il solito pulsante rosso “Apply Config”.

Adesso dobbiamo impostare una Rotta in Uscita ed una Rotta in Entrata per le chiamate in ingresso ed uscita dalla SIM inserita nella chiavetta USB.

Scegliamo la voce di menu “Connectivity” quindi “+Add Inbound Route”. Nel campo “Description” potremmo mettere “Dongle_GSM”. Nel campo  “DID Number” inseriamo il numero di telefono della SIM nel formato internazionale: +393921234561. Scorriamo la pagina fino ad arrivare alla voce “Set Destination”. Dal menu a tendina scegliamo “Extensions”. Visto che non abbiamo ancora un interno, il Centralino ci invita a crearne uno. Scegliamo quindi +Add New SIP (Legacy) [chan_sip] Extension. In “User Extension” scegliamo un numero di interno. 200?  In Display Name possiamo mettere 200. Impostiamo una Password moooolto complessa per l’interno 200 (vi suggerisco di accettare la password proposta dal Sistema).

Nella sezione “Voicemail” abilitiamo la casella vocale. La Password per la Voicemail potrebbe essere 250. Nel campo “Require From Same Extension” mettiamo Si. Poi “Disable (*) in Voicemail Menu” scegliamo Yes. Nel campo “Email Address” mettiamo l’indirizzo email al quale inoltrare i messaggi vocali ricevuti. “Email Attachment” va messo a Yes. Premiamo il pulsante “Save” quindi il pulsante “Submit” e poi il solito pulante rosso “Apply Config”.

Personalmente ho registrato l’interno su un Gigaset IP. Se voi NON avete un telefono IP ed avete abilitato la Voicemail, potete comunque effettuare un test. Prendete un telefono e chiamate il numero associato alla SIM inserita nella penna USB. Ho telefonato ed il Gigaset ha trillato ma NON ho risposto quindi il sistema mi ha offerto di lasciare un messaggio vocale. Controllo la mia email per vedere se l’ho ricevuto ed effettivamente il messaggio vocale è stato recapitato. Adesso proviamo con un SMS inviato alla SIM inserita nella pennetta che dovrebbe essermi ugualmente recapitato via email. Ok, ho ricevuto il messaggio che ho inviato. Funziona tutto.

Mi direte voi: “A me non funziona!”

Prima di tutto, controllate di aver seguito TUTTI i passaggi illustrati nel mio tutorial perché NON ho scritto NULLA a memoria ma ho ESATTAMENTE applicato e POI ho scritto. Certamente, potrebbero esserci delle impostazioni che vi sono sfuggite. Prima di chiedermi aiuto, CONTROLLATE ben bene e poi… Se potrò vi aiuterò.

Bene. a questo punto, abbiamo perso un po’ di tempo a “costruire” il nostro sistema. Quello che vi suggerisco di fare, è molto semplice e rappresenta la prassi per me, non solo per i centralini ma per ogni macchina che uso. Faccio immagini disco da salvare da qualche parte ED ANCHE clonazione del disco di sistema su altri dischi (due dischi di marca differente acquistati in periodi differenti) che mi potranno servire in caso di catastrofe. Essendo immagini disco, le due copie sono avviabili ed uguali al disco di sistema che dovesse morire improvvisamente, quindi sono immediatamente operativo in caso di disastri.

La stessa cosa vale per la MicroSD utilizzata nella RaspBerry Pi. Ne ho due della stessa marca e stessa capienza e clono la MicroSD di sistema, sopra le altre due schedine.

Se invece disponete di due adattatori USB per schede SD, allora Balena Etcher è un metodo molto semplice. Seguire questo collegamento per scaricare il software.

Seguendo questo collegamento https://www.raspberryitaly.com/backup-scheda-sd/ potrete avere un ulteriore aiuto su come clonare la vostra mini SD.

Se invece volete fare le cose in grande, Clonezilla ANCHE per le MicroSD: seguendo questo collegamento. Con Balena Etcher scrivete l’immagine di Clonezilla su una penna USB e fate il boot del vostro computer dalla penna USB.

Bene, impartiamo il comando:

poweroff

Quando la nostra scatoletta si è spenta, estraiamo da essa la MicroSD ed inseriamola in uno dei due adattatori in nostro possesso mentre nell’altro adattatore, inseriamo la schedina su cui clonare la MicroSD di sistema. Mandate in esecuzione Balena Etcher e scegliete dalla schermata iniziale, la voce “Clone drive” poi selezionate la sorgente e la destinazione. Oppure usate Clonezilla, fate come vi pare.

Dovete stare attenti, con Balena Etcher. Vi suggerisco di inserire prima la MicroSD di destinazione e prendere nota di ciò che vi dice il sistema e poi di inserire la MicroSD di cui volete fare la clonazione. Ad esempio, avendole inserite entrambe in due adattatori USB, il risultato è quello che segue. e se non si è presa nota dei messaggi di sistema. come essere sicuri di quale sia la sorgente e la destinazione? Badate a quello che fate e clonate la MicroSD.

Esempio di clonazione MicroSD con Balena Etcher
Esempio di clonazione MicroSD con Balena Etcher

 

Se volete aggiungere un Modulo RTC per disporre del tempo corretto in caso vi si rompa una porta Ethernet sul Router, seguite questo collegamento per le istruzioni.

 

Se questa pagina ti è stata utile, allora condividila!