E-Commerce fai da te... con MAGENTO!

Fino a pochi giorni fa, ho sempre utilizzato per realizzare siti di e-commerce la piattaforma cms Joomla abbinata al modulo si shop on line Virtuemart.
Il problema è che questo sistema ha molte limitazioni, richiede infatti molto tempo dedicato alla personalizzazione e configurazione ed è comunque sfornito dei tool più avanzati per l'amministrazione di negozi con molti articoli.
Cercando altri cms per lo shop in rete, ho trovato e testato:
Jooma + Virtuemart
Magento
OsCommerce
MWOpen
ZenCart
PrestaShop
UberCart
FishCart
Di tutti le mie lodi oggi vanno a Magento, scaricabile dal link seguente previo registrazione.
http://www.magentocommerce.com/download
Era molto tempo che non vedevo un applicativo open source così professionale e curato in ogni dettaglio.
Magento permette di gestire anche negozi multipli, creando un sito web2.0 con molte funzionalità dei siti più famosi (ebay, amazon, ecc...)
Sottolineo il fatto che magento ha un'installer per le estensioni molto simile a quello di joomla, ma con l'unica differenza che al posto di caricare file zip, questo scarica ed installa tutto dagli archivi online, analogamente all'installer di sistemi linux come debian.
Un'altra novità di magento sono le guide video peercast scaricabili dal sito ufficiale all'indirizzo:
http://www.magentocommerce.com/media/screencasts
Ecco i requisiti per l'installazione di magento citando il sito ufficiale:

How do I know if my server meets these system requirements?

  • Supported Operating Systems:
    • Linux x86, x86-64
  • Supported Web Servers:
    • Apache 1.3.x
    • Apache 2.0.x
    • Apache 2.2.x
  • Supported Browsers:
    • Microsoft Internet Explorer 6 and above
    • Mozilla Firefox 2.0 and above
    • Apple Safari 2.x
    • Google Chrome
    • Adobe Flash browser plug-in should be installed
  • PHP Compatibility:
    • 5.2.0 and above
    • Required extensions:
      • PDO_MySQL
      • simplexml
      • mcrypt
      • hash
      • GD
      • DOM
      • iconv
      • SOAP (if Webservices API is to be used)
    • Safe_mode off
    • Memory_limit 32M or more
  • MySQL:
    • 4.1.20 or newer
    • InnoDB storage engine
  • SSL:
    • If HTTPS is used to work in the admin, SSL certificate should be valid. Self-signed SSL certificates are not supported
  • Server - hosting - setup:
    • Ability to run scheduled jobs (crontab) with PHP 5
    • Ability to override options in .htaccess files

Ultima news, ho cercato come poter risparmiare sull'hosting, ed ho trovato
ILBELLO.COM
questo servizio (comprensivo di Mysql e php) è molto interessante, in quanto completamente gratuito e fornisce anche la possibilità di preinstallazione dei sistemi cms principali sopra elencati.
Ilbello è una parte di hostingproessionale.net, servizio di hosting a pagamento con ottimi servizi a bassissimi prezzi.

Buona Vendita on line a tutti
Swipon

Debian Lenny on Asus EeePc 8Gb Lxde

Mi è stato portato un Asus EeePc con hardisk da 8 Gb da installare con debian in quanto l'utente voleva un sistema in dimensioni ridotte e buone prestazioni.

Dopo un po' di ricerche e lavoro ho risolto il tutto creando un script adatto anche ai novizi, che installa un sistema completo di tutte le applicazioni necessarie con dimesione inferiore a 3 Gb ed un desktop degno di chiamarsi tale, sfruttando il nuovo window manager lxde presente da poco nei repository.

L'unico passaggio che non ho ancora completato è la pre installazione di una debian lenny con solo il "sistema base" installato (non preoccupatevi neanche di abilitare i software non free).

scaricate quindi una iso della debian minimale da qui:
http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-cd/debian-500-i386-businesscard.iso

masterizzatela ed installatela (tutti i file in un unica partizione e consiglio una swap da 512 Mb) tramite un lettore cd usb oppure seguite la GUIDA PER INSTALLAZIONE DA USB.

Ora potete loggarvi nel vostro sistema (a terminale visto che il sistema base non ha quasi nulla) come root.

Vi basterà scaricare ed eseguire lo script nella directory /root (la ho di default di root):

cd /root
wget ftp://195.250.34.113/eeepc.sh
Renderlo eseguibile e lanciarlo:
chmod 755 eeepc.sh
./eeepc.sh
oppure creare manualmente il file /root/eeepc.sh contenente il seguente codice:

echo "Configurazione EEEPC with debian"

echo "Username del vostro utente desktop? (non root)"
read utente
echo "Setting Up permessi utente"
addgroup admin
adduser $utente netdev
adduser $utente dialout
adduser $utente cdrom
adduser $utente floppy
adduser $utente audio
adduser $utente video
adduser $utente lpadmin
adduser $utente lp
adduser $utente disk
adduser $utente src
adduser $utente admin
echo "Defaults env_reset" > /etc/sudoers
echo "root ALL=(ALL) ALL" >> /etc/sudoers
echo "%admin ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

echo "Impostazione apt"
echo "## APT Repository List" > /etc/apt/sources.list
echo "##" >> /etc/apt/sources.list
echo "## Default Repository" >> /etc/apt/sources.list
echo "deb http://mi.mirror.garr.it/mirrors/debian/ lenny main non-free contrib" >> /etc/apt/sources.list
echo "deb-src http://mi.mirror.garr.it/mirrors/debian/ lenny main non-free contrib" >> /etc/apt/sources.list
echo "" >> /etc/apt/sources.list
echo "##Security Default Repository" >> /etc/apt/sources.list
echo "deb http://security.debian.org/ lenny/updates main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://security.debian.org/ lenny/updates main contrib non-free" >> /etc/apt/sources.list
echo "" >> /etc/apt/sources.list
echo "## EEEpc Debain Distro" >> /etc/apt/sources.list
echo "#deb http://eeepc.debian.net/debian lenny main contrib non-free" >> /etc/apt/sources.list
echo "#deb-src http://eeepc.debian.net/debian lenny main contrib non-free" >> /etc/apt/sources.list
echo "" >> /etc/apt/sources.list
echo "## Wicd - wireless monitor repository" >> /etc/apt/sources.list
echo "#deb http://apt.wicd.net lenny extras" >> /etc/apt/sources.list
echo "" >> /etc/apt/sources.list
echo "## Google Repository" >> /etc/apt/sources.list
echo "#deb http://dl.google.com/linux/deb/ stable non-free" >> /etc/apt/sources.list
echo "" >> /etc/apt/sources.list
echo "## Amule Adunanza Repository" >> /etc/apt/sources.list
echo "#deb http://amuleaducvs.altervista.org/latest/ binary/" >> /etc/apt/sources.list
#wget -q http://apt.wicd.net/wicd.gpg -O- | apt-key add -
#wget -q http://eeepc.debian.net/debian/archive-key-eeepc.asc-O- | apt-key add -

echo "Preset moduli"
echo pciehp >> /etc/modules
echo "options pciehp_force=1" > /etc/modprobe.d/pciehp
echo snd_hda_intel >> /etc/modules
echo snd-seq-device >> /etc/modules
echo snd-seq-midi >> /etc/modules
echo snd-seq-oss >> /etc/modules
echo snd-seq-midi-event >> /etc/modules
echo snd-seq-oss >> /etc/modules
echo snd-seq >> /etc/modules
echo uvcvideo >> /etc/modules

echo "Setting up patch for resume Wireless"
mkdir -p /etc/acpi/actions/
echo "
#!/bin/sh
runlevel = '`runlevel`'
if ( '$runlevel' = 'N 6') ; then
exit 0
fi
brn_control='/proc/acpi/asus/brn'
brightness='`cat $brn_control`'
/etc/acpi/actions/hotkey.sh ath0 ATKD 00000011
/etc/init.d/dbus stop
pm-suspend --quirk-s3-bios --quirk-dpms-on
echo $brightness > $brn_control
/etc/init.d/dbus start
/etc/acpi/actions/hotkey.sh ath0 ATKD 00000010" > /etc/acpi/actions/suspend.sh

echo "tmpfs /tmp tmpfs defaults 0 0" >>/etc/fstab

echo "Impostazioni durata batteria e hard disk"
echo "
#!/bin/sh -e
sleep 2
echo 5 > /proc/sys/vm/laptop_mode
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 90 > /proc/sys/vm/dirty_ratio
echo 1 > /proc/sys/vm/dirty_background_ratio
exit 0
" > /etc/rc.local

echo "Settin up Ottimizzazione Audio Device"
echo "
pcm.my_card {
type hw
card 0
# mmap_emulation true
}
pcm.dmixed {
## This provides software mixing for audio out
type dmix
ipc_key 1024
slave {
pcm 'my_card'
## period_size and buffer_size
## can be modified to reduce
## latency or add more 'cusion'
## through the buffer
period_size 1024
buffer_size 4096
rate 44100
}
}
pcm.dsnooped {
## this provides software mixing for audio in
type dsnoop
ipc_key 2048
slave {
pcm 'my_card'
period_size 1024
buffer_size 4096
rate 44100
}
}
pcm.asymed {
## this plugin allows you to bind both
## the dmix and dsnoop plugins together
type asym
playback.pcm 'dmixed'
capture.pcm 'dsnooped'
}
pcm.pasymed {
## if you do not want to use use
## mixing by default, you can delete
## !default entry below and direct
## apps to use this 'device' as a
## extra option
type plug
slave.pcm 'asymed'
}
pcm.dsp0 {
## this allows most OSS-only apps
## to use this mixing stuff
## through the use of the aoss wrapper
type plug
slave.pcm 'asymed'
}
pcm.!default {
## this makes alsa apps default
## to use this config
type plug
slave.pcm 'asymed'
}" > /home/$user/.asoundrc

chown $user: /home/$user/.asoundrc

echo "Aggiornamento sistema base"
apt-get update
apt-get update
apt-get -f dist-upgrade

echo "Creazione Script di installazione al prossimo riavvio"
echo "#!/bin/bash" > /etc/rc2.d/S99eeepc
echo "apt-get -y install linux-uvc-modules-`uname -r` vim-full xserver-xorg gdm lxde gnome-network-admin gnome-system-tools gnome-main-menu k3b iceweasel timidity tuxguitar openoffice.org alsa-base alsa-utils x11-apps gimp amule amsn wengophone wine icedove icedax tsclient vlc xterm samba smbclient smbfs cups foomatic-gui foomatic-db sane sane-utils xpdf leafpad wpasupplicant openvpn ssh network-manager network-manager-openvpn network-manager-gnome network-manager-openvpn-gnome wireless-tools hostapd bluetooth cpufreqd cpufrequtils acpi acpid udev audacity toolame msttcorefonts gsfonts-x11 sun-java5-jdk mirage laptop-detect laptop-mode-tools hibernate suspend2-userui xscreensaver unclutter openssl dssi-utils wvdial wine-bin wine-utils uswsusp unzip unrar tuxguitar-alsa splashy pppoeconf pppoe alsa-oss alsa-tools-gui bluez-utils cabextract dvd+rw-tools cdrecord cdrdao cdparanoia xarchiver alien rpm sudo zip arj bzip2 madwifi-tools lxlauncher eeepc-acpi-scripts atl2-modules-`uname -r` acpi-support acpitool brightside ntpdate pcmciautils bluez-gnome firmware-iwlwifi gnome-games kernel-package autoconf automake rt-2860-modules-`uname -r` dh-make linux-headers-`uname -r` libncurses5-dev" >> /etc/rc2.d/S99eeepc
echo "wget http://eeepc-fancontrol.googlecode.com/files/eeepc-fancontrol-0.21.deb" >> /etc/rc2.d/S99eeepc
echo "dpkg -i eeepc-fancontrol-0.21.deb" >> /etc/rc2.d/S99eeepc
echo "
echo '[daemon]
DefaultSession=LXDE.desktop
[security]
AllowRoot=true
[xdmcp]
[gui]
[greeter]
[chooser]
[debug]
[servers]
' > /etc/gdm/gdm.conf" >> /etc/rc2.d/S99eeepc
echo "apt-get clean" >> /etc/rc2.d/S99eeepc
echo "rm /etc/rc2.d/S99eeepc" >> /etc/rc2.d/S99eeepc
echo "rm /etc/rc3.d/S99eeepc" >> /etc/rc2.d/S99eeepc
echo "rm /etc/rc5.d/S99eeepc" >> /etc/rc2.d/S99eeepc
chmod 755 /etc/rc2.d/S99eeepc

echo "#!/bin/bash" > /etc/rc3.d/S99eeepc
echo "apt-get -y install linux-uvc-modules-`uname -r` vim-full xserver-xorg gdm lxde gnome-network-admin gnome-system-tools gnome-main-menu k3b iceweasel timidity tuxguitar openoffice.org alsa-base alsa-utils x11-apps gimp amule amsn wengophone wine icedove icedax tsclient vlc xterm samba smbclient smbfs cups foomatic-gui foomatic-db sane sane-utils xpdf leafpad wpasupplicant openvpn ssh network-manager network-manager-openvpn network-manager-gnome network-manager-openvpn-gnome wireless-tools hostapd bluetooth cpufreqd cpufrequtils acpi acpid udev audacity toolame msttcorefonts gsfonts-x11 sun-java5-jdk mirage laptop-detect laptop-mode-tools hibernate suspend2-userui xscreensaver unclutter openssl dssi-utils wvdial wine-bin wine-utils uswsusp unzip unrar tuxguitar-alsa splashy pppoeconf pppoe alsa-oss alsa-tools-gui bluez-utils cabextract dvd+rw-tools cdrecord cdrdao cdparanoia xarchiver alien rpm sudo zip arj bzip2 madwifi-tools lxlauncher eeepc-acpi-scripts atl2-modules-`uname -r` acpi-support acpitool brightside ntpdate pcmciautils bluez-gnome firmware-iwlwifi gnome-games kernel-package autoconf automake rt-2860-modules-`uname -r` dh-make linux-headers-`uname -r` libncurses5-dev" >> /etc/rc3.d/S99eeepc
echo "wget http://eeepc-fancontrol.googlecode.com/files/eeepc-fancontrol-0.21.deb" >> /etc/rc3.d/S99eeepc
echo "dpkg -i eeepc-fancontrol-0.21.deb" >> /etc/rc3.d/S99eeepc
echo "
echo '[daemon]
DefaultSession=LXDE.desktop
[security]
AllowRoot=true
[xdmcp]
[gui]
[greeter]
[chooser]
[debug]
[servers]
' > /etc/gdm/gdm.conf" >> /etc/rc3.d/S99eeepc
echo "apt-get clean" >> /etc/rc3.d/S99eeepc
echo "rm /etc/rc2.d/S99eeepc" >> /etc/rc3.d/S99eeepc
echo "rm /etc/rc3.d/S99eeepc" >> /etc/rc3.d/S99eeepc
echo "rm /etc/rc5.d/S99eeepc" >> /etc/rc3.d/S99eeepc
chmod 755 /etc/rc3.d/S99eeepc

echo "#!/bin/bash" > /etc/rc5.d/S99eeepc
echo "apt-get -y install linux-uvc-modules-`uname -r` vim-full xserver-xorg gdm lxde gnome-network-admin gnome-system-tools gnome-main-menu k3b iceweasel timidity tuxguitar openoffice.org alsa-base alsa-utils x11-apps gimp amule amsn wengophone wine icedove icedax tsclient vlc xterm samba smbclient smbfs cups foomatic-gui foomatic-db sane sane-utils xpdf leafpad wpasupplicant openvpn ssh network-manager network-manager-openvpn network-manager-gnome network-manager-openvpn-gnome wireless-tools hostapd bluetooth cpufreqd cpufrequtils acpi acpid udev audacity toolame msttcorefonts gsfonts-x11 sun-java5-jdk mirage laptop-detect laptop-mode-tools hibernate suspend2-userui xscreensaver unclutter openssl dssi-utils wvdial wine-bin wine-utils uswsusp unzip unrar tuxguitar-alsa splashy pppoeconf pppoe alsa-oss alsa-tools-gui bluez-utils cabextract dvd+rw-tools cdrecord cdrdao cdparanoia xarchiver alien rpm sudo zip arj bzip2 madwifi-tools lxlauncher eeepc-acpi-scripts atl2-modules-`uname -r` acpi-support acpitool brightside ntpdate pcmciautils bluez-gnome firmware-iwlwifi gnome-games kernel-package autoconf automake rt-2860-modules-`uname -r` dh-make linux-headers-`uname -r` libncurses5-dev " >> /etc/rc5.d/S99eeepc
echo "wget http://eeepc-fancontrol.googlecode.com/files/eeepc-fancontrol-0.21.deb" >> /etc/rc5.d/S99eeepc
echo "dpkg -i eeepc-fancontrol-0.21.deb" >> /etc/rc5.d/S99eeepc
echo "
echo '[daemon]
DefaultSession=LXDE.desktop
[security]
AllowRoot=true
[xdmcp]
[gui]
[greeter]
[chooser]
[debug]
[servers]
' > /etc/gdm/gdm.conf" >> /etc/rc5.d/S99eeepc
echo "apt-get clean" >> /etc/rc5.d/S99eeepc
echo "rm -f /etc/rc2.d/S99eeepc" >> /etc/rc5.d/S99eeepc
echo "rm -f /etc/rc3.d/S99eeepc" >> /etc/rc5.d/S99eeepc
echo "rm -f /etc/rc5.d/S99eeepc" >> /etc/rc5.d/S99eeepc
chmod 755 /etc/rc5.d/S99eeepc

reboot
exit 0
E lanciarlo con il comando:

bash /root/eeepc.sh

digitate quando vi verrà chiesto il nome utente normale che avete inserito nell'istallazione e date invio.

Attendete che abbia finito, riavvierà il pc, installerà il software e ripulirà il sistema dalla cache dello script e dei pacchetti installati riavviando per una seconda volta.

Dopo il secondo riavvio potrete accedere al vostro sistema completamente configurato.

Ben accetti riscontri in merito

Ciao a tutti
Swipon

Centralino Voip trixbox + euteliavoip

Esiste un modo per abbassare drasticamente il costo delle chiamate? Certo, un centralino voip.

Avevo già trattato la configurazione di ekiga per euteliavoip (skypho) per tutti gli utenti che hanno poche pretese, ma spesso il problema nasce con le configurazioni complicate delle aziende.

Per mantenere una linea comune ai post in questo esempio ho utilizzato appunto eutelia voip, che permette le autoricariche da carte di credito ed i number portability; ma nulla vieta con un centralino voip di registrarvi anche altri operatori con una procedura analoga.

Premessa:

Un centralino non necessita di un gran hardware, per aziende fino a 10 telefoni posso consigliarvi tranquillamente di utilizzare una macchina virtuale VmWare con 1 solo processore, 8Gb di disco, lan in bridge e 256Mb di ram; oppure un pentium 3 con almeno le stesse caratteristiche.

Ora che avrete l'hardware possiamo procedere, procuratevi una iso di trixbox (distribuzione linux basata su centos già preconfigurata) dal sito ufficiale, posto qui un mirror diretto:
http://superb-east.dl.sourceforge.net/sourceforge/asteriskathome/trixbox-2.6.2.1.iso
A questo punto servirà inoltre un'account registrato gratuitamente presso il provider voip, in questo caso:
http://www.euteliavoip.com
tramite il quale potrete registrare tutte le numerazioni che volete, ed attivare anche numerazioni fax che vi permetteranno di ricevere direttamente su e-mail i fax (tiff,jpg,pdf) ed i rapportini di invio (i fax sono inviabili tramite e-mail, software free, via interfaccia web).

Sarà necessario per ultimo avere un adsl con ip fisso, (un esempio molto economico, con buone bande garantite può essere cheapnet); per chi avesse ip dinamico (come di norma per tutte le adsl casalinghe) può trovare come soluzione dyndns.com, anch'esso con registrazione gratuita, permette di associare un dominio ad un ip dinamico, tramite un apposito software gratuito che effettua costantemente l'aggiornamento dell'ip sul sito ( http://www.dyndns.com/support/clients/ ) in tal caso ove nella spiegazione troverete la dicitura vostroipesterno, dovrete inserire il dominio dinamico registrato (es: example.dyndns.org).

Nota per i firewall router
Avevo notato che aprendo e nattando solo le porte consigliate da eutelia non funzionava quindi eccole:

udp 123
udp 5004
udp 5060
udp 5061
udp 5062
udp 5063
udp 4569
udp 4570
udp 8000
udp 8001
udp 8002
udp 8003
udp
3478
udp 60028
udp 16384
udp 16482
tcp 5038
tcp 4559
tcp 8088
tcp 6600
tcp 4445
tcp 60476
tcp 60477
tcp 60478
tcp 60479
tcp 42359
tcp 59579
tcp 59581

Ora avete a disposizione tutto il necessario per l'installazione e la lan configurata correttamente.

Installazione:
L'installazione è molto semplice, inserite il cdrom all'avvio, quando comparirà la prima schermata con il logo trixbox date [invio] e rispondete mano a mano alle domande che vi vengono poste.
Se avete il dhcp attivato internamente sappiate che il centralino funzionerà comunque, il problema sarà solo per i client che lo devono contattare (con un dns interno ed un dhcp configurato bene non avrete problemi).

NOTA: l'installer effettuerà un paio di riavvi per effettuare le auto configurazioni, lasciatelo fare finche non vedrete comparire stabile la schermata nera di login.

Configurazione:
La configurazione è molto semplice, in quanto avrete a disposizione fin da subito un centralino funzionante, con già un interfaccia web per l'amministrazione.

A questo punto entrate nel pannello amministrativo digitando in un browser:

http://ipinterno.del.vostro.server/maint/?freepbx


La cosa più importante e delicata sarà la configurazione dei "trunk" (fasci) che sono le connessioni ai provider.

Create quindi un nuovo trunk sip che dovrà avere la seguente struttura:
identificativo di uscita:
Never Override Caller id: selezionato
Regole chiamate:
0039+XXXXXXXXX
0039+XXXXXXXXXX
0039+XXXXXXXXXXX
0039+XXXXXXXX

Impostazioni in Uscita

Nome Fascio: numerovoip

dettagli peer:

allow=ulaw&alaw&gsm&g723&g729&h261&h263&h263p
callerid=Unknown
context=from-sip-external
defaultexpirey=1800
disallow=all
dtmfmode=inband
externip=vostroipesterno
fromuser=
numerovoip
host=voip.eutelia.it
insecure=very
language=it
nat=yes
port=5060
qualify=yes
secret=password
srvlookup=yes
type=friend
useragent=Asterisk_Eut
username=
numerovoip

Impostazioni in entrata

Nome Fascio: in_
numerovoip

dettagli peer:
allow=ulaw&alaw&gsm&g723&g729&h261&h263&h263p
callerid=Unknown
disallow=all
dtmfmode=inband
externip=vostroipesterno
fromuser=
numerovoip
host=voip.eutelia.it
insecure=very
language=it
nat=yes
qualify=yes
realm=voip.eutelia.it
secret=password
srvlookup=yes
type=friend
username=
numerovoip

Stringa di registrazione:
numerovoip:password:numerovoip@voip.eutelia.it:5060/numerovoip
Per euteliavoip sarà necessario andare nelle impostazioni generali (pbx - pbx settings - general settings) ed abilitare l'opzione:
Allow Anonymous Inbound SIP Calls? YES
Trixbox ha già una regola di uscita di default configurata per digitare 9 per uscire, ma dovrete legarvi il trunk appena creato con il menu a tendina che troverete in basso.
Configurate quindi le regole di uscita e di entrata a vostro piacimento.

NOTA: Con una configurazione di più di un trunk in uscita con lo stesso provider, in questo caso eutelia voip, molti router/modem spesso hanno un problema noto; la arp tables impazzisce e bisogna riavviarli spesso. Per risolvere il problema è sufficente modificare in "
Impostazioni in Uscita" la variabile defaultexpirey=300 con defaultexpirey=1800 (consiglio di utilizzarla sempre così per risolvere possibili problemi di timeout) e la variabile port=5060, che diventerà 5061 per il secondo fascio, 5062 per il terzo e così via, ma senza modificare la stringa di registrazione che dovrà sempre essere numerovoip:password:numerovoip@voip.eutelia.it:5060/numerovoip.

Abilitare il supporto tapi e astapi per asterisk 1.4.* (nuova trixbox 2.6):
Il nuovo trixbox ha finalmente integrato un asterisk più recente con molte più funzionalità.
Una di queste news di asterisk 1.4 è il supporto per i tapi driver sia di outlook che http, in poche parole potrete rendere il vostro asterisk analogo a qualsiasi skype, installando l'apposito plugin per firefox "nooje click" scaricabile ed installabile tramite questa guida:

http://blog.liberailvoip.it/2008/10/31/noojee-soluzione-click-to-call-per-asterisk/

di cui riporto qui i passi fondamentali adattati a trixbox (i file di conf e i context hanno nomi diversi);

scaricate il plugin da QUI ed installatelo sui client (dopo aver installato firefox)

Editate il file /etc/asterisk/manager_custom.conf aggiungedo in fondo:
[nojeeclick]
secret = nojeepasswd
permit=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user

Modificate il file /etc/asterisk/manager.conf in modo che la sezione "general" corrisponda a:
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
webenabled=yes
Modificate (o create se non presente) il file /etc/asterisk/http.conf che deve contenere:
; Asterisk Builtin mini-HTTP server
[general]
enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
bindport=8088
prefix=asterisk
uploads = /var/lib/asterisk/uploads/
Date ora i comandi da terminale:
mkdir /var/lib/asterisk/uploads
chown asterisk:asterisk /var/lib/asterisk/uploads
amportal restart
asterisk -rx "http show status"
L'ultimo comando dovrà restituirvi un report delle funzionalità di asterisk correttamente configurate tipo:
HTTP Server Status:
Prefix: /asterisk
Server Enabled and Bound to 0.0.0.0:8088

Enabled URI's:
/asterisk/httpstatus => Asterisk HTTP General Status
/asterisk/manager => HTML Manager Event Interface
/asterisk/rawman => Raw HTTP Manager Event Interface
/asterisk/static/... => Asterisk HTTP Static Delivery
/asterisk/mxml => XML Manager Event Interface
Il test di funzionamento lo potete fare aprendo il firefox di un client ed andare all'indirizzo:
http://ip_asterisk:8088/asterisk/manager?action=login&username=noojeclick&secret=nojeepasswd
A questo punto potete configurare i plugin noojee click nei client con la seguente configurazione:
server type: AJAM (Asterisk 1.4+)
host: ip del centralino
port: 8088
username: nojeeclick
password: nojeepasswd
extension: interno sip dell'utente (a quale numero verrà trasferita la chiamata al click)
context: from-internal
phone type: Aastra
dial prefix: 0
international prefix: 00
pattern:
XXXX XXX XXX
XXXX XXXX XXXXXX
XXXX XXXX
XX XXXX XXXX
XXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXXX
XX XXXXXXXX
XXX-XXX-XXXX
(XX) XXXX XXXX
(XX) XXXX-XXXX
(XXXX) XXXX XXXX
(XXXX) XXXX-XXXX
(XXXX) XXX XXXX
(XXXX) XXX-XXXX
(XXX) XXX XXXX
(XXX) XXX-XXXX
+XX X XXXX XXXX
Riavviate firefox e quando l'utente clicckerà su l'icona rossa a fianco di un numero in una pagina web, verrà trasferita al suo telefono sip (softphone tipo qutecom o apparato fisico) che avvierà la chiamata al numero esterno solo dopo aver alzato la cornetta.

Per installare il supporto click-to-call di Outlook, vi consiglio di scaricare ed installare sui client windows il seguente driver TAPI:
http://outcall.sourceforge.net/
Ora se volete traducete le voci del vostro centralino in italiano, loggatevi in console da root e date i seguenti comandi:
wget http://mirror.tomato.it/ftp/pub/asterisk/suoni_ita/it_mm_sounds_20060510.tar.gz
mkdir /var/lib/asterisk/sounds/it
mkdir /var/lib/asterisk/sounds/dictate/it
mkdir /var/lib/asterisk/sounds/digits/it
mkdir /var/lib/asterisk/sounds/letters/it
mkdir /var/lib/asterisk/sounds/phonetic/it
cp -rfp sounds_it_2006_05_10/*.gsm /var/lib/asterisk/sounds/it
cp -rfp sounds_it_2006_05_10/dictate/* /var/lib/asterisk/sounds/dictate/it
cp -rfp sounds_it_2006_05_10/digits/* /var/lib/asterisk/sounds/digits/it
cp -rfp sounds_it_2006_05_10/letters/* /var/lib/asterisk/sounds/letters/it
cp -rfp sounds_it_2006_05_10/phonetic/* /var/lib/asterisk/sounds/phonetic/it
E le voci italiane sono state installate.

Creazione client (postazioni telefoniche):
Il mio consiglio è di utilizzare sempre SIP, come softphone Qutecom, che supporta anche msn per poter eguagliare in tutto soluzioni molto pesanti come skype.
Per crearli, basterà andare da interfaccia web-pbx-pbx settings-extension (interni)

Invio di fax tramite voip ( hylafax + iaxmodem + Winprint )

Installate da terminale i pacchetti necessari:
yum -y install ghostscript sharutils mgetty-voice hylafax iaxmodem
ln -s /usr/share/fonts/default/ghostscript/ /usr/share/ghostscript/fonts
mkdir /var/log/iaxmodem
touch /var/log/iaxmodem/iaxmodem-cfg.ttyIAX
echo "t2:23:respawn:/usr/sbin/faxgetty ttyIAX" >> /etc/inittab
echo "IAX:2345:respawn:/usr/sbin/iaxmodem iaxmodem-cfg.ttyIAX"
>> /etc/inittab
Io consiglio di scaricare le ultime versioni di iaxmodem e hylafax, ma anche così funzionerà.
Create dall'interfaccia web un interno IAX2 con le seguenti caratteristiche:
Extension Number: 1100
Display Name: IAXModem
Record Incoming: Never
Record Outgoing: Never
Secret: password
Modificate (o create se non presente) il file /etc/iaxmodem/iaxmodem-cfg.ttyIAX come segue
device /dev/ttyIAX
owner uucp:uucp
mode 660
port 4570
refresh 60
server 127.0.0.1
peername 1100
secret password
cidname Fax
cidnumber NumeroVoipDiUscita
codec slinear
Il codec potete sceglierlo tra alaw, ulaw e slinear; ma a me ha sempre funzionato solo con slinear.
Modificate (o create se non presente) il file
/etc/hylafax/etc/config (oppure /etc/hylafax/config se compilato) come segue:
LogFacility: daemon
CountryCode: 39
AreaCode: 51 ------------------> quello della vostra provincia
LongDistancePrefix: 0
InternationalPrefix: 00
DialStringRules: etc/dialrules.europe
ServerTracing: 1
Modificate (o create se non presente) il file
/etc/hylafax/etc/config.ttyIAX (oppure /etc/hylafax/config.ttyIAX se compilato) come segue:
CountryCode: 39
AreaCode: 51
FAXNumber: +39.051.vostronumerovoip
LongDistancePrefix: 0
InternationalPrefix: 00
DialStringRules: etc/dialrules.europe
ServerTracing: 1
SessionTracing: 11
RecvFileMode: 0664
LogFileMode: 0644
DeviceMode: 0644
RingsBeforeAnswer: 2
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: "IAXmodem"
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 200
ModemType: Class1 # use this to supply a hint
ModemResetCmds: "ATH1\nAT+VCID=1" # enables CallID display
ModemReadyCmds: ATH0
Class1AdaptRecvCmd: AT+FAR=1
Class1TMConnectDelay: 400 # counteract quick CONNECT response
Class1RMQueryCmd: "!24,48,72,96" # enable this to disable V.17 receiving
#Class1TMQueryCmd: "!24,48,72,96" # enable this to disable V.17 sending
ModemResetCmds: AT+VCID=1 # enables CallID display
PagerTTYParity: none
CallIDPattern: "NMBR="
CallIDPattern: "NAME="
CallIDPattern: "ANID="
CallIDPattern: "NDID="
Class1JBIGSupport: no
Class1PPMWaitCmd: "" # \072 == : to avoid awk problem
Class1TCFWaitCmd: ""
Class1EOPWaitCmd: ""
Class1SwitchingCmd: "" # assumption: +FRS not supported

ModemReadyState: R

Modificate (o create se non presente) il file /etc/hylafax/etc/FaxDispatch
(oppure /etc/hylafax/FaxDispatch se compilato) come segue:
case "$DEVICE" in
ttyIAX) SENDTO=FaxMaster;;

esac
Ora potete dare il comando
faxsetup
Che configurerà hylafax controllando le dipendenze, quando vi verrà chiesto se configurare il modem digitate:
no
e date invio, in quanto il modem è già configurato con i precedenti passaggi.

Create gli utenti per le stampanti winprint:
faxadduser -a passw0rd -p passw0rd faxuser0
faxadduser -a passw1rd -p passw1rd faxuser1
faxadduser -a passw2rd -p passw2rd faxuser2
.... e cosi via.
Riavviate il centralino e i fax dovrebbero poter essere spediti come da un normale hylafax, per il quale vi rimando alla guida che scrissi qualche tempo fa.

Per Poter creare una paginetta sul vostro sito in php che tramite un apposito form crei una chiamata tra un interno ed il numero del cliente automaticamente a carico del centralino potete usare la seguente pagina in php:

<html>
<head>
<title> HelpDesk gratis!</title>
</head>
<body>
<?

$strHost = “127.0.0.1&#8243;;
$strUser = “admin”;
$strSecret = “amp111&#8243;;
$strContext = “from-internal”;
$strWaitTime = “30&#8243;;
$strPriority = “1&#8243;;
$strMaxRetry = “2&#8243;;
$strExten = $_POST['txtphonenumber'];
$callNumber = $strExten;
$strCallerId = “Web Call <$callNumber> “;
$length = strlen($strExten);
if ($length == 10 && is_numeric($strExten))
{
$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die(”Connection to host failed”);
fputs($oSocket, “Action: loginrn”);
fputs($oSocket, “Events: offrn”);
fputs($oSocket, “Username: $strUserrn”);
fputs($oSocket, “Secret: $strSecretrnrn”);
fputs($oSocket, “Action: originatern”);
fputs($oSocket, “Channel: Local/$callNumber@from-internalrn”);
fputs($oSocket, “WaitTime: $strWaitTimern”);
fputs($oSocket, “CallerId: $strCallerIdrn”);
fputs($oSocket, “Exten: 699rn”);
fputs($oSocket, “Context: $strContextrn”);
fputs($oSocket, “Priority: 1rnrn”);
fputs($oSocket, “Action: Logoffrnrn”);
sleep(3);
fclose($oSocket);
?>
<div>
<h3>Compila il form e verrai contattato gratuitamente dal nostro staff!</h3>
<p>
<table width=”300&#8243; border=”1&#8243; bordercolor=”#0f0f0f” cellpadding=”3&#8243; cellspacing=”0&#8243;>

<tr>
<td> <p> <font color=”#000000&#8243; size=”2&#8243; face=”verdana,georgia”> Stiamo processando
la tua chiamata, entro pochi secondi squillerà il telefono al numero
che hai inserito.<br>
Sarai messo in contatto con il nostro call center gratuitamente!</font> </p>
<p> <font color=”#000000&#8243; size=”2&#8243; face=”verdana,georgia”> HelpDesk Service
VoIP <br>
<a xhref=”javascript:history.go(-1)” mce_href=”javascript:history.go(-1)” > riprova.</a> </font> </p> </td>
</tr>
</table>
<p>
<h3> <a xhref=”javascript:history.go(-1)” mce_href=”javascript:history.go(-1)” > Indietro</a> </h3>
</p>

<?
}
else
{
?>
<p>
<table width=”300&#8243; border=”1&#8243; bordercolor=”#0f0f0f” cellpadding=”3&#8243; cellspacing=”0&#8243;>
<tr>
<td> <font size=”2&#8243; face=”verdana,arial,georgia”
color=”#000000&#8243;> Inserisci il tuo numero di telefono, comprensivo di prefisso (es.
0577XXXXXX) sul quale vuoi ricevere la chiamata dal nostro sistema automatico.</font>
<form action=”<? echo $_SERVER['PHP_SELF'] ?> ” method=”post”>

<input type=”text” size=”20&#8243; maxlength=”10&#8243; name=”txtphonenumber”> <br>
<input type=”submit”
value=”Telefonami”>
</form>
</td> </tr>
</table>
</p>
<?
}
?>
</div>
</body>
</html>
Consiglio:
Tramite il menu in alto "strumenti" potrete accedere a "module admin" sulla sinistra, che vi permetterà di installare un risponidore automatico IVR, suonerie di attesa, sistemi di backup, gruppi di chiamata, sistemi di code, sitemi per la registrazione di nuovi messaggi, ecc...

Appena avrete finito la configurazione ricordatevi di applicare le modifiche tramite il pulsante rosso in alto a sinistra che comparirà dopo la prima azione, questo applicherà istantaneamente le modifiche e riavvierà asterisk ricollegandolo.

Buone telefonate a tutti!
Swipon

changelog dell'howto:
-----------------------------------------------------------------------------------------
- aggiunti codec per chiamate video nel trunk
- risolto e spiegato problema con trunk multipli
- aggiornamento per nuove funzioni asterisk 1.4.* e 1.6.*
- aggiunto how to noojeclick x click to call
- aggiornato dopo il rilascio del meraviglioso qutecom
- inserita integrazione hylafax e iaxmodem
- inserito personalizzazione con voci italiane
- aggiunta pagina php per farsi chiamare gratis dal web
- aggiunta sezione firewall