## MANUALE UTENTE LINPHONE

Simon Morlat (simon.morlat@linphone.org)
11-13-2001

## Introduzione

Linphone è un semplice strumento di telefonia su rete. Permette di effettuare conversazioni tra due utenti utilizzando una modalità IP come Internet. Ecco l'equipaggiamento necessario per usare Linphone :

- Linux ( Può funzionare anche in altri ambienti come BSD, o altri UNIX, ma non l'ho ancora testato personalmente.)

- Gnome 1.2 o superiore, installato ma non necessariamente usato.

- Una scheda sonora correttamente configurata.

- Cuffie o altoparlanti.

- Un microfono.

- Una connessione rete (Internet ad esempio), modem, scheda Ethernet ...

E' consigliabile chiudere tutte le applicazioni che fanno uso della scheda sonora prima di usare Linphone. Linphone è un programma libero, distribuito sotto la licenza pubblica GNU.

ATTENZIONE : Questo strumento è distribuito SENZA GARANZIA. Leggere il file COPYING per maggiori dettagli. Questo significa tra l'altro che non dovete usare Linphone per chiamate confidenziali: non ha ALCUNA CODIFICA DI PROTEZIONE, e quindi può essere molto facile per qualche malintenzionato captare i flussi audio. Si noti inoltre che si raccomanda di non usare Linphone come utente root.

## Uso

Linphone può essere usato in 3 modi diversi :

- Come applicazione (normale) : nel menu Gnome, Linphone dovrebbe apparire nella sezione Rete. Se non utilizzi Gnome, puoi lanciare Linphone da una finestra terminale, per esempio. Quando Linphone non è in esecuzione, non è possibile ricevere chiamate.

- Come applet Gnome : cliccando sul pannello Gnome col pulsante destro, aggiungere l'applet. Linphone apparirà nella sezione Rete. Apparendo nel pannello Gnome, Linphone è capace di ricevere chiamate anche se la sua finestra non è visibile. Se si vuol vedere la finestra principale, cliccare sull'applet. Quando c'è una chiamata, la finestra principale passa in primo piano, e sentirai gli squilli della chiamata.

- Come demone : questo è interessante per coloro che non utilizzano Gnome. Per esempio, per KDE, c'é una directory /home/user/.kde2/AutoStart/ dove si possono inserire le applicazioni che si vogliono lanciare ad inizio sessione. Nella directory citata, con l'aiuto di un gestore di file, aggiungere un collegamento cliccando col pulsante destro. Il comando da inserire è "linphone -daemon". L'interfaccia prinicipale di Linphone non sarà visibile, e dunque, per farla apparire, si lanci Linphone normalmente, per esempio da una finestra terminale.

## Come lanciarlo

### Principi di base

Linphone utilizza il protocollo SIP (Session Initiation Protocol) per effettuare chiamate con altri interlocutori. Il protocollo specifica che ciascuna persona dev'essere identificata da un URL sip della forma: sip:nome_utente@nome_host. Questo modo di chiamare le persone è molto simile a quello utilizzato per la posta elettronica.

Nome_utente è il nome di un utente su una macchina, come il login su una macchina linux, per esempio. Nome_host è il nome di una macchina sotto forma di indirizzo IP, o più semplicemente sotto forma di dominio (es: linphone.org).

Si noti che SIP è un nuovo protocollo di telecomunicazione fatto per essere semplice ed efficace su internet, che è totalmente diverso ed incompatibile con H.323. H.323 è il protocollo attualmente usato da NetMeeting e GnomeMeeting.

### Applicazione: due persone (Bob e Tom) si connettono ad internet con un modem analogico classico.

Ecco il modo più semplice di procedere :

Prerequisito :

- Un modem da 28.8 Baud o più.

Procedimento:

- Si è convenuto che Bob debba chiamare Tom alle 21.00. Alle 21.00, Tom si connette ad Internet utilizzando kppp, gppp o wvdial (o un altro). Una volta connesso ad internet, può lanciare Linphone. Aprendo la finestra delle statistiche di kppp o gppp, può vedere il suo indirizzo IP (altrimenti può digitare /sbin/ifconfig per vederlo). Il nome dell'interfaccia modem dev'essere ppp0.

- Di seguito, manda un messaggio a Bob dicendo : "Il mio indirizzo IP è xxx.xxx.xxx.xxx".

- Bob legge l'email e riporta nella finestra di Linphone il nome e l'indirizzo IP della personne da contattare : Tom@xxx.xxx.xxx.xxx(L'indirizzo IP di Tom) e per finire, clicca sul pulsante Chiamare.

- Linphone suona a casa di Tom ...Tom risponde alla chiamata cliccando sul pulsante "Rispondere" ed a questo punto la conversazione può iniziare.

Se si incontrassero problemi in uno di questi punti, si vada alla sezione 4 - Problemi.

### Test in locale: non hai nessuno da chiamare per il momento, ma vuoi controllare se Linphone funzioni davvero.

A partire dalla versione 0.3.0, Linphone è dotato di un programma di test chiamato "sipomatic". Sipomatic può rispondere automaticamente alle chiamate provenienti da Linphone. A voi la scelta :

- Lanciare linphone.

- Lanciare sipomatic in una finestra terminale. Non siate sorpresi, sipomatic non possiede alcuna interfaccia grafica, ma non c'è bisogno di modificare quello che sta sotto.

- In Linphone, menu Parametri, sezione Rete, scegliere "lo" come interfaccia di default. Applicare il cambiamento cliccando su OK. Digitare l'indirizzo S.I.P seguente nella finestra principale : sip:robot@127.0.0.1:5064. 127.0.0.1 è l'indirizzo locale del tuo computer, e robot è il nome da usare per chiamare sipomatic. 5064 è la porta con cui sipomatic può essere contattato. Normalmente si deve utilizzare 5060 per chiamare qualcuno, ma sipomatic fa eccezione : funziona con la porta 5064. Il motivo è che Linphone funziona già sulla porta 5060, ed è impossibile avere due applicazioni che utilizzino la stessa porta nello stesso momento, sulla stessa macchina.

- Cliccare sul pulsante "Chiamare". Dopo qualche secondo, sipomatic dovrebbe rispondere alla chiamata e vi dovrebbe dire un breve messaggio.

## Parametri di chiamata

### Rete

- Lista delle interfacce di rete: bisogna scegliere un'interfaccia di rete da usare con Linphone. Se si vuole contattare qualcuno su Internet, bisogna scegliere l'interfaccia di rete connessa ad Internet. Per esempio, se si utilizza un modem, dovrà essere ppp0. Se non si è connessi ad alcuna rete, solo l'interfaccia di rete locale, chiamata lo, apparirà nella lista. L'unica scelta che si può fare in questo caso è chiamare sipomatic.

- Tipo di connessione: scegliere il tipo di connessione utilizzata per connettervi alla rete che si desidera utilizzare. Questo aiuterà Linphone ad autoconfigurarsi in funzione della banda passante del tipo di connessione.

### RTP

RTP

- porta RTP: Linphone utilizza la porta 7072 di default per inviare e ricevere segnali audio. Se la porta 7072 è usata da un'altra applicazione, la si cambi a piacere.

- Compensazione Jitter: questo numero rappresenta il numero di pacchetti audio che Linphone aspetta prima di farli sentire. Si aumenti questo numero se si sente male la voce, in modo da migliorare la qualità di trasmissione, ma attenzione: questo aumenta il ritardo (Si sentirà la voce dell'interlocutore qualche millisecondo più tardi). D'altro canto, se si utilizza un server perfetto, e si dispone di buoni driver audio, si può scegliere un valore basso fino a 3 pacchetti, sentendo così un ritardo trascurabile.

### SIP

SIP (Session Initiation Protocol) è un protocollo che permette di stabilire sessioni telefoniche grazie ad un server IP. Semplificando, è ciò che permette di far suonare il telefono all'altro interlocutore, sospendere o terminare una chiamata quando uno dei due riattacca.

- porta SIP: Linphone utilizza di default la porta 5060 per inviare / ricevere pacchetti SIP. Si raccomanda caldamente per la RFC del protocollo SIP di utilizzare questo valore. Non lo si cambi a meno che non si sappia davvero cosa si stia facendo.

- Indirizzo SIP: modifica nome utente e macchina a piacere. Beninteso, dare un nome di macchina quinon significa che questo nome sia conosciuto da altre macchine del server. Nemmeno Linphone userà il nome della macchina e preferirà usare l'indirizzo IP per comunicare con altre macchine.

- Usare un server segretario sip: si faccia questa scelta, se ci si vuole registrare su un server SIP (segretario) per ottenere servizi vari. Quando non si ha un indirizzo IP fisso, questo può essere interessante per permettere agli amici di chiamare. Vedere la sezione "enregistrement sur un serveur sip".

### Codec

I codecs sono algoritmi per comprimere la voce. Per esempio, una voce digitalizzata a 16bit/8000Hz rappresenta un flusso di dati di 128kbits/secondo. Usando il codificatore vocale GSM, questo flusso è ridotto a 13kbits/secondo, senza perdita significativa di qualità.

- Scelta dei codecs: Linphone può usare diversi codec. Usare i pulsanti posti a lato della lista dei codec in modo da porli nell'ordine preferito. Si badi bene, che in funzione del tipo di connessione alla rete, alcuni codec sono inutilizzabili. Questi appariranno in rosso e non saranno selezionabili. Si può decidere di usare o no un codec "utilizzabile" (in blu) cambiando il suo stato con l'aiuto del pulsante Attiva / Disattiva in fianco alla lista.

### Parametri audio

- Modo d'uso: se si ha installato il driver ALSA con una libreria ALSA <0.9, si scelga ALSA per avere risultati migliori. Altrimenti, o se non si sa, usare OSS, che funziona sufficientemente bene.

- Scelta della fonte di registrazione: si può scegliere la fonte di registrazione per la voce. Nella maggior parte dei casi, sarà il microfono.

- Opzione auto-kill: scegliendo questa opzione, Linphone fermerà i server sonori (esd &&num;38; artsd) che possono bloccare la periferica sonora e provocare così problemi problemi d'apertura delle periferiche da parte di Linphone in caso di bisogno. Si raccomanda di attivare questa opzione.

## Rubrica

A partire dalla versione 0.4.1 Linphone dispone di una rubrica (menu connessione, rubrica), con la quale memorizzare indirizzi, e richiamarli facilmente quando si vuol chiamare.

## Registrazione su un server sip

E' possibile sottoscrivere alcuni servizi sui server sip remoti chiamati segretari, proxy o server ridiretti. Questi servizi possono essere:

- ridirezione: Linphone chiede al server la creazione di un account <sip:votre_nom@le_serveur_sip>. Questo indirizzo potrà allora essere utilizzato dai tuoi interlocutori per connetterti. Un piccolo esempio concreto può essere utile: tu non sei altro che un internauta poverino, connesso temporaneamente grazie ad un modem 56k. La tua macchina non ha un nome di dominio conosciuto ed il tuo indirizzo IP cambia ad ogni connessione. E' impossibile per gli amici chiamare in mancanza dell'indirizzo IP, a meno che non lo si comunichi via posta elettronica, per esempio. Per risolvere questo problema, si può chiedere di avere un indirizzo su un server sip conosciuto dagli amici, fisso e sempre connesso. Per far ciò, specificare l'indirizzo del server nel menu parametri, sezione sip. Questo indirizzo è, per esempio, <sip:server_esempio.com> ed il nome utente è “Bob”. Linphone invia allora al server un messaggio per informare della corrispondenza tra l'indirizzo <sip:bob@server_esempio.com> e l'indirizzo IP attuale. D'ora in poi gli amici potranno chiamare usando questo nuovo indirizzo: le chiamate saranno ridirette automaticamente verso la tua macchina. Non ci sarà più bisogno di conoscere l'indirizzo IP, che cambia ogni volta, per contattarti. Ovviamente, si suppone che <sip:server_esempio.com> sia conosciuto da tutti gli amici.

- Proxy: è esattamente lo stesso principio, tranne che la ridirezione viene fatta in maniera trasparente ed invisibile dal Linphone del chiamante.

Il segretario specificato può essere utilizzato come proxy in uscita. In questo caso tutte le chiamate in uscita dal tuo Linphone saranno dirette verso tale server, che si suppone sia gestito da brave persone. E' quindi molto utile, per non dire indispensabile, che si usi Linphone su una rete privata, gestita da un firewall, anche se su un proxy sip è sicuramente attivo un firewall.

Per usare fin da subito un server sip, bisogna aprire il menu Parametri, SIP, e cliccare sul pulsante in fianco a "Usa il segretario sip". Digitare l'indirizzo del segretario, e scegliere un nome utente non troppo comune, in modo da evitare conflitti di nomi. Dare un'indicazione del servizio che il server deve effettuare per te e cliccare sui pulsanti “ridirezione” o “proxy”. Selezionare anche l'opzione “il server è un proxy in uscita” se sei dietro ad un firewall.

Infine, confermando la scelta, Linphone comunicherà immediatamente con il server SIP per ottenere i servizi richiesti. Allo stesso modo, in fase di uscita da Linphone, ci vorrà qualche secondo per togliere la registrazione dal server.

Una lista di server sip può essere trovata a questo indirizzo: http://www.cs.columbia.edu/~hgs/sip/servers.html.

Sfortunatamente, poiché alcuni di questi server non funzionano più, forse a causa della crisi e di fallimenti di società. Alcuni non sono utilizzabili poiché richiedono metodi di autentificazione non ancora implementati in Linphone. Per non perdere tempo, una lista di server sip pubblici funzionanti con Linphone è reperibile su http://simon.morlat.free.fr/english/servers.html.

## Uso dietro i firewall

Linphone è in grado di funzionare dietro i firewall grazie ad un server proxy SIP in funzione sulla macchina firewall. Un tale server è in corso di sviluppo su http://osipproxy.sourceforge.net. Ovviamente sarà libero e basato sulla libreria LGPL oSIP.

Una volta che il server proxy sarà attivo, si potrà configurare Linphone per utilizzarlo. Per far ciò, andare in Parametri, sezione SIP e attivare la casella “Usa il segretario SIP”, indicare il suo indirizzo, ed attivare l'opzione “il server è un proxy in uscita”.

C'è un caso in cui il proxy non è indispensabile: quello in cui le macchine di reti private possiedano un indirizzo pubblico: il firewall filtra i pacchetti in entrata o uscita. Bisogna permettere a Linphone di funzionare con le macchine esterne, autorizzare il traffico UDP sulla porta SIP (di default 5060, è possibile cambiarla), e sulla porta RTP di ciascun Linphone nelle sottoreti. La porta RTP è parametrizzabile, come si è visto, nel menu Parametri.

## Problemi vari

### Problemi di connessione

> Tento di chiamare il mio amico <sip:toto@esempio.com>, ma niente da fare, nessuno squillo.

Bisogna verificare che Linphone usi l'interfaccia di rete a cui sei connesso con la rete su cui si trova il tuo amico. La lista delle interfacce disponibili si trova in Parametri, sezione Rete. Selezionarla.

Se il problema persistesse, potrebbe essere che il tuo amico non sia al momento raggiungibile.

### Problemi audio

> Linphone sembra connettersi correttamente, si sentono gli squilli, ma appena l'interlocutore risponde, non si sente o si capisce più nulla.

- La maggior parte degli utenti ha di questi problemi poiché non è stata scelta l'interfaccia di rete corretta. Se si usa il modem, dev'essere ppp0. In ogni caso, l'interfaccia “lo” non permette di avere una comunicazione via rete. Serve solo per il test locale con sipomatic (vedere più avanti).

- Aumentare il livello sonoro di acquisizione ed emissione, usando i potenziometri posti nella finestra principale.

- Se la voce dell'interlocutore sembra vibrare o echeggiare, si può tentaredi aumentare il parametro comensazione jitter (Parametri, RTP). Ma attenzione, questo aumenta il ritardo nella controparte.

- Se Linphone nonriesce ad usare la scheda sonora, verificare che non sia utilizzata da qualche altro programma audio.

- Infine, utilizzare il driver sonoro ALSA (vedere http://www.alsa-project.org) , piuttosto che OSS, fornito con il kernel linux. Sfortunatamente la maggior parte delle distribuzioni usano ancora vecchi driver che hanno vari errori e problemi di ritardo. I driver ALSA danno risultati migliori. Si noti che se si cambiano driver, non c'è bisogno di ricompilare Linphone o di cambiare una qualsiasi configurazione.

## Errori e suggerimenti

In primo luogo, andare sul sito di Linphone http://www.linphone.org e verificare di avere la versione più recente di Linphone.

Se Linphone si bloccassse, inviami direttamente un messaggio a bugs@linphone.org. Qualora Linphone non funzionasse, ma non si bloccasse, verificare bene di aver letto tutto il manuale prima di mandare un resoconto all'indirizzo indicato. In ogni caso invia più informazioni possibili relativamente al problema, in particolar modo i messaggi che compaiono quando lo si lancia da un terminale. Se desideri qualche altra cosa, non esitare ad inviarmi un messaggio a help@linphone.org.Tieni presente che l'aggiunta della modalità video e conferenza sono in programma.

Se qualcuno fosse interessato a fare traduzioni di Linphone, mi invii un file xx.po basato su quello in po/linphone.pot della distribuzione. Si può anche tradurre il manuale utente in altre lingue. In ogni caso, contattami qualora volessi maggiori dettagli.

## Autori

Simon MORLAT (simon.morlat@linphone.org) ha scritto:

- Programma principale (src)

- Libreria RTP (lprtplib)

- osipua : la libreria Agente utente sip .

- Interfaccia per i driver audio (audio)

- Wrappers per i codecs lpc10-1.5, gsm e g711.

Aymeric Moizard (jack@atosc.org) ha scritto la pila SIP oSIP usata da linphone.

La libreria GSM è stata scritta da: Jutta Degener and Carsten Bormann,Technische Universitaet Berlin.

La librairie LPC10-1.5 par: Andy Fingerhut Applied Research Laboratory Washington University, Campus Box 1045/Bryan 509 One Brookings Drive Saint Louis, MO 63130-4899 jaf@arl.wustl.edu http://www.arl.wustl.edu/˜jaf/

Leggere i file di testo README nella directory gsmlib e lpc10-1.5 per maggiori informazioni.

Le icone sono di Pablo Marcelo Moia ed il logo di Philippe Beau.

## Ringraziamenti

Grazie a Daemon Chaplin per aver scritto Glade, il costruttore d'interfaccia grafica GTK+.

Grazie agli autori del codice di LPC10-1.5 e GSM.

Grazie a Joel Barrios ( jbarrios@-NO-SPAM-linuxparatodos.com ) per i suoi RPMS.

Grazie a Pablo Marcelo Moiaper le icone.

Grazie a Philippe Beau per la traduzione di questo manuale in francese, per il logo, e per il nuovo sito web che ha creato per Linphone.

Grazie a Alberto Zanoni <alberto.zanoni@-NO-SPAM-PLEASE!-tiscalinet.it> per la traduzione di linphone e questo manuale in Italiano.