Archive for the Skypho Category

Configurazione di Asterisk con EuteliaVoIP (ex Skypho)

Posted in Asterisk, EuteliaVoIP, Skypho with tags , , , , , , , , on April 2, 2008 by mikeOverIP

EuteliaVoIP è un servizio VoIP del gruppo Eutelia che, utilizzando il protocollo standard SIP, è possibile utilizzare con Asterisk.
Lo scopo di questa guida è permettere di fare e ricevere telefonate sulle linee tradizionali fisse e mobili

Indice

Perchè

È possibile utilizzare EuteliaVoIP, così come qualunque operatore (carrier) VoIP, con un semplice client SIP
L’utilizzo di Asterisk come PBX (centralina telefonica) si rende necessario, per esempio, per uno di questi motivi:

  • Gestire più telefoni contemporaneamente
  • Avere un servizio di segreteria telefonica sempre funzionante
  • Avere un risponditore automatico con menu a scelta multipla utilizzabile via tastierino numerico
  • Gestire le code delle chiamate in entrata, verso un gruppo di operatori che rispondono (call center inbound)
  • Gestire le chiamate automatiche in uscita, avendo statistiche dettagliate del rendimento (call center outbound)
  • Gestire attraverso un’unico PBX diverse linee con tecnologie differenti, per esempio una linea analogica tradizionale ed una ISDN
  • Avere una rete telefonica ad alta disponibilità, con linee di backup e bilanciamento del carico
  • Crittare le comunicazioni in maniera automatica e trasparente
  • Registrare le telefonate, in entrata ed in uscita, ed archiviarle in formato mp3
  • Avere bisogno, in generale, di una funzione per il quale un PBX tradizionale non è stato progettato

Preparazione

È necessario registrarsi a EuteliaVoIP, scegliere un numero telefonico geografico dal quale ricevere le telefonate, ed acquistare del traffico prepagato per effettuare le telefonate su linea fissa o mobile.
La configurazione di Asterisk per l’utilizzo con EuteliaVoIP richiede la modifica di due files di configurazione:

  • /etc/asterisk/sip.conf
  • /etc/asterisk/extensions.conf

Verranno aggiunte e modificate poche righe in questi due files.
Se sono stati già personalizzati, rispetto a quelli forniti in esempio con Asterisk, si può tentare di fonderne le modifiche.
Tuttavia, questa guida presuppone che i suddetti files non siano stati modificati.
È possibile ripristinare i files di esempio suggeriti da Asterisk digitando, nella cartella dei sorgenti di Asterisk, il seguente comando:
make samples
i files precedentemente modificati verranno rinominati in .old
per esempio /etc/asterisk/sip.conf in /etc/asterisk/sip.conf.old

Descrizione del file sip.conf

Il file /etc/asterisk/sip.conf contiene tutto quello che concerne l’uso del protocollo SIP.
Essendo Asterisk un PBX, il suo ruolo è centrale nel flusso di una telefonata.
Infatti, questi sono i passaggi di una telefonata fatta attraverso Asterisk, da un client SIP ad un numero su rete fissa, via EuteliaVoIP:

  • Il client SIP chiede ad Asterisk di chiamare quel numero su rete fissa, per esempio 0611122XXX
  • Asterisk contatta EuteliaVoIP indicandogli di chiamare quel numero
  • EuteliaVoIP contatta quel numero su rete fissa, il telefono squilla e questo segnale del telefono che squilla viene passato ad Asterisk, che a sua volta lo passa al client SIP: il mittente sente che il numero chiama
  • Quando il destinatario risponde, Asterisk invierà al client SIP la voce del destinatario su rete fissa, e viceversa la voce dal client SIP al destinatario

Questo per dire che il file /etc/asterisk/sip.conf dovrà contenere sia i dati di configurazione del client SIP, sia i dati di configurazione dell’account EuteliaVoIP

Prime modifiche al file sip.conf

  • Aprire come utente root il file /etc/asterisk/sip.conf col proprio editor di testo preferito
  • Recarsi alla riga 26 e sotto la riga [general] aggiungere la direttiva per informare il server di EuteliaVoIP che possiamo ricevere telefonate, così:
    register => 069028XXXX:password@voip.eutelia.it:5060/069028XXXX
    dove password e 069028XXXX sono il codice segreto ed il numero telefonico geografico forniti da EuteliaVoIP
  • Aggiungere poi la direttiva che indica ad Asterisk il nostro indirizzo ip esterno, che è possibile conoscere usando uno dei servizi web creati ad-hoc, per esempio: questo o questo
    inserirlo quindi così:
    externip=195.110.1xx.xxx
  • Aggiungere poi la direttiva che indica ad Asterisk la nostra rete interna, quella sulla quale risiedono anche gli altri clients, che è possibile conoscere digitanto il comando:
    ifconfig
    avendo, per esempio, un risultato come questo:
    eth0 Link encap:Ethernet HWaddr 00:0D:C4:53:2D:24
              inet addr:10.1.1.2 Bcast:10.1.1.255 Mask:255.255.255.0
              inet6 addr: fc41::41c:d4aa:ab41:1d52/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
              RX packets:26362155 errors:0 dropped:0 overruns:0 frame:0
              TX packets:26970975 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:4057032333 (3.7 GiB) TX bytes:3026352230 (2.8 GiB)
              Interrupt:17 Base address:0×7000

    vediamo che l’indirizzo ip dell’interfaccia di rete eth0 della macchina è 10.1.1.2 (inet addr:) mentre la sua netmask è 255.255.255.0 (Mask:).
    Avendo l’indirizzo ip della macchina, possiamo dedurre la sua rete cambiando le cifre dopo l’ultimo punto con 0.
    Quindi la rete dell’ip 10.1.1.2 è 10.1.1.0
    O per esempio la rete dell’ip 192.168.0.219 sarà 192.168.0.0
    Nel nostro caso inseriremo quindi
    localnet=10.1.1.0/255.255.255.0
  • Verifichiamo l’avvenuta registrazione del nostro account.
    Per farlo bisogna rendere Asterisk consapevole delle nuove modifiche: o riavviando la macchina, o riavviando Asterisk, oppure con un comando nella console di amministrazione di Asterisk.
    Digitando, come utente root, il comando:
    asterisk -r
    entreremo nella console di amministrazione di Asterisk, e col comando:
    sip reload
    istruiremo Asterisk di rileggere i files che riguardano il protocollo SIP.
    Verifichiamo l’avvenuta registrazione al server EuteliaVoIP, col comando:
    sip show registry
    dovreste leggere a video qualcosa tipo:
    Host                           Username     Refresh     State         Reg.Time
    voip.eutelia.it:5060    069028XXXX     285      Registered     Mon, 31 Mar 2008 12:48:21

    dove la colonna State: Registered indica l’avvenuta registrazione

Configurazione di un client SIP

Per client SIP si intende il software, oppure l’hardware, che effettua e riceve le telefonate.
Per esempio un telefono IP SIP come uno di questi oppure un softphone SIP, cioè un telefono software che si usa col pc con cuffie e microfono, come uno di questi.
In questa guida utilizzeremo il softphone X-Lite della CounterPath, però prima di configurare il softphone, bisogna istruire Asterisk della sua esistenza:

  • Aprire come utente root il file /etc/asterisk/sip.conf col proprio editor di testo preferito
  • Alla fine del file, incollare:
    [1]
    type=friend
    username=1
    secret=12345
    host=dynamic
    insecure=port,invite
    context=myphones

    così facendo abbiamo creato un’estensione per il futuro client SIP, assegnandogli il nome 1, la password 12345 ed il contesto myphones, che vedremo di seguito

  • Salvare e chiudere il file sip.conf, entrare nella console di amministrazione di Asterisk e digitare il comando:
    sip reload
    per far rileggere ad Asterisk il file sip.conf

Configurazione del softphone X-Lite

Questa guida è stata scritta utilizzando X-Lite versione 2.0 release 1105d.
Il computer sul quale verrà installato X-Lite non può essere lo stesso sul quale è presente Asterisk, perchè essendo anche Asterisk un client SIP, ci sarebbe un conflitto nell’utilizzo della porta 5060 udp.
Al termine di questa procedura, il client SIP X-Lite si registrerà con Asterisk, si consiglia di tenere una finestra aperta sulla console di amministrazione di Asterisk per vederne i messaggi.

Passiamo ora al download, all’installazione ed alla configurazione del softphone X-Lite per l’utilizzo con Asterisk

  • Scaricare X-Lite per la propria piattaforma da qui
  • Installare ed eseguire X-Lite
  • In X-Lite, cliccare sull’icona del menu, alla destra del tasto “CLEAR”
  • Cliccare su “System Settings” e poi su “Network” ed impostare i campi come di seguito:
    Auto Detect IP: Yes
    Listen on IP: <l’ip della macchina dove si trova X-Lite>
    Use X-NAT to Choose SIP/RTP Ports: Never
    Listen SIP Port: 5060
    Listen RTP Port: 8000
    Nat Firewall IP: <vuoto>
    Out Bound SIP Proxy: <vuoto>
    Force Firewall Type: Open IP
    Primary STUN Server: <vuoto>
    Secondary STUN Server: <vuoto>
    Primary DNS Server: <vuoto>
    Secondary DNS Server: <vuoto>
    Provider DNS Server: <vuoto>
    cliccare su “BACK” per tornare al menu dei “System Settings”

  • Cliccare su “SIP Proxy”
    cliccare su “[Default]” ed impostare i campi come di seguito:
    Enabled: Yes
    Display Name: 1
    Username: 1
    Authorization User: 1
    Password: 12345
    Domain/Realm: 10.1.1.2 <l’indirizzo ip del pc con Asterisk>
    SIP Proxy: 10.1.1.2 <l’indirizzo ip del pc con Asterisk>
    Out Bound Proxy: 10.1.1.2 <l’indirizzo ip del pc con Asterisk>
    Use Outbound Proxy: Default
    Send Internal IP: Default
    Register: Default
    Voicemail SIP URL: <vuoto>
    Forward SIP URL: <vuoto>
    Use Voicemail: Forward to Voicemail
    Direct Dial IP: No
    Dial Prefix: <vuoto>
    Provider Website (if applicable): <vuoto>
    Update Settings (if applicable): <vuoto>
    cliccare su “BACK” per tornare al menu dei “System Settings”, sulla console di amministrazione di Asterisk dovrebbe apparire qualcosa tipo:
    — Registered SIP ‘1′ at 10.1.1.2 port 5060 expires 1800
    mentre digitando il comando (nella console di amministrazione di Asterisk):
    sip show peers
    visualizzerete la lista dei peers SIP

Configurazione del canale EuteliaVoIP

Oltre alla registrazione di Asterisk sul server EuteliaVoIP è necessario creare un canale SIP nel quale far transitare il traffico voce.
Asterisk sarà visto quindi da EuteliaVoIP come un client SIP, con tutte le impostazioni del caso: di rete e di codecs audio

  • Aprire come utente root il file /etc/asterisk/sip.conf col proprio editor di testo preferito
  • Alla fine del file, incollare:
    [EuteliaVoIP]
    type=friend
    secret=password
    srvlookup=yes
    realm=voip.eutelia.it
    qualify=no
    insecure=port,invite
    username=069028XXX
    host=voip.eutelia.it
    context=EuteliaVoIP-incoming
    fromuser=069028XXX
    fromdomain=voip.eutelia.it
    nat=yes
    canreinvite=no
    disallow=all
    allow=gsm
    allow=ulaw

Programmazione delle linee

La potenza di Asterisk si esprime attraverso due specialità: l’inegualiata capacità di interconnettere tecnologie differenti (linee analogiche tradizionali, ISDN, E1, T1, SS7, VoIP, etc.) e la sua infinità programmabilità.
La programmazione di Asterisk avviene utilizzando comandi, funzioni e variabili contenuti nel file /etc/asterisk/extensions.conf, che contiene il cosiddetto dialplan.
Per effettuare e ricevere telefonate è necessario programmare due contesti, detti context:

  • Aprire come utente root il file /etc/asterisk/extensions.conf col proprio editor di testo preferito
  • Alla fine del file, incollare:
    [myphones]
    exten => _0.,1,Dial(SIP/${EXTEN:1}@EuteliaVoIP,60)
    exten => _0.,2,Hangup

    [EuteliaVoIP-incoming]
    exten => _X.,1,Dial(SIP/1,60)
    exten => _X.,2,Hangup

    così facendo, col primo context istruiremo Asterisk a girare verso EuteliaVoIP ogni chiamata che inizia col numero 0.
    Per esempio per chiamare il numero 3491122XXX si dovrà digitare, in X-Lite, 03491122XXX
    Col secondo context verrà girata ogni chiamata proveniente da EuteliaVoIP, verso l’estensione SIP 1 (il client SIP X-Lite)

    • Notare che i nomi dei context sono gli stessi usati nel file sip.conf
    • Il pattern matching _0. intercetta le chiamate che iniziano con 0
    • I numeri crescenti di ogni direttiva (riga) ne indicano l’ordine di esecuzione
    • Dial è un comando che stabilisce una nuova connessione su un canale, maggiori informazioni qui
    • ${EXTEN:1} è una variabile che significa “il numero chiamato tranne la prima cifra”, infatti al canale SIP EuteliaVoIP verrà passato il numero senza lo 0 iniziale
    • Hangup è il segnale “riaggancia”
  • Per rendere effettive le modifiche al file extensions.conf, nella console di amministrazione di Asterisk, digitare il comando:
    dialplan reload

Files di esempio

Per comodità la versione finale dei files utilizzati in questa guida: sip.conf e extensions.conf

UK Flag

Questa guida è disponibile anche in Inglese


AddThis social bookmarking image button
Creative Commons License