ATTENZIONE
tutorial non completo
non testato
mi è venuto in odio
basta fare le 5 del mattino!
C’è di meglio da fare nella vita!

Dopo essere passato alla FTTH di Tiscali, ho ricevuto in comodato d’uso il FRITZ! 7530. Da quel momento in poi non sono riuscito ad ottenere risposta dalla porta WSS. Il Mini Centralino è stato messo in DMZ ma a quanto pare per il 7530 la DMZ non è una vera DMZ. Dall’interno, FreePBX risponde ma dall’esterno, NO!

Ho quindi provato a cambiare Router e rimettere in funzione il vecchio FRITZ! 7390, seguendo queste istruzioni presenti sul sito della AVM, Dovendo verificare i dati presenti nell’Area Clienti di Tiscali, ho chiamato il numero a pagamento 892130 ma per ben due volte, dopo aver esposto la mia richiesta all’assistenza tecnica, la linea è caduta. Proprio in questo momento, ho fatto la terza telefonata al numero a pagamento e questa volta la linea non è caduta. L’Operatore mi ha detto che devo inserire le chiavi SIP per instaurare la connessione con un Router. Ho fatto presente che a me servono i parametri PPP e lui mi ha ribadito che devo utilizzare Nome Utente SIP e Password SIP. come chiavi PPP.

Proverò a fare come mi ha detto.

Prima di addentrarmi nella configurazione del Mini Centralino per WebRTC, vi illustro due alternative possibili all’impazzimento ed alle nottate in bianco. La prima alternativa è rappresentata da OnSIP.com che grazie al suo SaySo rende le chiamate dal proprio sito Web, una passeggiata.

Aprite un account gratuito su OnSIP.com poi impostate un sub-account e personalizzate la schermata di chiamata, prendete nota dei parametri SIP relativi al sub-account. Poi nel Mini Centralino, create un Trunk:

Nome Fascio: OnSIP
Outbound CallerID: sub-account@main-account.onsip.com

Dial Number Manipulation Rules: lasciate in bianco perché non ci serve chiamare

sip Settings: Outbound: lasciate tutto in bianco

sip Settings: Incoming:

: sub-account@main-account.onsip.com

Dettagli UTENTE:

realm=main-account.onsip.com
type=peer&user
insecure=port,invite
host=sip.onsip.com
dtmfmode=rfc2833&RFC2833
disallow=all
allow=ulaw
fromuser=sub-account
fromdomain=main-account.onsip.com
username=main-account
secret=Password_SIP
context=from-trunk

Register String: sub-account@main-account.onsip.com:Password-SIP:main-account@sip.onsip.com

Chiaramente nel centralino impostate una Rotta di Entrata e puntatela verso un gruppo di Interni oppure un IVR, insomma fate come vi pare.

Per ricevere le chiamate in mobilità, utilizzate un Interno IAX2 da registrare su di un Client come ZoiPer. Se abbinato ad un servizio come noip.com potrete impostare nell’Interno del Mini Centralino, campo Avanced, permit ed inserire la stringa: alessandro-cellulare.dominio-noip/0.0.0.0. Ovviamente, in questo caso, sarà necessario installare sul telefono in mobilità anche un Client che si occupi di aggiornare il vostro IP quando passate da una Rete Wi-Fi ai dati mobili.

Aprite una finestra del Browser e chiamatemi seguendo questo collegamento.

Senza dover fare sforzi di Ercole fino alle ore 5 del mattino, avete ora le chiamate WebRTC perfettamente funzionanti.

ATTENZIONE

In fase di registrazione vi suggerisco di inserire un numero di telefono USA. Callcentric.com ve ne vende uno ad un Dollaro Americano al mese.

ATTENZIONE

Non inviate richieste di assistenza tecnica ad OnSIP! Non gradiscono quando si è su un piano gratuito!

Un altro servizio, questa volta a pagamento, per ricevere chiamate WebRTC dal vostro sito Web, è tele-finity.com. Se il vostro Sito è basato su WordPress, c’è anche un Plug-in apposito per rendere l’implementazione del codice una passeggiata di salute.

Per ricevere le chiamate dal vostro sito Web con Tele-finity va bene qualsiasi cosa accetti chiamate SIP in ingresso. Ad esempio con il FRITZ! 7530 ho creato un Tronco (Telefonia, Propri Numeri) quindi ho impostato un Nome Utente con una password complessa e nel campo Registrer ho inserito un punto (.) perché altrimenti il FRITZ! protesta, invia email di avviso che non si può registrare, si accendono i LED sui cordless etc. etc. etc. Con un punto nel campo Registrar, il FRITZ! 7530 smette di rompere i Bosoni di Higgs. Inoltre, ho impostato un trasferimento di chiamata parallela nel FRITZ! in modo che trillino sia i cordless che il mio terminale in mobilità. Se sono a casa, rispondo con il cordless oppure se sono fuori, con il cellulare. Se risponde mia moglie? Mi spiace, per le mogli non sono riuscito a trovare una cura, nemmeno un vaccino sperimentale. NIENTE!

ATTENZIONE

Quando utilizzate un Client sul vostro terminale in mobilità, se avete inserito la stringa alessandro-cellulare.dominio-noip/0.0.0.0. ricordate che il Client per l’aggiornamento del vostro IP deve partire PRIMA che si avvii ad esempio Zoiper. Inoltre badate bene di escludere i due applicativi dal piano di risparmio energetico del vostro terminale altrimenti non sarete in grado di ricevere!. Se proprio non riuscite ad escludere sia il Client DynDNS che il Client SIP dal risparmio energetico, NON inserite la stringa nella configurazione dell’Interno IAX2. Utente avvisato, mezzo salvato.

Tornando alla nostra RaspBerry come Mini Centralino: con WebRTC abilitato, riassumo brevemente i passaggi necessari:

Da Terminale Root:

apt update

apt install snapd

reboot

snap install core; snap refresh core

snap install certbot –classic

certbot –apache

Si ottiene: “Congratulations! You have successfully enabled https://il vostro dominio.qualcosa

ln -s /snap/bin/certbot /usr/bin/certbot

asterisk -r

core stop gracefully

apachectl -k stop

nano /etc/asterisk/pjsip_custom.conf

Inserire quanto segue:

;===============ENDPOINT TEMPLATES

[endpoint-basic](!)
type=endpoint
language=it
dtls_auto_generate_cert=yes
webrtc=yes

disallow=all
allow=ulaw

[auth-userpass](!)
type=auth
auth_type=userpass

[aor-single-reg](!)
type=aor
max_contacts=10

;===============EXTENSIONS

[250](endpoint-basic)
auth=250
aors=250
context=from-pstn
[250](auth-userpass)
username=250
password=1234
[250](aor-single-reg)

Poi sempre da Terminale Root:

cp /etc/letsencrypt/live/webrtc.mcpw.net/cert.pem /etc/asterisk/keys/integration/certificate.pem

cp /etc/letsencrypt/live/webrtc.mcpw.net/privkey.pem /etc/asterisk/keys/integration/webserver.key

reboot

Quando il Mini Centralino si è riavviato, aprire una finestra del Browser e digitare nella barra degli indirizzi:

https://vostro.dominio.qualcosa/

Se vi appare la schermata di FreePBX protetta da SSL, tutto è andato bene, altrimenti fate le 5 del mattino, OK?

Dopo aver installato il certificato Let’s Encrypt nella Raspberry (porte TCP 80 e 443 ruotate nel Router) ed essendo certi che la scatoletta risponda alle richieste SSL, ci sono delle configurazioni da fare in FreePBX.

Siate certi che WebRTC usi chan_pjsip e SIP sia completamente disabilitato.

a) Settings -> Advanced Settings -> Display Read Only Settings -> Yes
Settings -> Advanced Settings -> Override Readonly Settings -> Yes, Submit
Settings -> Advanced Settings -> Force WebSocket Mode -> PJSIP, Submit
Creare un interno pjsip poi editarne i settaggi. Interno 200 Password: db226bfa49a5cf4e8e10a60bf2dbd290 APPLY! Reload!

b) Applications -> Extensions -> Edit Extension – PJSIP Advanced:
Context: from-pstn
Advanced -> Enable AVPF -> Yes
Advanced -> Enable ICE Support -> Yes
Advanced -> Enable rtcp Mux -> Yes
Advanced -> Disallowed Codecs: all
Advanced -> Allowed Codecs: ulaw
Advanced -> Transport: 0.0.0.0-udp
Advanced -> Enable WebRTC defaults -> Yes
Advanced -> Media Encryption -> DTLS-SRTP
Advanced -> Enable DTLS -> Yes
Advanced -> Use Certificate -> LetsEncrypt generated certificate
Advanced -> DTLS Verify – Fingerprint, Submit

Apply Config

SIP Settings -> General – NAT Settings: External Address: (Detect Network Address)
SIP Settings -> SIP PJSIP Settings:
Show Advanced Settings: yes (Apply)
udp – 0.0.0.0 – All (SI)
WSS 0.0.0.0-All: SI
Port to Listen On : 5060 (se possibile). Se utilizzate un FRITZ! come Router, cambiate la porta di ascolto di PJSIP. Il FRITZ! riserva per sé la 5060.

Adesso un quintale e mezzo di BLA BLA BLA
(che prima o poi editerò)

MiniPBX è preconfigurato con l’indirizzo 192.168.88.100. Possiamo cambiare lo IP della nostra macchina con cui vogliamo accedere al MiniPBX e metterla ad esempio come IP statico: 192.168.88.101 Netmask 255.255.255.0 e lasciando in bianco il Gateway.
Accediamo al MiniPBX digitando il suo IP di default: 192.168.88.100, facciamo login con Nome Utente admin e Password admin poi, una volta nell’interfaccia grafica del MiniPBX, scegliamo la voce di menù Amministrazione, quindi Raspberry Admin.
Una volta nel Raspberry Admin, selezioniamo la voce Network Settings.
Possiamo anche accettare il valore di default per Host Name o cambiarlo a nostro piacimento, per Static IP/Netmask mettiamo un IP libero e coerente con la nostra Rete Locale ad esempio 192.168.1.200 nel formato 192.168.1.200/24.
Il Gateway sarà lo IP del nostro Router mentre alla voce DNS Servers List possiamo inserire gli IP per la risoluzione dei nomi di dominio. Ad esempio, 192.168.1.1 8.8.8.8
Selezionare il pulsante Conferma per applicare le modifiche. Dopo qualche tempo, l’interfaccia grafica del MiniPBX non sarà più raggiungibile. Rimettiamo come era prima la configurazione della nostra scheda di Rete della nostra macchina. Era in DHCP? Rimettetela in DHCP. Era un IP statico? Rimettete lo IP statico che avevate prima.

Accedete nuovamente al MiniPBX utilizzando lo IP che gli avete assegnato. Adesso sarà intelligente cambiare la coppia di credenziali di default per il nostro MiniCentralino che lo ripeto sono admin admin. Quindi selezioniamo nella pagina WEB di FreePBX, la voce di menù Amministrazione, quindi Amministratori. Selezioniamo la “linguetta” a destra nella schermata che mostrerà un menù orizzontale a scomparsa e selezioniamo dall’elenco lo Username admin. Nella parte centrale dell’interfaccia Web, comparirà admin con sotto degli asterischi come password. Sovrascriviamo il nome utente admin con un nuovo Username per l’amministratore e specifichiamo una password abbastanza complicata. Ad esempio, Username: PincoPallo Password: Ciccio.Messere.4321 quindi con il pulsante Conferma salviamo le modifiche che entrano in vigore immediatamente.
Andiamo alla voce di menù Settings quindi Advanced Settings, scorriamo la pagina fino ad arrivare alla voce Country Indication Tones e mettiamo in quel campo Italy, scegliendo dal menù a tendina.
Adesso scegliamo la voce di menù Settings quindi Advanced Settings. Cerchiamo nella pagina la voce Country Indication Tones e selezioniamo Italy.
Sempre nella stessa pagina cerchiamo SIP Channel Driver e selezioniamo chan_pjsip invece che both quindi alla voce formato orario dell’orologio parlante, mettiamo 24 Hour Format. Selezioniamo il pulsante Conferma quindi selezioniamo il pulsante rosso in alto a destra Apply Config. il MiniPBX ricaricherà le impostazioni.
Una volta ricaricate le impostazioni, alla voce di menù Applicazioni quindi Interni, +Aggiungi Interno, il MiniPBX non presenterà la possibilità di aggiungere un Interno in tecnologia SIP ma soltanto PJSIP.

Per cambiare la Porta di segnalazione di PJSIP bisogna scegliere la voce di menù Settings quindi selezionare Asterisk SIP Settings. Nella pagina selezionare la “linguetta” SIP Settings [chan_pjsip] quindi cercare (o scorrere) nella pagina la voce Port to Listen On e cambiarne il valore da 5060 a 5160. Prima di selezionare il pulsante Conferma, cerchiamo la voce “tcp – 0.0.0.0 – All” e selezionando “Si” abilitiamo questa funzionalità. Quindi applichiamo le modifiche con “Salva” e poi selezioniamo il pulsante rosso in alto a destra “Apply Config”.

Adesso, permettiamo al nostro MiniPBX di conoscere dove si trova:

Andiamo all’interfaccia Web di FreePBX e scegliamo dal menù Settings la voce Asterisk SIP Settings. Scorriamo la pagina alla sezione NAT Settings quindi nel campo External Address scegliamo il pulsante Detect Network Settings. Dopo aver selezionato il pulsante, il nostro Centralino riempirà anche il campo “Local Networks” con i dati coerenti con la nostra LAN (ad esempio: 192.168.1.0 / 24) e quindi ha cognizione di dove si trova. Conferma e via di questo passo, come indicato ovunque in questo Tutorial.

Creiamo un Interno PJSIP per il nostro Siemens C470IP ed uno per il nostro FRITZ! Box: interni 200 e 201, in questo tutorial.

Andiamo sul menù Applicazioni nel centralino, quindi Interni dove ne troviamo ben dieci di interni PJSIP già configurati. Prendiamo l’Interno 200 e 201 e sovrascriviamo la password nel campo Secret. Ad esempio: Trappolino.Tric.e.Trac. Selezioniamo Conferma poi Apply Config. Cancelliamo gli altri interni.

Andiamo nel nostro Gigaset (meglio se lo avete resettato alla configurazione di fabbrica) abilitiamo la Configurazione Avanzata ed inseriamo:
Nome o numero connessione: PJSIP (o quello che vi pare), quindi:

Autenticazione Nome: 200
Autenticazione Password: Trappolino.Tric.e.Trac
Username: 200
Nome visualizzato: 200
Dominio: 192.168.1.200 (lo IP del MiniPBX)
Indirizzo server proxy: 192.168.1.200 (lo IP del MiniPBX)
Porta server proxy: 5160
Registrar server: 192.168.1.200 (lo IP del MiniPBX)
Porta registrar server: 5160
Tempo di refresh Registrazione: 60 secondi
STUN abilitato: No
Modalità proxy outbound: Automatico
Proxy outbound: 192.168.1.200
Porta proxy outbound: 5160

Salvare le impostazioni nel Gigaset.

Ci vorrà un po’ di tempo, forse è meglio spegnere e riaccendere il Gigaset?

Fatto questo, apriamo l’interfaccia Web del Router VoIP FRITZ!Box WLAN 7390 FRITZ!OS firmware 06.86 (è importante perché altre versioni del FRITZ! potrebbero richiedere diverse impostazioni).

Facciamo login, andiamo nella voce di menù Telefonia poi scegliamo Propri numeri. Poi Nuovo numero e popoliamo delle credenziali per l’interno 201 (il 200 lo abbiamo nel Gigaset):

Numero per la registrazione: 201
Numero interno nel FRITZ!Box: 201
Nome utente: 201
Password: Trappolino.Tric.e.Trac
Registrar: 192.168.1.200:5160
Server Proxy: 192.168.1.200:5160

Selezioniamo il pulsante OK ed aspettiamo fiduciosi. L’interno 201 risulterà registrato correttamente.

Prendiamo il nostro Gigaset IP, digitiamo 200#locazione ad esempio 200#5 se abbiamo scelto la locazione 5 nel Gigaset e premiamo il tasto di chiamata. Trillerà il telefono collegato al FRITZ! e ci parliamo. In caso di problemi scegliete il menù “Amministrazione” quindi “Asterisk CLI” ed immettete il comando “pjsip show endpoints” per verificare la corretta registrazione dei due interni.

Bene, adesso vorremmo ricevere da altri oltre a noi stessi, giusto?

Andiamo nel centralino alla voce di menù Connectivity quindi Fasci, poi + Add Trunk, quindi + Add SIP (chan_pjsip) Trunk (ricordate che abbiamo disabilitato completamente SIP?)

ATTENZIONE!

Ho un vecchio account Messagenet, questa configurazione potrebbe non andare bene per i nuovi account.

<General>
“Nome Fascio”: Il vostro numero di telefono Messagenet
“Outbound CallerID” Il vostro UserID SIP (ad esempio 5305353).
Maximum Channels: 1 ma dipende dal vostro contratto. Lasciate tutto il resto com’è.

Linguetta <Dialed Number Manipulation Rules>

0ZXXX.
4242
800.
3ZXXXXXXXX
5XXXXXX (che serve per chiamare altri utenti Messagenet)

Per ogni campo compilato, sarà necessario selezionare il pulsante “+” per farne comparire un nuovo campo.

Linguetta <pjsip Settings>

General

Username: Il vostro UserID SIP (ad esempio 5305353)
Secret: la vostra password SIP non quella di accesso all’area riservata di Messagenet!
Authentication: Outbound
Registration: Send
Language Code: Italiano
SIP Server: sip.messagenet.it
SIP Server Port: 5061
Context: from-pstn
Transport: 0.0.0.0-udp

Linguetta <Advanced>

DTMF Mode: Auto
Send Connected Line: No
Permanent Auth Rejection: Si
Forbidden Retry Interval: 10
Fatal Retry Interval: 0
General Retry Interval: 60
Expiration: 3600
Max Reties: 9
Qualify Frequency: 60
Outbound Proxy: lasciare vuoto
Contact User: Il vostro numero di telefono Messagenet
From Domain: sip.messagenet.it
From User: Il vostro UserID SIP (ad esempio 5305353)
Client URI: sip:5305353@sip.messagenet.it:5061
Server URI: sip:sip.messagenet.it:5061
Media Address: lasciare vuoto
AOR: sip:sip.messagenet.it:5061
Match (Permit): lasciare vuoto
Support Path: No
Support T.38 UDPTL: No
T.38 UDPTL Error Correction: None
T.38 UDPTL NAT: No
T.38 UDPTL MAXDATAGRAM: lasciare vuoto
Fax Detect: No
Trust RPID/PAI: No
Send RPID/PAI: No
Send Private CallerID Information: No
Match Inbound Authentication: Predefinito
Inband Progress: No
Direct Media: No
Rewrite Contact: Si
RTP Symmetric: Si
Media Encryption: None
Force rport: Si
Message Context: Incoming

Linguetta <Codecs>: lasciate tutto com’è nel caso cambiate secondo le vostre preferenze o necessità.

Scegliete il pulsante Conferma e poi Apply Config.

Possiamo ora osservare nella Dashboard del centralino che abbiamo due Utenti online. In alternativa da “Amministrazione”, scegliamo “Asterisk CLI” ed inseriamo la stringa: pjsip list registrations e poi “Send Command” e leggete la risposta al comando che vi indicherà Registered accanto al Tronco Messagenet.

Andiamo avanti con Connectivity quindi Rotte in entrata quindi + Add Inbound Route.

Linguetta <General>
Descrizione: il vostro numero Messagenet o quello che vi pare.
Imposta Destinazione: Interni
Scegliamo l’interno. Mandiamolo al Gigaset quindi interno 201.

Linguetta <Advanced>

Indication Zone Country: Italy
Segnale di Squillo: Si
DID Number: il vostro numero Messagenet
Conferma e poi Apply Settings.

Prendete il vostro cellulare e chiamate il numero Messagenet. Trillerà il Gigaset. Rispondete.

Proviamo ora con una numerazione Clouditalia

Andiamo nel Trunk Messagenet impostato nel nostro MiniPBX e selezioniamo il pulsante Duplicate. Quando il processo di duplicazione è terminato, possiamo andare a cambiare i parametri per adattarli a Clouditalia.

Cosa dovete cambiare per Clouditalia? Nome utente (il vostro numero di telefono), server di registrazione (voip.eutelia.it), la porta (5060). Il resto va bene così come per Messagenet.

Nel menù del MiniPBX, scegliamo Amministrazione, scegliamo Asterisk CLI ed inseriamo la stringa: pjsip list registrations e poi Send Command e leggete la risposta al comando.

Adesso andiamo di WebRTC

Dobbiamo entrare nella Raspberry con SSH. Copio le istruzioni dal resto del mio tutorial perché so benissimo che siete pigri e volete tutto premasticato.
Intanto, per favore ruotate nel vostro router le porte 443, 80, 8088 e 8089 verso lo IP dello scatolotto che funge da MiniPBX: 192.168.1.200 nel mio tutorial. Vi serviranno per il certbot di Let’s Encrypt e per le comunicazioni WebRTC. Altre porte da aprire sono (troppe ma per ora va bene così) le UDP da 10.000 a 20.000. Ruotatele nel vostro Router verso lo IP della RaspBerry MiniCentralino.
Se il vostro Internet Service Provider non vi ha fornito di un IP statico, dovete procurarvi un servizio AFFIDABILE di Dynamic IP address. Noip.com potrebbe essere utile? Badate che il vostro Router disponga di un servizio di aggiornamento automatico dello IP dinamico, altrimenti scegliete un servizio compatibile con il vostro Router se no vi toccherà installare un client in una delle vostre macchine.

La password di root dello scatolotto di default è raspi, quindi il comando da inviare via terminale per collegarsi via SSH al Raspberry su cui gira il centralino, sarà:

ssh root@192.168.1.200

Poiché sono paranoico e non mi piace l’accesso diretto root via SSH, per sicurezza disabilitiamo l’accesso root e forziamo l’accesso utente. Ma prima, definiamo un nome utente.

Ora che siamo collegati come root, da terminale SSH, lanciamo il comando:

adduser quellochetipare

Immettiamo la password (complessa) e diversa da qualsiasi altra password immessa nel centralino per il nuovo utente “quellochetipare” compilando i campi che il Sistema Operativo ci propone: Nuova password: PincoPallo.32, Nome completo, Stanza (132 se siete in un albergo), Numero di Telefono del Lavoro, Numero di Telefono di Casa, Altro. Poi ci chiede se le informazioni immesse per il nuovo utente “quellochetipare” sono corrette. Rispondiamo Si e premiamo il tasto Invio.

Abbiamo appena creato un nuovo utente che si chiama “quellochetipare” con la sua password molto complessa PincoPallo.32, non mi stanco di ripetere, differente dalla password di root e da qualsiasi altra password noi si abbia immesso in FreePBX. Nel caso volessimo dopo un mese cambiare la password per l’utente “quellochetipare” ci sarà sufficiente effettuare il login via SSH con il comando ssh quellochetipare@192.168.1.200 e digitare il comando “passwd”. Adesso però dobbiamo prima aggiungere l’utente quellochetipare affinché abbia i privilegi di “sudo”. Da terminale SSH con i privilegi di root, NON immettiamo il comando “abbondante” nel senso che non avremo bisogno di tutti questi permessi che in un sistema desktop possono essere anche necessari, come ad esempio (tutto in una sola riga):

usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,gpio,i2c,spi quellochetipare

A noi, ripeto, non servono tutti questi permessi quindi immettiamo il comando:

usermod -a -G sudo quellochetipare

Digitiamo exit nel terminale ed usciamo e rientriamo con:
ssh quellochetipare@192.168.1.200
Password: PincoPallo.32

Lanciamo il comando:

su

ed immettiamo la password di default che è ancora raspi ma che DOBBIAMO cambiare!

Da terminale, con i privilegi di root, digitiamo quindi il comando:

passwd

Il sistema ci chiede la nuova password di root e noi immettiamo: PincoPallo.33 e confermiamo la password. Il sistema ci avvisa che la password di root è aggiornata correttamente.

Per disabilitare l’accesso diretto a root, obbligando ad accedere al sistema prima come utente “quellochetipare” e solo poi come root attraverso il comando “su”, da terminale, come root, lanciamo il comando:

nano /etc/ssh/sshd_config

Cerchiamo e poi cambiamo il valore della stringa: “PermitRootLogin” da “yes” a “no”.
Salviamo il file con CRTL+X, accettiamo le proposte offerte e poi da terminale, sempre come root, lanciamo il comando:

/etc/init.d/ssh restart

Diamo il comando: exit tante volte quante servono a chiudere il terminale.

Adesso facciamo la prova.

ssh root@indirizzo_IP_della_Raspberry

Non ci fa entrareeeee! Ci dice Permission denied! Ok. Allora, premiamo CTRL+C e torniamo al prompt dei comandi della nostra macchina. Quindi sempre da terminale digitiamo:

ssh quellochetipare@indirizzo_IP_della_Raspberry ovvero l’indirizzo IP che avete impostato per il vostro centralino.
Password: PincoPallo.32 (password complicatissima di quellochetipare).

Siamo entrati come utente “quellochetipare” con il comando “su” e password PincoPallo.33 acquisiamo i diritti di root. In questo modo, un attaccante dovrà conoscere sia il nome utente che la password utente ma anche la password di root.

Adesso diamo il comando da terminale SSH come root:

fwconsole stop gracefully (oppure stop now) e poi il comando per fermare Apache2:

/etc/init.d/apache2 stop

Quindi il comando:

apt update

Aspettate che finisca poi date il comando:

apt-get update && apt-get dist-upgrade

Continuare? [S/n] Ovviamente Si!

Dipende dalla vostra schedina MicroSD il tempo necessario a completare le operazioni. Infatti, se avete una MicroSD lenta, potreste anche attendere molto. Dopo aver fatto pranzo, guardato una di quelle noiose repliche in TV e fatto un sonnellino postprandiale, tornate al computer e scegliete “keep the local version currently installed” (premete il tasto INVIO sulla vostra tastiera per proseguire) ed andate a portare fuori il cane perché l’attesa non è finita.

Al termine da terminale SSH come root, digitate il comando:

reboot

Ed otterrete: Connection to 192.168.1.200 closed.

Accedete dopo il reboot con ssh quellochetipare@192.168.200 ed inserite la password: PincoPallo.32
Poi date il comando su ed inserite la password di root: PincoPallo.33.
Una volta ottenuto nuovamente l’accesso root dopo il reboot, impartite il comando:

apt update
apt install snapd

Continuare? [S/n] Si!

Poi ancora: reboot

Riaccedere via SSH come avete fatto in precedenza quindi impartire il comando come root:

snap install certbot –classic

Adesso date il comando:

ln -s /snap/bin/certbot /usr/bin/certbot

Poi il comando, sempre da root:

snap install core; snap refresh core

Dopo che il sistema ha finito di aggiornare il Certbot snap plugin, date il comando:

certbot –apache

Automagicamente… PUFF!
Inserite il vostro indirizzo email (gmail?)
Accettate i termini di licenza (Y)es/(N)o: Yessa!!!

Glielo vogliamo dare il nostro indirizzo email a quei bravi ragazzi della Electronic Frontier Foundation? Yessa!!!

Account registered.
No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’ to cancel):

Vi avevo detto di aprire la porta 80, 443, 8088 e 8089 TCP e di ruotare queste porte nel vostro Router verso lo IP dello scatolotto. Vi avevo detto che nel caso non disponete di un IP statico fornito dal vostro fornitore di connettività, è necessario un servizio di aggiornamento del vostro IP del tipo noip.com? Vi avevo detto di verificare se il vostro Router dispone della capacità di aggiornare automaticamente il nome di dominio ottenuto dal servizio che evete scelto? Se non avete fatto tutte queste cose, non potete andare avanti!

Ammesso che abbiate fatto tutto quello sopra elencato ed avete un vostro dominio del tipo scatolaroma.teseo.net inserite il vostro dominio ora e premete INVIO sulla vostra tastiera. Quindi, ricapitolando:

No names were found in your configuration files. Please enter in your domain
name(s) (comma and/or space separated) (Enter ‘c’ to cancel): scatolaroma.teseo.net
Requesting a certificate for scatolaroma.teseo.net
Performing the following challenges:
http-01 challenge for scatolaroma.teseo.net
Waiting for verification…
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf
Redirecting vhost in /etc/apache2/sites-enabled/000-default.conf to ssl vhost in /etc/apache2/sites-available/000-default-le-ssl.conf

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Congratulations! You have successfully enabled https://scatolaroma.teseo.net
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Subscribe to the EFF mailing list (email: ciccio@gmail.com).

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/scatolaroma.teseo.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/scatolaroma.teseo.net/privkey.pem
Your certificate will expire on 2021-05-01. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the “certonly” option. To non-interactively renew *all* of your certificates, run “certbot renew”
– If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https//letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Ora aprite una nuoiva scheda nel vostro Browser e digitate il vostro nome di dominio appena registrato, ad esempio:

https://scatolaroma.teseo.net

PUFF!!! Si apre la pagina del vostro Centralino!
Questo però a me non piace per niente. Per il momento, vi suggerisco di utilizzare nomi di amministratore e password MOLTO complesse e lo stesso vale per le password degli interni. Poi vediamo come risolvere la questione.

Adesso, ci tocca continuare a “sporcarci le mani” con il terminale. ssh quellochetipare@192.168.1.200 password PincoPallo.32 poi il comando su quindi la password di root PincoPallo.33

Quindi il comando:

asterisk -r e poi il comando core stop gracefully

poi date il comando exit per uscire dalla CLI

nano /etc/asterisk/pjsip_custom.conf

Inserire quanto segue:

;===============ENDPOINT TEMPLATES

[endpoint-basic](!)
type=endpoint
language=it
dtls_auto_generate_cert=yes
webrtc=yes

disallow=all
allow=ulaw

[auth-userpass](!)
type=auth
auth_type=userpass

[aor-single-reg](!)
type=aor
max_contacts=10

;===============EXTENSIONS

[250](endpoint-basic)
auth=250
aors=250
context=from-pstn
[250](auth-userpass)
username=250
password=3312094854
[250](aor-single-reg)

CTRL+X per salvare il file, rispondere con S quindi premere il tasto INVIO.

Adesso che Asterisk è  ancora fermo, da root impartite il comando:

Ammesso che siate consapevoli che scatolaroma.teseo.net debba essere cambiato con il vostro nome di dominio, impartite i seguenti comandi:

cp /etc/letsencrypt/live/scatolaroma.teseo.net/cert.pem /etc/asterisk/keys/integration/certificate.pem e premete il tasto INVIO.

Poi date il comando:

cp /etc/letsencrypt/live/scatolaroma.teseo.net/privkey.pem /etc/asterisk/keys/integration/webserver.key e premete il tasto INVIO

Poi il comando:

service apache2 stop

Poi il comando: nano /etc/asterisk/http.conf

Quindi togliete il simbolo del cancelletto dalla direttiva #include http additional.conf e salvate le modifiche con CTRL+X

Facciamo ripartire Apache con il comando:

service apache2 start (o restart)

Adesso impartite il comando:

fwconsole restart

Benissimo, create un nuovo servizio nel vostro Gigaset IP copiando quanto vi ho scritto precedentemente, mettendo 250 come nome utente e 3312094854 come password. PUFF!!!! Adesso il Gigaset è registrato nel centralino e pronto per ricevere chiamate WebRTC. Più facile di così, si muore!

Se questa pagina ti è stata utile, allora condividila!