Qualche giorno fa mi è venuta l’idea di collegare un centralino asterisk che ho in ufficio e che uso come test con il mio centralino di casa.
Allora pongo la domanda al mio caro amico Walter esperto di Asterisk e lui mi risponde cosi:

Certo che si può fare (a patto che i centralini da collegare abbiano una connessione adsl, o comunque a banda larga)
basta usare IAX che è il protocollo di interconnessione nativo di asterisk.
Poi mi spiegava che questo protocollo ha una serie di vantaggi in confronto al piu tiffuso dei protolli.. SIP

1) può incapsulare tutto il traffico in un unico canale
2) usa una sola porta di comunicazione
3) l’attraversamento delle NAT è nativo, e non da problemi
4) permette di selezionare il punto di arrivo nel dialplan di destinazione sin dall’origine
5) permette l’autenticazione su chiave pubblica

comunque tante altre piccole funzionalità che nell’insieme lo rendono imbattibile.

Mi sono studiato la configurazione e alla fine non è stata molto difficile.
Veniamo al sodo abbiamo due centralini (Hardy e Karmic in perfetto stile Ubuntu) di cui vado ad illustrare iax.conf:

Hardy
iax.conf:
[general]

bindport=4569
bindaddr=0.0.0.0
language=it
bandwidth=medium
disallow=all
allow=gsm
allow=g729
allow=alaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
requirecalltoken=no
mailboxdetail=yes
minregexpire=360
maxregexpire=3600

[karmic]
type=friend
username=ubuntu
secret=linux
auth=plaintext
host=karmic.mydomain.it
context=fromiax
peercontext=fromiax
qualify=yes
transfer=yes

Karmic
iax.conf:
[general]

bindport=4569
bindaddr=0.0.0.0
language=it
bandwidth=medium
disallow=all
allow=gsm
allow=g729
allow=alaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
requirecalltoken=no
mailboxdetail=yes
minregexpire=360
maxregexpire=3600

[hardy]
type=friend
username=ubuntu
secret=linux
auth=plaintext
host=hardy.mydomain.it
context=fromiax
peercontext=fromiax
qualify=yes
transfer=yes

Le righe da inserire in extensions.conf a questo punto sono abbastanza semplici e logiche;

Hardy
extensions.conf
[uscita]
exten => _88XXX,1,Dial(IAX2/karmic/${EXTEN:2})

[...]

[fromiax]
exten => _X.,1,Set(CALLERID(name)=Karmic)
exten => _X.,n,Goto(interni,${EXTEN},1)

Karmic
extensions.conf
[uscita]
exten => _88XXX,1,Dial(IAX2/hardy/${EXTEN:2})

[...]

[fromiax]
exten => _X.,1,Set(CALLERID(name)=Hardy)
exten => _X.,n,Goto(interni,${EXTEN},1)

Come potete vedere nel primo esempio per chiamare un interno remoto basta seleziona 88 + l’interno, mentre il secondo esempio è la rotta in entrata che cambia il Caller ID per distinguere chi chiama, e poi inoltra la chiamata nel contesto interni che è il contesto in cui si trovano i miei interni.

Spero possa essere utile a molti.

By

Frank

1) Generiamo la nuova password crittografata

ci posizioniamo nella home della administration console ex. biserver-ce/administration-console

java -cp lib/jetty-6.1.2.jar:lib/jetty-util-6.1.9.jar org.mortbay.jetty.security.Password admin mypassword

dovrebbe dare un risultato del genere:
mypassword
OBF:1uh41zly1×8g1vu11ym71ym71vv91×8e1zlk1ugm
MD5:34819d7beeabb9260a5c854bc85b3e44
CRYPT:adS/4zigRVhZk

2) Prendiamo il risultato della colonna OBF “1uh41zly1×8g1vu11ym71ym71vv91×8e1zlk1ugm”
e la sostituiamo nel file biserver-ce/administration-console/resource/config/login.properties

vim biserver-ce/administration-console/resource/config/login.properties

admin: OBF:1uh41zly1×8g1vu11ym71ym71vv91×8e1zlk1ugm,server-administrator,content-administrator,admin

Dopo un bel stop and start di Pentaho, riusciremo ad entrare nella console di amministrazione “0.0.0.0:8099″ con la nuova password.

Spero possa essere utile a molti

By

Frank

A seguito di modifiche mentre il server VMware ha tutte le risorse impegnate può succedere che vi venga fuori questo errore:

Cannot open the disk Reason : The parent virtual disk has been modified since the child was created

Questo errore non permette di avviare la macchina virtuale, dopo una ricerca nella kb di vmware sembra che il problema risiede

nel vmdk della snapshot che ha perso il parent cid.

Per risolvere il problema collegarsi via ssh al server Esxi navigare all’interno del datastore fino a trovare la directory della macchina virtuale.

# cd /vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson

facciamo ls  e troviamo i file che ci interessano (il vmdk originale, gli snapshot e il vmx).

/vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson# ls

hudson01.vmdk

hudson01-000001.vmdk

hudson01-000002.vmdk

hudson01.vmx

Cerchiamo di capire quindi cosa veniva avviato, apriamo il file vmx e andiamo a leggere il campo scsi0:0.fileName

scsi0:0.fileName = “hudson01-000002.vmdk”

Nel nostro caso significa che a partire è il secondo snapshot (identificato dallo 000002).

Apriamo il vmdk originale con l’editor vi.

# Disk DescriptorFile

version=1

CID=bea5305c

parentCID=ffffffff

createType=”vmfs”

# Extent description

RW 41943040 VMFS “hudson-flat.vmdk”

# The Disk Data Base

#DDB

ddb.geometry.biosSectors = “63″

ddb.geometry.biosHeads = “255″

ddb.geometry.biosCylinders = “2610″

ddb.adapterType = “buslogic”

ddb.geometry.sectors = “63″

ddb.geometry.heads = “255″

ddb.geometry.cylinders = “2610″

ddb.uuid = “99 01 C4 9f 36 ce 65 03-73 55 15 7e 92 88 c8 4c”

ddb.toolsVersion = “5353″

ddb.virtualHWVersion = “7″

Il campo che ci interessa è CID (in questo caso bea5305c), che andremo a sostituire nel campo parentCID del primo snapshot.

/vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson# vi hudson-000001.vmdk

# Disk DescriptorFile

version=1

CID=b9567c51

parentCID=bea5305c

createType=”vmfsSparse”

parentFileNameHint=”hudson.vmdk”

# Extent description

RW 41943040 VMFSSPARSE “hudson-000001-delta.vmdk”

# The Disk Data Base

#DDB

ddb.toolsVersion = “5353″

Salviamo con :wq

Il primo snapshot è ora sistemato, dobbiamo poi riparare il secondo, apriamolo con vi e vediamo di chi è parent.

/vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson # vi hudson-000002.vmdk

# Disk DescriptorFile

version=1

CID=1efd6875

parentCID=b9567c51

createType=”vmfsSparse”

parentFileNameHint=”hudson-000001.vmdk”

# Extent description

RW 41943040 VMFSSPARSE “hudson-000002-delta.vmdk”

# The Disk Data Base

#DDB

ddb.toolsVersion = “5353”

Dal campo parentFileNameHint capiamo che è legato al primo snapshot (hudson-000001.vmdk), prenderemo quindi il valore CID presente nel file Webserv01-000001.vmdk, e lo sostituiremo come valore parentCID in hudson-000002.vmdk.

Salviamo con :wq

Ora possiamo avviare tranquillamente la nostra macchina virtuale.

Spero possa essere di aiuto

By

Frank

Masterizzare da Shell con Ubuntu

scritto da admin il 17 Aprile 2010

Voglio elencare qualche comando che può essere utile quando si deve masterizzare e non si ha una interfaccia grafica.

Creare ISO da una directory

Medoto1:

mkisofs -J -r -V “Etichetta” -o immagine.iso directory

Metodo2:

genisoimage -o immagine.iso -r -J -l directory

Creare ISO da CD dati

dd if=/dev/cdrom of=immagine.iso bs=2048

montiamo la ISO per controllare il risultato:

mount immagine.iso /mnt/iso -t iso9660 -o loop

Masterizzare la ISO

Elechiamo i masterizzatori installati sulla macchina:

wodim -devices

Ora possiamo masterizzare la ISO:

wodim dev=/dev/hdc driveropts=burnfree fs=14M speed=8 -dao -eject -overburn -v immagine.iso

se ci da un errore possiamo usare questo metodo alternativo:

wodim dev=/dev/hdc driveropts=noforcespeed fs=14M speed=8 -dao -eject -overburn -v immagine.iso

Di seguito altri comandi utili:

Informazioni per CD/DVD vuoto

wodim dev=/dev/hdc -atip

Formattare un disco riscrivibile

wodim -blank=fast -v dev=/dev/hdc

Clonare un cd

cdrdao copy –fast-toc –device ATA:1,0,0 –buffers 256 -v2

Masterizzare immagine cue/bin

cdrdao write –speed 24 –device ATA:1,0,0 –eject filename.cue

Masterizzare immagine DVD

growisofs -dvd-compat -Z /dev/dvd=immagine.iso

Masterizzare più file su DVD

growisofs -Z /dev/dvd -R -J file1 file2 file3

per poi aggiungere ancora dei file:

growisofs -M /dev/dvd -R -J file4 file5

lla fine possiamo finalizzare la sessione:

growisofs -M /dev/dvd=/dev/zero

Creare un CD audio da file WAV

wodim -v -eject -pad -dao speed=8 dev=/dev/hdc defpregap=0 -audio *.wav

Cambiare la password di sysdba su Oracle

scritto da admin il 17 Aprile 2010

Qualche giorno fa al lavoro mi è capitato di non trovare più la password di sysdba di un database di sviluppo,cercando su google ho scoperto che è molto semplice basta eseguire i seguenti passi:

1) Ci connettiamo sul server come utente oracle e da console facciamo

bash-3.00$ sqlplus /nolog

Ci viene presentato il prompt di sysdba, cambiamo quindi la password con il comando:

SQL> alter user sys identified by nuovapassword

Dove ovviamente nuovapassword è la password che volete voi.

Spero sia utile

By

Frank

Può nascere la necessità di fare N operazioni sul nostro server VMware come ad esempio Backup,Recovery Vmdk danneggiati, Recovery Snapshot, Spostamento ISO per nuove installazioni ecc.. tutte cose che normalmente l’interfaccia di vmware esxi non consente, tutte queste operazioni posso essere fatte da console abilitato il demone ssh che di default è disabilitato.

Ecco i passi da eseguire:

  1. Dalla console di Esxi (in locale sul server non è possibile farlo in remoto), premere alt+F1
  2. Scrivere: unsopported
  3. Digitare la password di root
  4. Modificare dunque inetd.conf con vi : vi /etc/inetd.conf
  5. Cercare la riga che inizia con #ssh e rimuovere il #
  6. Salvare con :wq
  7. Far ripartire i servizi digitando /sbin/services.sh restart
Spero possa essere utile a molti
By
Frank

In alcune configurazioni mi è capitato di configurare dei  faxserver su ambienti virtuali, siccome utilizzo deifantastici modem usb “Multi-Tech MT5634ZBA-USB-V92″ avevo il problema che al riavvio del server lamacchina virtuale perdeva il collegamento con il modem, e dovevo andare a fare il join manualmentenellaconfig di vmware. Cercando nella kb ho scoperto che il join può essere fatto in automatico seguendo i seguenti passi:

1) Dal server host bisgona lanciare il comando lsusb e recuparare l’identificativo associato al nostro modem Ex.

DebianFax:~# lsusb

Bus 001 Device 002: ID 06e0:f107 Multi-Tech Systems, Inc. MT5634ZBA-USB-V92 MultiModemUSB

2) Dopo andiamo a modificare la voce relativa alla porta usb nel file VMX della nostra macchina virtuale
usb.autoConnect.device0 = “0×06e0:f107″ (viene aggiunto 0x + l’id ricavato da lsub)
In questo modo ad ogni riavvio del server host sarà eseguito in automatico il join del modem usb all’interno della macchina virtuale.
Spero possa essere utile
by
Frank

Qualche giorno fa mi è capitato d’installare su un mailserver interno questa ottima webmail, cosi ho deciso di pubblicare i semplici passi che ho eseguito:

1) Installazione Pacchetti

sudo apt-get install squirrelmail squirrelmail-locales

2) Configurazione motore Apache

Editiamo il file /etc/apache2/site-available/default e aggiungiamo le seguenti righe:

Alias /squirrelmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
Options Indexes
AllowOverride none
DirectoryIndex index.php
Order allow,deny
allow from all
</Directory>

dopo facciamo un bel restart del demone /etc/init.d/apache2 restart

3) Impostiamo la Lingua in Italiano

modifichiamo la configurazione in modo da scegliere la lingua italiana:

/usr/sbin/squirrelmail-configure

scegliere le opzioni:

10. Languages

1.  Default Language

ed al prompt digitare:

it_IT

Poi salvare le modifiche scegliendo l’opzione:

S   Save data

ed uscire scegliendo l’opzione:

Q   Quit

Non è finita. Dando il comando:

locale

noterete che la lingua utilizzata non è:

it_IT

bensì:

it_IT.UTF-8

Pertanto dobbiamo editare il file di configurazione delle traduzioni di squirrelmail:

/usr/share/squirrelmail/functions/i18n.php

e modificare la riga:

$languages['it_IT']['LOCALE']  = array(‘it_IT.ISO8859-1′,’it_IT.ISO-8859-1′,’it_IT’);

in:

$languages['it_IT']['LOCALE']  = array(‘it_IT.ISO8859-1′,’it_IT.ISO-8859-1′,’it_IT.UTF-8‘);

Ora la lingua di default di tutti gli utenti sarà l’italiano!

Spero possa essere di aiuto a qualcuno.

Saluti

Frank