Skip to content

Server VoIP Opensource: due semplici tools per grossi problemi

27 aprile 2013

Tutti coloro che si interessano di Asterisk e VoIP in generale, si saranno accorti come l’offerta di PBX software opensource sia, negli ultimi anni, in costante evoluzione.

Se fino a due anni fa il progetto di maggior successo era  Trixbox CE (giunto fino alla versione 2.8.0.4),  improvvisamente le cose sono cambiate a causa della nuova politica di Fonality che ha di fatto sospeso ogni tipo si supporto alla versione  CE  “Community Edition” per concentrare tutti i suoi sforzi sulla versione Pro – a pagamento – ed anche piuttosto costosa (scelta di certo non ideale in questi tempi di crisi e tagli generalizzati anche all’ IT )

Scomparso di fatto Trixbox, la palla è passata ad altre versioni opensource come AsteriskNOW, PBX in flash, Rabesperry Pi o il più promettente di tutti – a mio modesto parere – FreePBX ( a tal proposito leggetevi questo interessante articolo scovato qualche tempo fa sul web : AsteriskNOW vs Trixbox vs Elastix).

Ma non è di questo che voglio parlare in questo post (anche se mi riprometto di farlo nei prossimi gioni appena avrò conculso i miei test su FreePBX , tra l’altro, su macchina virtuale)

Quello che voglio sottoporre alla vostra attenzione, invece,  sono due utilissimi tool o meglio procedimenti per risolvere alcune “misteriose”  problematiche  emerse proprio durante l’ attività di ricerca e sperimentazione finalizzata alla scelta di una nuova piattaforma opensource da proporre ai miei clienti e destinata a sostituire l’ormai defunto, ancorchè glorioso, Trixbox.

Il primo tool/procedimento è stato utilissimo per capire come  mai una nuova Extension, appena creata, non voleva saperne di registrarsi sul server FreePBX ma anzi veniva sistematicamente “bannata” dal sistema anti-intrusione “di serie” (importante novità del nuovo FreePBX) e basato sull’efficiente motore di Fail2Ban.

Come tutti sanno se un Extension non si registra e viene bannata l’imputato numero uno è la password errata ma in questo caso – dopo averla ricontrollata più e più volte – non poteva trattarsi di errore di digitazione.

Per far luce sul mistero ho deciso di servirmi di una semplice analisi dei file di log di Asterisk ed, in particolare, del log: /asterisk/full.

Per fare ciò:

1) Dalla line di comando ho immesso:

tail -f /var/log/asterisk/full|grep 'Wrong password'

2) Così facendo, avviando l’IP phone corrispondente all’ Extension incriminata, è possibile monitorare in tempo reale il tentativo di registrazione e, infatti, è venuto fuori che la password risultava sbagliata:

Wrong password

3) E’ stato in questo modo che ho scoperto che non veniva riconosciuto il carattere speciale “#” contenuto nella password inserita.

4) Sostituendo  il suddetto cancelletto con un altro carattere “normale”  tutto è andato a posto.

E veniamo al secondo tool.

Il problema, questa volta, riguardava le Inbound Calls ovvero le chiamate in ingresso.

Anche qui inserendo la medesima configurazione dei trunk SIP usata mille volte sui miei server Trixbox, riuscivo a fare le chiamate in uscita ma non c’era verso di ricevere quelle in ingresso.

Mi era venuto il dubbio  che bisognasse addirittura modificare le impostazioni del firewall come suggerito su vari forum o  documenti scaricabili dalla Wiki di FreePBX.org, ma non ero convinto della cosa dal momento che – per anni – con Trixbox non c’era mai stato alcun bisogno di introdurre regole in ingresso nei firewall e nei router e forwardare le porte SIP 5060 ed RTP 10000-20000 (a meno, ovviamente, di avere delle “Remote SIP Extensions”).

Cosa ancora più strana i trunk – sia per la parte outbound che per quella inbound – apparivano sempre correttamente registrati.

Anche questa volta mi è venuta in aiuto la rete scovando questo bellissimo post: FreePBX: Inbound number not working help, che mi ha fatto conoscere un tool che non avevo mai usato (non si finisce mai di imparare…) : tcpdump .

In questo caso, il comado da lanciare – sempre ovviamente dalla command line di FreePBX/CentOS – è il seguente:

tcpdump -i eth0 -n -s 0 port 5060 -vvv | grep -B1 "INVITE sip"

Si attiva così, il monitoraggio in tempo reale di ciò che accade quando arriva ina chiamata in ingresso al server VoIP (attenzione a scegliere la giusta interfaccia ethernet che, nel mio caso, era la eth0).

Basterà, infine, effettuare una chiamata al numero corrispondente al SIP trunk in ingresso per vedere esattamente quello che accade come evidenziato dall’ esempio di output riportato sul Blog di SysAdminMan con relativa spiegazione:

Output tcpdump

Mi sono subito accorto che le chiamate “arrivavano” al server e dunque non era un problema di firewall, router o altro “esterno” al server VoIP (avevo addirittura pensato che fosse un problema connesso all’uso di macchine virtuali al posto di server fisici ma, tranquilli, non c’entra nulla…)

A quel punto mi sono concentrato sulla configurazione del trunk e ho scoperto che quella di Trixbox non andava più bene ed bisognava adattarla al nuovo software.

Facendo qualche tentativo ho risolto la questione ed ora ho la configurazione funzionante che posterò al più presto (dimenticavo, il mio provoder VoIP è Cheapnet…)

Sperando che abbiate gradito questo  mio piccolo post su un argomento così particolare ma, a mio avviso, così utile vi lascio, in attesa, come sempre, dei vostri commenti.

Annunci
2 commenti leave one →
  1. Maurizio M permalink
    24 gennaio 2014 12:39 pm

    Buongiorno Cosimo
    Sto ricercando informazioni al fine di costruire un certo tipo di infrastruttura VoIP, navigando su internet ho trovato il tuo blog che mi pare interessante, non ne ho trovati molti altri che diano sufficienti informazioni.
    Ti chiedo se sei disponibile per un contatto poiché vorrei avere alcune indicazioni più precise su un progetto che sto strutturando, poi mi dirai tu eventualmente quale è la forma di collaborazione che possiamo trovare
    Se ti va la mia mail dovresti vederla come mittente
    Il mio nome e Maurizio
    Grazie per l attenzione

    • 24 gennaio 2014 4:34 pm

      Ciao Maurizio.
      Tutti i miei riferimenti li trovi sul mio profilo linkedin.
      Non esitare a contattarmi.
      Altrimenti puoi rivolgermi tutte le domande che vorrai a questo indirizzo mail: info@mercuro4biz.it
      A tua disposizione.
      Cordiali saluti.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: