Configurazione Grandstream HT 503 con Asterisk e FreePBX

 

Configurazione Grandstream HT 503 con Asterisk e FreePBX

Configurazione Grandstream HT 503 con Asterisk e FreePBX. Questa guida mostra come configurare un Grandstream HT 503 con Asterisk e FreePBX. Il Grandstream HT 503 non è niente altro che un gateway/modulo ATA, che serve per utilizzare la propria linea telefonica all'interno di un PBX, nel mio caso lo utilizzo con Raspbx installato su un Raspberry pi 2. Di seguito mi limiterò a condividere gli screenshot della mia configurazione funzionante. Nell'immagine sopra si vedono due porte rj45 e 2 porte rj11, e si potrebbero utilizzare nel modo seguente:

  1. Line=FX0: bisogna inserire il cavo della propria linea telefonica.
  2. Phone=FXS: dove eventualmente andrà collegato un telefono analogico.
  3. WAN: inserire il cavo di rete.
  4. LAN: si può collegare direttamente un telefono voip.

Quindi l'obiettivo sarà quello di girare le chiamate che arrivano sulla nostra linea tradizionale ad un interno voip o analogico collegato al modulo ATA. L'indirizzo di default del Grandstream HT 503 è 192.168.2.1. In questa guida la rete è strutturata in questo modo:

  1. HT 503= 192.168.1.80
  2. Server PBX= 192.168.1.83
  3. numero principale= 023xxxxxx
  4. interno che squilla=101, ed essendo un telefono voip è collegato alla porta Lan

Status:

Grandstream HT 503 Asterisk e FreePBX

Basic setup:

è consigliabile settare l'ip dell'ATA in modo statico, nel mio caso ci pensa direttamente il router:

Grandstream HT 503 Asterisk e FreePBXGrandstream HT 503 Asterisk e FreePBX

in Unconditional Call Forward to Voip, inserire il proprio numero di telefono.

Advanced Settings:

Grandstream HT 503 Asterisk e FreePBX

f1=425@-12,f2=425-12,c=200/200-600/1000;
f1=425@-20,c=1000/4000;
f1=425@-20,c=500/500;
f1=425@-12,c=250/250;
f1=350@-11,f2=440@-11,c=100/100-100/100-100/100;
f1=425@-12,f2=425-12,f3=425@-12,c=400/200-600/100/100;
f1=350@-13,f2=440@-13,c=0/0;

FXS:

se non si usa si può lasciare non configurata.

fxs

fxs2

FX0:

Grandstream Device Configuration

sopra ci sono User ID e password, le quali poi saranno riportate al momento della crezione del Trunk in FreePBX.

Grandstream Device Configuration Grandstream Device Configuration Grandstream Device Configuration Grandstream Device Configuration

Adesso passare alla configurazione lato FreePBX, creando un Trunk con la linea principale:

trunk Configurazione Grandstream HT 503 con Asterisk e FreePBX

host=192.168.1.80
type=peer
context=from-trunk
authname=023xxxxxxx
secret=XXXXXXXXXX
canreinvite=no
insecure=port,invite
dtmfmode=rfc2833
nat=no
port=5062
disallow=all
allow=alaw&ulaw

come si vede il trunk punta al modulo ATA HT 503. Adesso bisogna creare l'Estensione 101, mettendo la stessa password anche sul telefono Voip che si andrà a configurare.

estensione

a questo punto bisogna dirottare le chiamate in entrata verso l'estensione 101, oppure verso un IVR o un gruppo di squillo. Andare in Connectivity-Inbound Routes:

inbound

poi andare in Connectivity-Outbound Routes:

outbound routes outbound routes

se tutto è andato bene, adesso si potranno ricevere e fare telefonate dalla nostra linea principale, passando dal centralino.

status

Updated: 12/06/2017

enjoy 😉

 

Wireshark abilitare interfacce di rete

 

wireshark abilitare interfacce di rete

 

Wireshark abilitare interfacce di rete. In questa guida verranno descritti i passaggi per abilitare le interfacce di rete in  wireshark Dopo avere avviato il programma bisogna andare in Capture-Options per scegliere l'interfaccia di rete per lo sniffing, ma di default queste non compaiono su Debian. Per abilitarle:

sudo apt-get install wireshark libcap2-bin
sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 755 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

a questo punto saranno visibili nel menu Capture-Options.

enjoy 😉

 

Asterisk 13 Freepbx 13 su Debian 8.3 e Debian 9 Stretch

 

Asterisk 13 Freepbx 13 su Debian 8.3 e Debian 9

 

 

Guida su come Installare Asterisk 13 e Freepbx 13 su Debian 8.3 Jessie e Debian 9 Stretch. Questa guida è stata testata da me su entrambe le versioni di Debian e funziona. Tutta la guida è stata fatta come utente ROOT.

Aggiornare il sistema:

# apt-get update && apt-get upgrade

se viene installato un nuovo kernel riavviare.

Scaricare le dipendenze ed i servizi necessari:

# apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3 libjansson-dev libapache2-mod-php5 libmyodbc

a metà installazione verrà chiesto per tre volte di settare una password per Mysql, LASCIARE IL CAMPO VUOTO. La password verrà generata in maniera automatica e sicura.

Scaricare l’occorrente: Pjproject, Jansson, Asterisk, Freepbx:

# cd /usr/src
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
# wget https://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2
# wget https://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz

Installare Pjproject:

# cd /usr/src
# tar -xjvf pjproject-2.4.5.tar.bz2
# cd pjproject-2.4.5
# CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
# make dep
# make -j4
# make install

Installare Jansson:

# cd /usr/src
# tar vxfz jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure
# make -j4
# make install

 Installare Asterisk 13:

# cd /usr/src
# tar xvfz asterisk-13-current.tar.gz
# cd asterisk-13.*
# contrib/scripts/get_mp3_source.sh
# ./contrib/scripts/install_prereq install
# ./configure
# make menuselect

a questo punto conviene dare un occhiata ed abilitare qualche modulo in più, come format_mp3:

Installare Asterisk 13 con Freepbx 12 su Raspberry pi 2 e Debian Jessie

# make -j4
# make install
# make config
# ldconfig

Installazione e configurazione di Mysql ed Apache2:

# pear install Console_Getopt
# useradd -m asterisk
# chown asterisk. /var/run/asterisk
# chown -R asterisk. /etc/asterisk
# chown -R asterisk. /var/{lib,log,spool}/asterisk
# chown -R asterisk. /usr/lib/asterisk
# rm -rf /var/www/html
# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
# sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# a2enmod rewrite
# service apache2 restart
# nano /etc/odbcinst.ini

ed incollare dentro:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

il percorso dei driver potrebbe essere diverso se non si è su una macchina x86_x64, per verificare il percorso:

# find / -name libmyodbc.so

poi ancora:

# nano /etc/odbc.ini

ed incollare dentro:

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3

Installazione di Freepbx 13:

# cd /usr/src
# tar vxfz freepbx-13.0-latest.tgz
# cd freepbx
# ./start_asterisk start
# ./install -n

se tutto è andato bene il server Asterisk è raggiungibile all’indirizzo https://ip_raspberry.

  1. La prima cosa da fare è quella di scegliere nome utente, password e mail, per accedere al pannello di amministrazione.
  2. Andare nel menu Admin-Module Admin e scaricare ed aggiornare tutti i moduli
  3. Andare in Settings-Advanced Settings-Device Settings ed impostare Sip Nat=yes. Poi andare nella sezione Dialplan and Operational ed impostare SIP Channel Driver=both

Errori:

Error!
Reload failed because retrieve_conf encountered an error: 1
click here for more info
1 error(s) occurred, you should view the notification log on the dashboard or main screen to check for more details.

Questo tipo di errore impedisce di salvare le modifiche, io ho risolto con:

# cd /usr/src/freepbx
# fwconsole chown
# fwconsole restart

e poi andare a salvare di nuovo le modifiche fatte, direttamente dalla pagina web, ed il tutto dovrebbe funzionare. Adesso si è pronti ad utilizzare Asterisk 13 Freepbx 13 su Debian 8.3 e Debian 9 Stretch.

 

enjoy 😉

 

Avviare Tightvncserver al boot su Raspberry pi 2 e Debian Jessie

 

 

Avviare Tightvncserver al boot su Raspberry pi 2 e Debian Jessie

 

Per avviare Tightvncserver al boot su Raspberry pi 2 e Debian Jessie, ma anche su altri sistemi Linux, i passi da seguire sono i seguenti:

$ sudo nano /etc/init.d/tightvncserver

ed incollare dentro quanto sotto, inserendo il proprio nome utente:

#!/bin/bash
# /etc/init.d/tightvncserver
# Inserire il nome utente di chi avvierà tightvncserver
VNCUSER='UTENTE'
case "$1" in
  start)
    su $VNCUSER -c '/usr/bin/tightvncserver :1'
    echo "Starting TightVNC server for $VNCUSER"
    ;;
  stop)
    pkill Xtightvnc
    echo "Tightvncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"
    exit 1
    ;;
esac
exit 0

salvare, settare i permessi e riavviare:

$ sudo chmod 755 /etc/init.d/tightvncserver
$ sudo update-rc.d tightvncserver defaults
$ sudo reboot

 

enjoy 😉

 

Server Cloud WebDav su Raspberry pi 2 e Debian Jessie

Server WebDav su Raspberry pi 2

 

Per avere un proprio Server Cloud WebDav su Raspberry pi 2 e Debian Jessie, da utilizzare sia in locale che da remoto, alla stregua di Dropbox, Box.com, OneDrive ecc ecc, i passi da seguire sono i seguenti:

sudo apt-get install apache2
sudo a2enmod dav_fs
sudo a2enmod auth_digest
sudo service apache2 restart
sudo mkdir -p /webdav
sudo chown www-data /webdav
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf_bak
sudo nano /etc/apache2/sites-available/000-default.conf

che deve essere come sotto, inserendo al posto delle xxx.xxx.x.x, l' IP del Raspberry:

<VirtualHost xxx.xxx.x.x:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /webdav
        <Directory /webdav>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        Alias /webdav /webdav

        <Location /webdav>
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /webdav/passwd.dav
           Require valid-user
       </Location>
</VirtualHost>

 

sudo service apache2 restart
sudo htpasswd -c /webdav/passwd.dav nome_utente_Raspberry

per chi deve accedere da Windows al server WebDav:

sudo htpasswd /webdav/passwd.dav xxx.xxx.x.x\\nome_utente_Raspberry

poi:

sudo chown root:www-data /webdav/passwd.dav
sudo chmod 640 /webdav/passwd.dav
sudo service apache2 restart

Il server sarà raggiungibile all'indirizzo https://ip_server/webdav

Adesso un minimo di protezione per il nostro server cloud installando Fail2ban, così da bloccare dopo 3 tentativi l'IP di che tenta di accedere senza le giuste credenziali:

sudo apt-get install fail2ban
sudo nano /etc/fail2ban/jail.local

ed inserire:

[apache]
enabled  = true
port     = https,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-noscript]
enabled  = true
port     = https,https
filter   = apache-noscript
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-overflows]
enabled  = true
port     = https,https
filter   = apache-overflows
logpath  = /var/log/apache*/*error.log
maxretry = 2

[apache-nohome]
enabled  = true
port     = https,https
filter   = apache-nohome
logpath  = /var/log/apache*/*error.log
maxretry = 2

riavviare fail2ban:

sudo service fail2ban restart

adesso siamo pronti ad utilizzare il nostro server cloud.

 

enjoy 😉

 

Installare Oracle VirtualBox 4.3 su Debian Wheezy/Jessie

 

 

Installare Oracle VirtualBox 4.3 su Debian Wheezy/Jessie

 

 

Oracle VirtualBox è un software open source per l'esecuzione di macchine virtuali. Supporta Windows, GNU/Linux e Mac OS X come sistemi operativi host, ed è in grado di eseguire Windows, GNU/Linux, OS/2 Warp, BSD come sistemi operativi guest. Per installare Oracle VirtualBox 4.3 su Debian Wheezy/jessie basta aggiungere i repository ufficiali al sources.list:

 


# sh -c 'echo "deb https://download.virtualbox.org/virtualbox/debian wheezy contrib" >> /etc/apt/sources.list'
# apt-get update
# wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | apt-key add -
# apt-get update
# apt-get install virtualbox-4.3

 

enjoy 😉

 

Teamviewer 10 su Debian Wheezy/Jessie 64 bit

Teamviewer 10 Jessie 64 Bit

 

 

Per installare Teamviewer 10 su Debian Wheezy/Jessie 64 BIT, bisogna prima abilitare il supporto al Multi-Arch. e poi procedere con l'installazione:

 

$ wget https://download.teamviewer.com/download/teamviewer_i386.deb

# dpkg --add-architecture i386

# apt-get update

# dpkg -i teamviewer_i386.deb

# apt-get install -f

 

enjpy 😉

 

Speedtest da teminale in Linux

Speedtest da teminale in Linux

Per misurare la velocità della connessione internet, si può fare anche uno speedtest da teminale in Linux, utilizzando Speedtest-cli. Scritto in Python CLI, si appoggia al sito Speedtest.net per misurare la velocità della connessione, sia in download che in upload. Per installarlo su Debian dai repository:

# apt-get install python-pip
# pip install speedtest-cli

manualmente:

$ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
# chmod a+rx speedtest_cli.py
# mv speedtest_cli.py /usr/local/bin/speedtest-cli
# chown root:root /usr/local/bin/speedtest-cli

effettuare uno speedtest:

# speedtest-cli

speedtest con condivisione:

# speedtest-cli --share

lista dei server:

# speedtest-cli --list

cambiare server:

# speedtest-cli --server 4302
root-DebianJessie speedtest-cli --list
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
2567) Prometeus di Daniela Agro (Cologno Monzese, Italy) [14.66 km]
5502) Linkem SPA (Milan, Italy) [14.86 km]
3667) Telecom Italia S.p.A. (Milan, Italy) [14.86 km]
5331) C.U. SRL (Milan, Italy) [14.86 km]
4302) Vodafone IT (Milan, Italy) [14.86 km]
4388) ItaliaOnline (Milan, Italy) [14.86 km]
2824) H3G (Milan, Italy) [14.86 km]
1392) ENTER S.r.l. (Milan, Italy) [14.86 km]
3997) NGI SpA (Busto Arsizio, Italy) [21.39 km]
4492) GOLINE SA (Stabio, Switzerland) [32.53 km]
 999) InternetONE (Varese, Italy) [33.51 km]
ecc.ecc.ecc.ecc

aggiornare speedtest-cli:

# pip install speedtest-cli --upgrade

enjoy 😉

Tightvnc su Debian Jessie

 

tightvnc

 

 

Installare e configurare Tightvnc su Debian Jessie sia come server che come client. Io di solito uso vino come server vnc, ma al momento su Jessie non funziona, quindi ho optato per Tightvnc.

 

# apt-get install tightvncserver xtightvncviewer

 

per settare la password:

 

$ tightvncpasswd

 

per avviare tightvnc server:

 

$ tightvncserver -geometry 1280×800 :1

 

per fare delle prove:

 

$ xtightvncviewer indirizzo_ip:1

 

molto probabilmente a questo punto apparirà l'errore Could not acquire name on session bus. Per risolvere stoppare il server vnc:

 

$ tightvncserver -kill :1

 

e fare delle modifiche in .vnc/xstartup, inserendo unset DBUS_SESSION_BUS_ADDRESS. Praticamente il file deve essere come sotto, sostituendo anche mate-session, con il proprio Desktop Environment.

 

$ nano ~/.vnc/xstartup

 

il file deve essere come questo:

 

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80×24+10+10 -ls -title "$VNCDESKTOP Desktop" &
mate-session &

 

al posto di mate-session si può inserire:

 

gnome-session &
startkde &
xfce4-session &
startlxde &
openbox &
cinnamon &

 

enjoy 😉

 

Generare codice QR per rete wifi da terminale

 

codice-qr

 

 

Per generare un codice QR della propria rete wifi ospiti, si può usare il terminale con l'aiuto di qrencode e zenity.

 

# apt-get install qrencode zenity

 

per creare il codice QR wifi:

 

$ qrencode -s 5 -o code-qr-wifi.png "WIFI:S:$(zenity --entry --text="Nome Rete (SSID)" --title="Creazione QR Wifi");T:WPA2;P:$(zenity --password --title="Password Wifi");;"

 

Qual'è il nome/password della mia rete ospiti?

 

enjoy 😉