FFmpeg su Debian Jessie

 

ffmpeg debian jessie

 

Per installare FFmpeg su Debian Jessie bisogna inserire i repository multimedia. Su questo blog c'è tutta una categoria dedicata a FFmpeg.

 

# sh -c 'echo "deb https://www.deb-multimedia.org jessie main" >> /etc/apt/sources.list'

# apt-get update

# apt-get install deb-multimedia-keyring

# apt-get install ffmpeg

 

enjoy 😉

 

Problema driver nouveau su Debian Jessie

 

Problema driver nouveau su Debian Jessie

 

In una nuova installazione di Debian Jessie, al primo avvio ho avuto un problema con il server X, ed andando in tty1 ho notato subito che il problema era relativo ai driver nouveau. Non ho investigato troppo sul problema, ma per chi possiede una scheda video Nvidia, può risolvere con:

 

# apt-get install nvidia-kernel-common module-assistant nvidia-glx nvidia-xconfig

# m-a -i prepare

# m-a a-i -i -t -f nvidia-kernel

# depmod -a

# nvidia-xconfig

 

Forzare la rimozione del modulo nouveau

 

# rmmod -f nouveau

 

poi:

 

# /etc/init.d/gdm3 start


Molto probabilmente l'ultimo comando non farà avviare gdm3, ma basta riavviare il pc ed il tutto funzionerà correttamente.

 

enjoy 😉

 

pyExifToolGui su Debian Wheezy

 

PyExifToolGui è un frontend grafico per lo strumento a riga di comando open source ExifTool di Phil Harvey. Legge e scrive le informazioni metadati come EXIF, GPS, IPTC, XMP ecc ecc. Per installarlo su Debian Wheezy:

 

Scaricare ed installare exiftool:

 

$ wget https://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-9.85.tar.gz

$ tar xvfz Image-ExifTool-9.85.tar.gz

$ cd Image-ExifTool-9.85

$ perl Makefile.PL

$ make test

# make install

 

Scaricare ed installare pyExifToolGui:

 

# apt-get install python-pyside

$ wget https://github.com/hvdwolf/pyExifToolGUI/archive/0.5.tar.gz

$ tar xvfz 0.5.tar.gz

$ cd pyExifToolGUI-0.5

# ./install_remove.py install

 

adesso apparirà sotto il menu Grafica.

 

enjoy 😉

Wake on Lan-Wake over internet su Debian

 

wake on lan su debian

 

 

Per chi ha un PC o un serverino e volesse accenderlo al bisogno da remoto ha bisogno di Wake on Lan. Per potere ottenere questo c'è bisogno di tre cose fondamentali:

 

  1. Wake on lan deve essere abilitato nel Bios, e che la scheda di rete supporti Wol.
  2. Serve un IP statico oppure per chi ha una adsl casalinga può sempre rivolgersi ad un servizio DDNS come DynDNS oppure  Noip.com.
  3. Serve un router in grado di inoltrare i Magic Packet, e questo oramai è quasi impossibile da ottenere dato che la maggior parte dei modem/router casalinghi sono bloccati e quindi non in grado di inviare i magic packet. Per ovviare a questo problema consiglio un piccolo acquisto di qualche decina di euro, il Linksys E1200-EZ versione v2. Una volta in mano, su questo router si può installare il nuovo firmware opensource DD-WRT. e poi seguire la guida specifica.

 

Per abilitare Wol su Debian Gnu-Linux:

 

# apt-get install ethtool

 

verificare che la scheda di rete sia attiva:

 

# ethtool eth0

 

root@debianserver:/home/edmond# ethtool eth0
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: d
    Current message level: 0x00000001 (1)
                   drv
    Link detected: yes

 

come si vede è settata su "d", quindi significa che è disabilitata. Per abilitarla:

 

# ethtool -s eth0 wol g

 

per verificare il buon esito:

 

# ethtool eth0 | grep -i "wake"

 

root@debianserver:/home/edmond# ethtool eth0 | grep -i "wake"
    Supports Wake-on: pumbg
    Wake-on: g

 

adesso serve conoscere il mac address della scheda di rete:

 

# cat /sys/class/net/eth0/address

 

e poi una volta configurato il router si è pronti a svegliare il PC da remoto al bisogno.

 

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 https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/\
dahdi-linux-complete-current.tar.gz
# wget
# wget https://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
# wget https://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 https://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 😉

 

 

Asterisk-Freepbx chiamate entrata/uscita con Messagenet

 

Dopo aver creato un Sip Trunk con Messagenet ed anche gli interni , adesso bisogna configurare Freepbx per effettuare chiamate in entrata/uscita. Dal menu Connectivity, selezionare Inbound Routes, e dopo aver dato una descrizione, andare in Set destination e scegliere Extensions, dove verrà visualizzato l'interno creato in precedenza. Salvare e dopodichè si è pronti a ricevere le telefonate, che verranno dirottate a quell'interno. Per le chiamate in uscita, andare in Connectivity-Outbound Routes, dare una Descrizione e poi in Dial Patterns that will use this Route inserire nella finestra match pattern " X.". Poi, in Trunk Sequence for Matched Routes, la posizione 0 deve puntare al Trunk.

 

 

Inbound Routes:

 

Inbound Routes


Inbound Routes

 

Outbound Routes:

 

Outbound Routes

Outbound Routes

 

enjoy 😉

 

Freepbx creare interni usando le Extensions

 

Con Freepbx e Asterisk per creare gli interni bisogna utilizzare le Extensions, che si trovano nel menu Applications. I passi sono: scegliere Generic Sip Device, in User Etensions scrivere il numero dell'interno da creare, in Display Name il nome che lo identifica. La modifica piu importante va fatta nel menu Device Options:

 

secret= si metterà una password che verrà utlizzata nel momento che si configurerà il device.

dtmfmode= RFC 2833

nat= yes

 

questa semplice configurazione può essere utilizzata per testare gli interni-

 

 

 photo extensions2_zps9da23484.png

 photo extension_zpsf496f532.png

 photo extensions1_zpsa1c6d92b.png

 

Freepbx creare un Sip Trunk con Messagenet

 

 

 

Dopo avere installato Asterisk 11 con Freepbx 2.11 su Debian 7 Wheezy, il passo succesivo è quello di poter riuscire a telefonare. Serve quindi configurare in Freepbx un Sip Trunk con Messagenet, o qualunque altro provider. Avendo io una numerazione con Messagenet mi limito a mostrare come da immagini sopra, una configurazione funzionante. Nel menu di Freepbx andare in Connectivity-Trunks, ed inserire in Outbound CallerID il numero di telefono. Poi andare nel menu Outgoing Settings, ed inserire queste stringhe, opportunamente modificati con la propria URI e password:

type=friend
host=sip.messagenet.it
fromuser=52xxxxx
secret=xxxxxxxxxx
transport=udp
defaultuser=52xxxxx
fromdomain=sip.messagenet.it
port=5061
qualify=yes
insecure=invite,port
nat=force_rport
username=52xxxxx
context=from-trunk
callbackextension=from-trunk

 

Tutto il resto rimane come di default. Salvare con Submit changes e Apply config.

 

enjoy 😉