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

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 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 😉

 

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Administrator, Sys Admin Linux, Linux User, Consulente Informatico.

23 pensieri riguardo “Installare Asterisk 13 con Freepbx 12 su Raspberry pi 2 e Debian Jessie”

  1. 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.

  2. 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€….. 🙂

  3. 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

     

  4. se stai compilando asterisk prova a dare il comando:

    ./contrib/scripts/install_prereq install

    prima del:

    ./configure

  5. 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?

  6. 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?

  7. Quali schede si possono collegare al raspberry per usarlo con freepbx?

  8. 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.

  9. 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!!

  10. 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

  11. 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:

    Chan_Sip Registry

    No such command 'sip show registry' (type 'core show help sip show' for other possible commands)

    Chan_PJSip Registrations

    No objects found.

    IAX2 Registry

    No such command 'iax2 show registry' (type 'core show help iax2 show' for other possible commands)

    Motif Connections

    No such command 'xmpp show connections' (type 'core show help xmpp show' for other possible commands)

     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!

  12. 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…

  13. 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

  14. 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.

  15. 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.

  16. 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *