Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn

 

      

 

Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn. Si può fare! Se si possiede un PBX Asterisk in casa o in ufficio, ed è giustamente configurato, si può decidere di essere sempre raggiungibile anche sul cellulare. Ci sono diversi modi per fare questo, basta creare una estensione in FreePBX, o mettere il numero di cellulare in un gruppo di squillo, ecc. ecc. Fino a che ci si trova all'interno della casa o dell'ufficio collegati alla propria rete locale, non ci sono problemi nel ricevere telefonate o effettuarle, passando dal centralino virtuale, il "problema" invece si pone quando ci si trova all'esterno e quindi di conseguenza non siamo più un interno telefonico. Anche in questo caso ci sono diverse soluzioni, per poter chiamare o ricevere le chiamate, una su tutte, si potrebbe configuare Asterisk/FreePBX dopo qualche squillo di girarci la chiamata sul telefono ecc. ecc, oppure usare un client voip opportunamente configurato. Ma secondo me invece il modo migliore è quello di essere sempre o quando si ha la necessità, connessi alla propria rete locale. Sembra difficile, ma in realtà è molto più semplice di quanto si pensi. Quello di cui si ha bisogno, oltre ad un minimo di conoscenza, sono:

  1. Una estensione configurata su FreePBX
  2. Un client Voip che supporti la VPN, come Bria iPhone
  3. Una VPN

 

Per quanto riguarda la configurazione di una Estensione su FreePBX ci sono molte guide sul web, ed anche in questo blog. Per quanto riguarda invece la VPN, bisogna avere un router (consigliato) con cui poterla creare, oppure un firewall. A livello domestico/ufficio si potrebbe prendere in considerazione l'acquisto di un router, per esempio un Linksys E1200-EZ v2, su cui poi installare DD-WRT, come ho fatto io. Infine serve acquistare per 8€ circa l'app per telefoni apple o android di Bria. Per quanto riguarda la configurazione è molto semplice:

Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn


Quindi se ci si trova lontani da casa, in Italia, basta collegarsi col proprio piano dati telefonico, alla VPN, per poi poter essere un interno e quindi chiamare e ricevere le chiamate. Se si è in vacanza all'estero, si può approfittare degli hotspot pubblici o dell'albergo per poter avviare la VPN, e poi fare una chiamata Gratis come se ci si trovasse a casa propria. Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn

enjoy 😉

 

How to compilare Dadhi Linux su Raspberry Pi 2-3

 

How to compilare Dadhi Linux su Raspberry Pi 2-3

How to compilare Dadhi Linux su Raspberry Pi 2-3. Questa guida mostra come compilare dadhi-linux-complete su Raspberry Pi 2 o Pi 3. Quando si prova a compilare, l'errore che si verifica è il seguente, e cioè richiede il kernel source:

root@raspberrypi:/usr/src/dahdi-linux-complete-2.11.1+2.11.1# make all
make -C linux all
make[1]: ingresso nella directory "/usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux"
make -C drivers/dahdi/firmware firmware-loaders
make[2]: ingresso nella directory "/usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux/drivers/dahdi/firmware"
make[2]: uscita dalla directory "/usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux/drivers/dahdi/firmware"
You do not appear to have the sources for the 4.1.19-v7+ kernel installed.
Makefile:71: set di istruzioni per l'obiettivo "modules" non riuscito
make[1]: *** [modules] Errore 1
make[1]: uscita dalla directory "/usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux"
Makefile:9: set di istruzioni per l'obiettivo "all" non riuscito
make: *** [all] Errore 2

quindi per risolvere il problema procedere nel modo seguente:

$ sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source
$ sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update
$ sudo rpi-source

e poi proseguire con l'installazione di dadhi-linux-complete:

$ cd /usr/srs
$ sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.g
$ sudo tar xvfz dahdi-linux-complete-current.tar.gz
$ sudo rm -f dahdi-linux-complete-current.tar.gz
$ cd dahdi-linux-complete-*
$ sudo make all
$ sudo make install
$ sudo make config

enjoy 😉

 

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:

fxs

il telefono voip andrà configurato con lo stesso interno e la stessa password inserita sopra.

fxs1 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 messa nella sezione FXS del HT 503.

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

 

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 http://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 http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2
# wget http://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
# 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 http://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 😉

 

Ripristinare Grub2 EFI amd64 da Chroot su Debian

Ripristinare Grub2 EFI amd64 da Chroot su Debian

 

Guida su come reinstallare o ripristinare Grub2 EFI amd64 da Chroot, su Debian ed in generale su sistemi Linux. Per prima cosa bisognerà identificare la partizione /boot/efi, che potrà essere /dev/sda1 oppure /dev/sda2, successivamente la partizione root da montare, in cui bisognerà ripristinare Grub2 EFI. Nell'esempio sotto, la partizione /boot/efi è /dev/sda1, e la partizione root è /dev/sda3, quindi:

sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo cp /etc/resolv.conf /mnt/etc/
sudo chroot /mnt
apt-get install --reinstall grub-efi-amd64
update-grub
Ctrl+D

smontare le partizioni:

for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
sudo umount /dev/sda1 /mnt/boot/efi
sudo umount /dev/sda3 /mnt
sudo reboot

enjoy 😉

 

Come creare una Debian Live modalità UEFI

 

Come creare una Debian Live modalità UEFI

 

Guida su come creare una Debian Live in modalità UEFI. Questa guida non spiega le differenze tra Bios o UEFI, o tra MBR o GPT, poichè in rete si trovano esaustive spiegazioni, ma mi soffermerò su come crearsi una Debian Live in modalità d'installazione UEFI, dato che al momento non ci sono immagini ufficiali, o almeno credo. Ad ogni modo dato che io uso Mate come Desktop Environment, mi sono preparato una Debian Jessie Live UEFI personalizzata, con firmware-nonfree. La mia chiavetta viene identificata come /dev/sdb1, quindi:

sudo fdisk -l
sudo umount /dev/sdb1
sudo mkdosfs -F 32 -I /dev/sdb1
sudo mount /dev/sdb1 /mnt
cd /mnt
sudo apt-get install p7zip
sudo 7z x /percorso/del/file/debian-live-8.2.0-amd64.iso
sudo mkdir EFI && cd EFI && sudo mkdir BOOT
cd BOOT/
sudo wget https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi
sudo mv Shell.efi Bootx64.efi
cd /mnt
sudo nano startup.nsh

ed incollare dentro:

live\vmlinuz initrd=live\initrd.img append boot=live components

salvare, e poi:

cd ..
sudo umount /dev/sdb1
sudo reboot

a questo punto dopo aver riavviato in modalita UEFI, apparirà una shell, e per avviare la Debian Live basterà premere ENTER oppure digitare:

startup.nsh

enjoy 😉

 

Creare una Debian Jessie Live persistente con firmware non-free

 

Creare una Debian Jessie Live persistente con firmware non-free

 

Guida su come creare una Debian Jessie Live persistente con firmware non-free, alla Debian way. Possedere una chiavetta usb con la propria distribuzione preferita può ritornare utile, sia come OS di riserva, live o installabile, sia come strumento di lavoro. Per avere un buon strumento di lavoro, bisogna però avere tutti i propri programmi preferiti, e per ottenere ciò bisogna creare una Debian Live in modalità persistente. Con la modalità persistente, si può installare tutto quello che serve e portarsi dietro i documenti preferiti,  ed addirittura la distribuzione può essere aggiornata, senza paura che al riavvio le modifiche vadano perse. Quello che serve come prima cosa è scaricare la Debian Live iso-hybrid, scegliendo anche il proprio Desktop Environment, ed alcuni pacchetti:

 

# apt-get install mbr syslinux p7zip

 

la mia chiavetta di 8G viene identificata come /dev/sdb, quindi la guida utilizzerà questa sintassi:

Inserire la chiavetta usb e verificare come viene identificata, la mia come /dev/sdb con 2 partizioni:

# fdisk -l
# umount /dev/sdb1
# umount /dev/sdb2

 

Formattazione:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdb

 

Creazione tabella delle partizioni e di 2 partizioni, una in fat32 l'altra in ext4:

# parted /dev/sdb
(parted) mklabel msdos                                          
(parted) mkpart primary fat32 1 1536M                                  
(parted) mkpart primary ext4 1536 8G
(parted) set 1 boot on                                                   
(parted) q

 

Creazione filesystem:

# /sbin/mkdosfs -n live /dev/sdb1
# /sbin/mkfs.ext4 -L persistence /dev/sdb2
# mkdir /mnt/live
# mkdir /mnt/persistence
# mount /dev/sdb1 /mnt/live
# mount /dev/sdb2 /mnt/persistence
# cd /mnt/live
# 7z x /percorso_iso_scariicata/debian-live-8.2.0-amd64-mate-desktop+nonfree.iso

 

Modificare il file live.cfg inserendo le opzioni persistence e noeject:

# nano isolinux/live.cfg

dove la prima parte deve essere come sotto:

label live-amd64
        menu label ^Live (amd64)
        menu default
        linux /live/vmlinuz
        initrd /live/initrd.img
        append boot=live components persistence noeject quiet splash

 

Creazione del dispositivo usb bootable e della seconda partizione persistente:

# /sbin/install-mbr /dev/sdb
# syslinux -i /dev/sdb1
# mv isolinux syslinux
# mv syslinux/isolinux.cfg syslinux/syslinux.cfg
# mv syslinux/isolinux.bin syslinux/syslinux.bin
# cd /mnt/persistence
# echo / union > persistence.conf
# cd ..
# umount /mnt/live
# umount /mnt/persistence

A questo punto si può riavviare e provare la Debian Jessie Live persistente con firmware non-free. La prima cosa da fare volendo è quella di aggiornare il sistema per poi installare i propri programmi preferiti:

# apt-get update && apt-get upgrade -y

Utente e password di default sono: username=user password=live

 

enjoy 😉