Asterisk 14 Freepbx 14 su Debian 8.8

 

Asterisk 14 Freepbx 14 su Debian 8.8

Guida su come Installare Asterisk 14 e Freepbx 14 su Debian 8.8 Jessie. Questa guida è stata fatta su una nuova installazione di Debian Stable e tutti i comandi sono stati eseguiti come utente ROOT.

Aggiornare il sistema:

# apt update; apt upgrade

se viene installato un nuovo kernel riavviare.

Scaricare le dipendenze ed i servizi necessari:

# apt 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 sudo

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-14-current.tar.gz
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
# wget http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Installare Pjproject:

# cd /usr/src
# tar -xjvf pjproject-2.6.tar.bz2
# cd pjproject-2.6
# 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 14:

# cd /usr/src
# tar xvfz asterisk-14-current.tar.gz
# cd asterisk-14.*
# 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

non fare caso all'errore sotto:

Asterisk 14 Freepbx 14 su Debian 8.8

Asterisk 14 Freepbx 14 su Debian 8.8

adesso bisogna verificare che asterisk funzioni correttamente:

# /etc/init.d/asterisk start
# asterisk -rvvv

output:

root@debianbox:/home/edmond# asterisk -rvvv
Asterisk 14.4.0, Copyright (C) 1999 - 2016, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 14.4.0 currently running on debianbox (pid = 1461)
debianbox*CLI>

Installazione e configurazione di Mysql ed Apache2 e relativi permessi:

# /etc/init.d/asterisk stop
# pear install Console_Getopt
# groupadd asterisk
# useradd -d /var/lib/asterisk -g asterisk asterisk
# chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk /var/www
# sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
# sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk
# mv /var/www/html /var/www/html.bak
# 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

a questo punto riavviare:

# reboot

al riavvio:

# a2enmod rewrite
# service apache2 restart

Installazione di Freepbx 14:

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

se tutto è andato bene il server Asterisk è raggiungibile all'indirizzo http://ip_raspberry.

Asterisk 14 Freepbx 14 su Debian 8.8

Asterisk 14 Freepbx 14 su Debian 8.8

  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

Errori

Error(s) have occured, the following is the retrieve_conf output:exit: 1

Asterisk 14 Freepbx 14 su Debian 8.8

installare il modulo framework:

# fwconsole chown
# fwconsole reload
# fwconsole ma upgrade framework
# fwconsole restart

Can Not Connect to Asterisk

Asterisk 14 Freepbx 14 su Debian 8.8

andare in Settings-Advanced Settings-Asterisk Manager e ricaricare la voce .

Asterisk 14 Freepbx 14 su Debian 8.8

enjoy πŸ˜‰

 

FreePBX 500 internal server error after updates

 

FreePBX 500 internal server error after updates è un errore che ho avuto dopo aver aggiornato FreePBX su Raspbian. L'errore si risolve abilitando mod_rewrite in apache.

# a2enmod rewrite
# service apache2 restart
# fwconsole chown
# fwconsole restart
FreePBX 500 internal server error after updates

enjoy πŸ˜‰

 

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
$ 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:

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 πŸ˜‰

 

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 πŸ˜‰

 

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

 

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

 

Guida su come Installare Asterisk 13 con Freepbx 12 su Raspberry pi 2 e Debian Jessie Armhf, e che funziona naturalmente anche su architettura AMD64 & Intel 64.

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 openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db 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

a metà installazione verrà chiesto di settare una password per Mysql MEMORIZZARLA/SEGNARSELA. 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-12.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 -j2
# make install

Installare Jansson:

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

 Installare Asterisk 13:

# cd /usr/src
# tar xvfz asterisk-13-current.tar.gz
# cd asterisk-13.*
# contrib/scripts/get_mp3_source.sh
# ./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 -j2
# make install
# make config
# ldconfig

Installazione e configurazione di Freepbx, Mysql ed Apache2, e quando richiesto inserire la password Mysql:

# cd /usr/src
# tar vxfz freepbx-12.0-latest.tgz
# cd freepbx
# pear uninstall db
# pear install db-1.7.14
# 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
# mysqladmin -u root create asterisk -p
# mysqladmin -u root create asteriskcdrdb -p
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'password';"
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'password';"
# mysql -u root -p -e "flush privileges;"
# ./start_asterisk start
# ./install_amp --installdb --username=asteriskuser --password=password

durante il processo di installazione verranno mostrate alcune voci, le uniche da corregere eventualmente sono l'indirizzo IP del  Raspberry e la password di accesso di amministrazione:

Enter a PASSWORD to connect to the Asterisk Manager interface:
 [amp111] PASSWORD
Enter the path to use for your AMP web root:
 [/var/www/html]

Created /var/www/html
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
 [192.168.1.1] 192.168.1.16

 

# amportal restart
# amportal chown
# amportal a ma installall
# amportal a ma installall
# amportal a ma refreshsignatures
# amportal chown
# ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
# amportal restart

 

se tutto è andato bene il server Asterisk è raggiungibile all'indirizzo http://ip_raspberry

UPDATE: Nel caso di pagina bianca eseguire i passi successivi:

# cd /usr/src/freepbx
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# service apache2 restart

e poi accedere all'indirizzo http://ip_raspberry/admin

enjoy πŸ˜‰

 

Rimuovere completamente Asterisk e Freepbx

 

 

rimuovere-asterisk_freepbx

 

 

Per rimuovere/disinstallare completamente Asterisk e Freepbx, installati da sorgenti, basta eseguire questi semplici passi, sempre sperando di non dimenticare qualche pezzo. Questo può servire a chi ha fatto qualche casino e vorrebbe ricominciare da capo una nuova installazione.

 

Disinstallare Freepbx:

 

# /etc/init.d/asterisk stop
# cd /usr/src/freepbx
# ./install_amp --uninstall

 

e rispondere sempre yes alle richieste dello script.

 

Rimuovere Asterisk:

 

# rm -rf /etc/asterisk
# rm -rf /usr/src/freepbx/asterisk.conf
# rm -rf /usr/sbin/asterisk
# rm -rf /usr/lib/asterisk
# rm -rf /usr/include/asterisk.h
# rm -rf /usr/include/asterisk
# rm -rf /usr/share/man/man8/asterisk.8
# rm -rf /var/spool/asterisk
# rm -rf /var/log/asterisk
# rm -rf var/run/asterisk
# rm -rf /var/{lib,log,spool}/asterisk

 

enjoy πŸ™‚

Installare Asterisk 13 + Freepbx 12 su Debian Wheezy

 

freepbx-12

 

Dopo aver installato Asterisk 11 e Freepbx 2.11 su Debian Wheezy, mi sono deciso a provare ad installare la versione recente di Asterisk 13 con Freepbx 12. I passi sono più o meno gli stessi di quelli precedenti, ma con qualche piccolo accorgimento ed alcune modifiche, Ad ogni modo, malgrado qualche piccolo warning il tutto funziona perfettamente.

 

Aggiornare il sistema:

 

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

 

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 php-db php5-gd curl sox libgnutls26 libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion uuid-dev libjansson-dev smartmontools zip unzip rar unrar arj zoo sox

 

a metà installazione verrà chiesto di settare una password per Mysql MEMORIZZARLA/SEGNARSELA, poi per sicurezza meglio riavviare, a meno che non si è sicuri che si userà lo stesso kernel.

 

# reboot

 

Scaricare l'occorrente:  Dahdi, Libpri, Pjproject, Asterisk, Freepbx.

 

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/\
dahdi-linux-complete-current.tar.gz
# wget
# wget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
# wget http://mirror.freepbx.org/freepbx-12.0.21.tgz

 

Installare Dahdi:

 

# cd /usr/src
# tar xvfz dahdi-linux-complete-current.tar.gz
# cd dahdi-linux-complete-2*
# make -j4 all
# make install
# make config

 

Installare Libpri:

 

# cd /usr/src
# tar xvfz libpri-1.4-current.tar.gz
# cd libpri-1.4*
# make -j4
# make install

 

Installare Pjproject:

 

# cd /usr/src
# tar -xjvf pjproject-*
# cd /usr/src/pjproject-*
# CFLAGS='-DPJ_HAS_IPV6=0' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
# make dep
# make
# make install

 

Installare Asterisk:

 

# cd /usr/src
# tar xvfz asterisk-13-*
# cd asterisk-*
# ./configure
# make menuselect

 

a questo punto conviene dare un occhiata e se serve si può abilitare qualche modulo in più, come format_mp3 o i moduli extrasound:

 

freepbx-moduli

 

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

 

Installazione e configurazione di Freepbx e Mysql

 

# pear uninstall db
# pear install db-1.7.14
# cd /usr/src
# tar xvfz freepbx-*
# cd freepbx
# adduser asterisk --disabled-password --gecos "Asterisk User"
# chown asterisk. /var/run/asterisk
# chown -R asterisk. /etc/asterisk
# chown -R asterisk. /var/{lib,log,spool}/asterisk
# chown -R asterisk. /usr/lib/asterisk
# chown -R asterisk. /var/www/
# sed -i 's/\(^upload_max_filesize = \).*/\1120M/' /etc/php5/apache2/php.ini
# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# /etc/init.d/apache2 restart
# export ASTERISK_DB_PW='INSERIRE_LA_PASSW_MYSQL'
# mysqladmin -p -u root create asterisk
# mysqladmin -p -u root create asteriskcdrdb
# mysql -p -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
# mysql -p -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
# mysql -p -u root -e "flush privileges;"
# ./start_asterisk start
# ./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW} --dbhost='127.0.0.1' --dbname='asterisk' --freepbxip='X.X.X.X' --cgibin='/var/www/cgi-bin' --bin='/var/lib/asterisk/bin' --sbin='/usr/local/sbin' --asteriskuser=admin --asteriskpass=${ASTERISK_DB_PW} --asteriskip='127.0.0.1' --scripted

 

sostituire le X.X.X.X con l'ip della macchina che eseguirà Asterisk:

 

# ./install_amp --update-links
# amportal chown
# amportal a ma installall
# amportal restart
# amportal a ma refreshsignatures
# amportal chown

 

a questo punto fare una piccola modifica al file /etc/apache2/sites-enabled/000-default.conf, poiche la DocumentRoot deve puntare a  "/var/www/html", ed AllowOverride dovrà essere "All", come sotto:

 

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all

 

# nano /etc/apache2/sites-enabled/000-default.conf
# /etc/init.d/apache2 restart

 

Da adesso in poi si potrà utilizzare AsteriskFreepbx all'indirizzo http://localhost/admin/. La prima cosa da fare è andare nel menu Admin-Module Admin e scaricare tutti i moduli. Dopo l'aggiornamento dei moduli potrebbero verificarsi degli errori nel momento in cui si applicano i cambiamenti, il tutto si risolve andando manualmente a forzarne l'aggiornamento.

Errori moduli esempi:

PHP Fatal error:  Call to undefined function core_devices_list() in /var/www/html/admin/modules/digium_phones/classes/digium_phones.php on line 102

PHP Fatal error:  Call to undefined function core_devices_list() in /var/www/html/admin/modules/callforward/functions.inc.php on line 47

The Module Named "Core" is required, but yours is disabled because it needs to be upgraded. Please upgrade Core first, and then try again.

 

Errori compilazione:

Durante la compilazione ho avuto diversi errori ma che non hanno dato problemi:

PHP Warning:  copy(/var/www/html/robots.txt): failed to open stream: No such file or directory in /usr/src/freepbx/libfreepbx.install.php on line 381

PHP Warning:  file_put_contents(/var/log/asterisk/freepbx.log): failed to open stream: Permission denied in /var/www/html/admin/libraries/utility.functions.php on line 111

 

enjoy πŸ˜‰

 

Asterisk-Freepbx creazione di un semplice IVR

 

 

Asterisk-Freepbx creazione di un semplice IVR

 

 

Dopo gli appunti precedenti su Asterisk-Freepbx su Debian Wheezy, il passo successivo è quello della creazione di un IVR.

 

Step 1: creazione di un file audio, in formato wav a 16 Bits, e 8000Hz. Il modo più semplice è fare tutto online, prima creando il contenuto e scegliendo la voce, poi convertendo tutto nel giusto formato.

 

online-convert

 

Step 2: Andare in Admin-System Recordings e fare l'upload del file wav creato in precedenza.

 

System Recordings

 

Step 3: Andare Applications-Announcementes ed in Recording scegliere il file audio. la voce Destination after playback dovrà successivamente puntare all' IVR.

 

Announcement

 

Step 4: Andare in Applications-IVR e far puntare l'opzione Announcement al file audio e lo stesso volendo per le opzioni "Invalid Retry Recording-Invalid Recording-Timeout Recording". Mentre le opzioni "Invalid Destination-Timeout Destination" punteranno a Terminate Call-Hangup. Nel menu IVR Entries, si sceglie dove far puntare le deviazioni. Per esempio alle Extensions: premi tasto 1 per parlare con questo, premi tasto 2 per parlare con quello, ecc. ecc.

 

IVR

IVR

 

Step 5: Andare in Inbound Routes e la voce Set Destination deve puntare all' IVR.

 

Inbound Routes

 

enjoy πŸ˜‰