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 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-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:
# 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 https://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 https://ip_raspberry/admin
enjoy 😉
Ciao ,non ho fatto alcuna ricerca in merito,ma potersti mettere anche una riga (sul post) su cosa è e cosa serve il server asterisk .
ps.non per pigrizia da parte mia ,ma per avere un articolo più completo ,così facendo quando mi arriva il feed riesco a vedere dalle prime righe di cosa si tratta …hahahaahah stò diventando vecchio ,ormai mi stò accomodando XD ciao e Buone feste.
off-off- topic un ottimo feed rss a video sulla scrivania veloce e leggero ,me lo consigli? qualcosa di nuovo.Grazie.
Ciao, per quanto riguarda un feed rss, non riesco a consigliarti nulla poiché non lo sto usando negli ultimi anni. Invece Asterisk serve per farti un centralino telefonico per casa o lavoro, a 0€….. 🙂
Grazie @Edmond 😀
In fase di compilazione ho questi errori:
[LD] res_statsd.o -> res_statsd.so
res_statsd.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
/usr/src/asterisk-13.7.2/Makefile.rules:170: recipe for target 'res_statsd.so' failed
make[1]: *** [res_statsd.so] Error 1
Makefile:393: recipe for target 'res' failed
make: *** [res] Error 2
Qualcuno puo' darmi un aiuto? Grazie
se stai compilando asterisk prova a dare il comando:
./contrib/scripts/install_prereq install
prima del:
./configure
Grazie edmon, risolta con successo la compilazione di asterisk la pagina web di accesso rimane bianc 🙁
Questo il log:
root@raspberrypi:/usr/src/freepbx# amportal restart
Please wait…
STOPPING ASTERISK
Waiting for Asterisk to Stop Gracefully…
Asterisk Stopped
SETTING FILE PERMISSIONS…………….Done
Removing any dangling symlinks
Dangling symlinks removed
STARTING ASTERISK
Asterisk Started
root@raspberrypi:/usr/src/freepbx# amportal a dbug
Please wait…
trying to run as user asterisk:
[FPBXDBUGDISABLE] changed from previous value: [1] to new value: [0]
==> /var/log/asterisk/freepbx_debug <==
2016-Mar-05 10:18:19 /usr/share/php/DB.php:1387
[DEPRECATION_WARNING]: Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
2016-Mar-05 10:18:19 /usr/share/php/DB/common.php:1683
[DEPRECATION_WARNING]: Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
2016-Mar-05 10:18:19 /var/www/html/admin/libraries/BMO/Freepbx_conf.class.php:217
[DEPRECATION_WARNING]: Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
==> /var/log/asterisk/freepbx.log <==
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:1099) – Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:1009) – Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:2200) – Non-static method DB::isManip() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:1099) – Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:1009) – Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:2200) – Non-static method DB::isManip() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/usr/share/php/DB/common.php:1099) – Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [PHP-DEPRECATION_WARNING] (/var/www/html/admin/libraries/BMO/Freepbx_conf.class.php:1004) – Non-static method DB::isError() should not be called statically, assuming $this from incompatible context
[2016-Mar-05 10:18:22] [INFO] (bin/freepbx_setting:79) – [FPBXDBUGDISABLE] changed from previous value: [1] to new value: [0]
[2016-Mar-05 10:18:22] [INFO] (bin/freepbx_setting:80) –
Provo a ricompilare il tutto?
prova:
e poi accedere all'indirizzo https://ip_raspberry/admin
Bello, l'articolo. Bella la parte software, ma ora per dirla alla Alessandro Rubini, come la mettiamo con il "duro ferro"?
Che schede si possono usare per il raspberrypi? Mi ero sempre riproposto di provare asterisk & c. sul raspberry, ma poi non sono mai riuscito a trovare hardware da utilizzare. Hai qualche link?
Quali schede si possono collegare al raspberry per usarlo con freepbx?
Ciao Paride
io personalmente non ho avuto modo di testare delle schede. quindi non riesco a condividere questa esperienza. Il mio centralino funziona su una numerazione di Messagenet.
Aspetta, e come lo interfacci con messagenet?
una volta che hai il numero da messagenet, puoi usare dei telefoni voip oppure i vari softphone che ci sono su linux.
https://www.edmondweblog.com/index.php/2015/01/18/freepbx-creare-un-sip-trunk-con-messagenet/
https://www.edmondweblog.com/index.php/2015/01/18/asterisk-freepbx-chiamate-entratauscita-con-messagenet/
Per prima cosa, grazie a Edmond per i preziosi consigli.
Io lo uso con un grandstream gxw4108. Con l'ultimo aggiornamento Synology non supporta piu' asterisk e la soluzione rasp + asterisk mi ha salvato la vita in ufficio!!
Ciao, vorrei creare un centralino domestico con Raspberry 3 B (io ho fibra 100 di fastweb con il loro Technicolor che ha 2 uscite per telefoni BCA) qualcuno puo' darmi una mano ?
Grazie
ciao, inizia con lo scaricare Raspbx che ha tutto gia installato, poi segui le guide per creare Trunk rd estensioni 😉
Grazie di questo tutorial completo.
Ho installato FreePBX e Asterisk non su un Raspberry ma su un Raspbian di un Banana Pi.
Unico (grosso) problema: dentro alla sezione Reports / Asterisk Info / Registries sono pieno di errori:
Ricordo nel lontano passato un simile problema, che era legato ad un cambio della sintassi fra una verione e l'altra di Asterisk, ma non ricordo di più…
Qualcuno riesce ad illuminarmi?
Grazie!
Mi autorispondo…
Nei setting avanzati ho impostato solo chan_sip e riavviato asterisk, sono rispuntati tutti i comandi sip di Asterisk che prima non "esistevano".
Strano…
Ciao vorrei realizzare il centralino telefonico ma sono alle prime armi con Raspberry e convertitori vari.
Ho già installato il software e gli interni (smartphone e tablet) sono funzionanti con app linphone, ora vorrei capire cosa devo utilizzare ed acquistare per poter connettere il centralino ad una linea telefonica analogica PSTN e un telefono analogico,
Inoltre chiedo se è possibile connettere un citofono o videocitofono, eventuale marca o modello e se ci sono delle istruzioni per la segreteria telefonica.
Vi ringrazio anticipatamente
Ciao. Per utilizzare la tua linea pstn, ti serve un modulo ata con fx0. Dipende dal tipo di esigenze che hai e da quanto vuoi spendere. Io per un uso casalingo/ufficio ho utilizzato il Grandstream HT 503, la guida la trovi qua. Per quanto riguarda il citofono, io non ho mai provato.
Ciao,
io ho seguito tutti gli step ma mi sono bloccato all'installazione di FreePBX poichè ho scaricato la versione 13 e
install_amp
mi va in errore. Non sono riuscito a risolvere il problema e temo che "install" non preveda le stesse funzioni. Come faccio a procedere e installare FreePBX per la rate di db mysql ?
Grazie
F.
se non posti il tipo di errore non riesco a darti una mano 😉
Volendo la raspberry si puo' anche utilizzare come citofono voip. Io la uso con una raspbian minimale (senza grafica), un software client sip linphone-nogtk, un pulsante di chiamata sul GPIO della raspberry. Io la uso insieme al centralino asterisk+freepbx installato su un vecchio pc.
Il citofono voip ancora non l'ho sperimentato 🙂
Grazie