[Mini-HOWTO/FAQ]Jabber

* Che cosa è Jabber?

Jabber è un alternativa sicura, standardizzata e libera ai sistemi di instant messaging commerciali (come MSN, ICQ, Yahoo etc...) basata su una serie di protocolli XML.


I vantaggi principali offerti da questa struttura sono:

  1. La standardizzazione e la pubblicizzazione danno la possibilità di scrivere client/server senza alcuna problematica.
  2. I protocoli sono stati testati in maniera estensiva - la prima rete Jabber è stata costruita nel 1998 da Jeremie Miller.
  3. La rete Jabber è decentralizzata e dinamica - chiunque può decidere di gestirsi un proprio server e di collegarlo alla federazione globale.
  4. La sicurezza - i sistemi di crittografia sono incorporati nel cuore delle specifiche Jabber.
  5. L'estensibilità e la flessibilità - sfruttando XML si possono implementare nuove features attorno al protocollo base senza particolare difficoltà.


Per maggiori informazioni:

  1. http://www.jabber.org/
  2. http://www.xmpp.org/
  3. http://en.wikipedia.org/wiki/Jabber


* Caratteristiche principali generalmente disponibili utilizzando Jabber (possono variare a seconda del client e/o del server utilizzato)


  1. Messaggistica tra due contatti Jabber (anche su diversi server) con history e messaggi offline.
  2. Status e messagi di stato vari ed aggiunti
  3. Autorizzazioni/liste di contatti bloccati, etc...
  4. Notifiche di consegna/digitazione/lettura/uscita.
  5. VCard (la scheda con le informazioni dell'utente) con avatar personalizzato.
  6. Chat multi-utente (MUC = Multi User Chat - chiamate anche conferenze) - una sorta di trasposizione dei canali IRC.
    Vengono create su un server scelto dall'utente e possono essere personalizzate a seconda degli
    usi (private,anonime,moderate,persistenti,etc...). Alcuni server offrono anche la possibilità di salvare i log
    serverside. Una caratteristica innovatica carina è il fatto che quando un utente decide di entrare in una conferenza,
    ottiene automaticamente le 10/20 righe di history.
  7. Trasferimento file utente-utente.
  8. Autenticazione crittografata (SSL).
  9. Messaggi crittografati (generalmente GPG).
  10. Gestione risorsa/priorità.
    Sappiate che ad ogni connessione di un account è associata una risorsa e una priorità (usualmente gestibile nel menu di preferenze dell'account
    del client - alcuni danno anche la possibilità di settare una priorità a seconda dello status settato). Ora supponiamo, per esempio, che io mi
    colleghi dal PC1 con Risorsa="PC1" e priorità 5. Poi decido di spostarmi in un'altra stanza e mi collego dal PC2 (risorsa="PC2" e priorità=6),
    sempre con lo stesso account. A questo punto ad una persona che ipoteticamente ha il mio ID sulla sua contact list e vuole mandarmi un
    messaggio si presenta la seguente situazione: vede lo stato (disponibile, away, occupato,etc...) del client con la risorsa più elevata;il
    client le mostra che io sono collegato con due diverse resources e da la possibilità di scegliere a quale delle due mandare il messaggio. Nel
    caso decida di mandare il messaggio senza specificare la risorsa, esso arriverà automaticamente al client con la priorità più elevata.
  11. Supporto PROXY.
  12. Possibilità di accedere ad altre reti IM tramite i cosiddetti "transports"
    I transports non sono altro che dei programmi lato server che permettono al server Jabber di offrire la connettività ad altre reti IM,
    tramite questo schema: utente@server1 <-> server_transport (notate che non per forza deve essere lo stesso su cui avete l'account) <->
    rete_im_esterna.
    Al momento non sono in grado di offrire le stesse potenzialità dei client espressamente dedicati a queste reti (ufficiali e non), e offrono un
    servizio di base (che può variare a seconda del transport utilizzato): messaggi utente-utente, avatar, chat multi-utente (con qualche
    limitazione), file transfer (msn/raramente icq - la banda è comunque limitata lato server, vd schema sopra). Alcuni client sono in grado
    di aggiornare il nome dell'utente automaticamente, altrimenti dovrete farlo manualmente (originariamente esso sarà nella forma
    id_rete_esterna@transport).
  13. Protocollo Jingle (beta) - estensione per contenuto multimediale (audio/video), insomma VoIP. Questa estensione è stata frutto di una
    collaborazione tra Google e la XMPP Standards Foundation, anche se l'implementazione fornita da Google _NON_ è compatibile con gli standard.


Vi sono poi altre caratteristiche meno usate (e disponibili su un numero minore di client), come pubsub e vcard su users.jabber.org (globali), che qui non sono descritte.

* I client

Questa è una lista dei client più utilizzati (se pensate che un nuovo nome debba essere aggiunto, fatelo sapere):

Windows: Gaim,Miranda,Psi,Trillian Pro
Linux/FreeBSD: Gaim,Kopete,Psi
Mac: Adium,Psi,iChat

Per le procedure specifiche di installazione, vi rimando alle rispettive documentazioni.

* Come "usare" Jabber

Il primo passo per collegarsi alla rete Jabber è quello di registrarsi un account su un server a vostra scelta. Questa procedura viene effettuata direttamente tramite il client.
Il mio consiglio è di utilizzare server abbastanza "grossi", questi infatti garantiscono una certa stabilità di servizio. Un possibile esempio è jabber.org, comunque potete trovare la lista dei server pubblici qui:
http://www.jabber.org/user/publicservers.shtml
Volendo è anche possibile utilizzare un account gtalk/gmail (vd nota sotto).

Se volete aggiungere dei contatti che si trovano su altre reti, dovete utilizzare, come ho spiegato prima i cosiddetti transports.
Anche qui è importante scegliere un server che fornisca una buon compromesso tra stabilità e caratteristiche offerte (come per esempio jaim.at).
Vi ricordo che, in generale, _NON_ è necessario essere registrati sul server di cui utilizzate i transport (anche se ultimamente alcuni amministratori li hanno effettivamente limitato ai propri utenti).

Per questioni specifiche ai diversi client, rimando alla relativa documentazione (o ad altri post/howto).

* Una nota per gli utenti Gtalk

Il sistema di messaggistica istantanea fornito da Google utilizza lo stesso protocollo utilizzato da Jabber.
Dal 17 Gennaio 2006, Google ha abilitato le connessioni server-server (vd nota 1), aggregandosi quindi alla federazione Jabber e permettendo lo scambio di messaggi tra utenti GTalk e gli utenti Jabber indipendenti.

Note:

  1. Quando inviate un messaggio ad un utente che è registrato su un altro server, il percorso è il seguente:
    utente1@server1 (manda ad utente2@server2) <-> server1 <-> server2 <-> utente2@server2
sembra che nn lo caghi nesusno sto thread asd
imho per renderlo piu visibile il titolo doveva essere Jabber rulez [mini-howto/faq]
gia attirava qualcuno in piu
poi aggiungere nel thread, chi usa jabber è figo
In altre parole scatenare un flame sugli Im
ah! non lo sapevo! io ero rimasto al fatto che gli utenti gmail fossero isolati.
bene bene uso il mio account gmail con gaim da una vita
Nyarlathothep per favori aggiungi tra i client Mac ... anche iChat che è IL client di default di Apple che supporta ottimamente jabber e permette grazie a jabber appunto il transport con msn permettendo di chattare anche con chi ha un account del client msn live tramite iChat.
ma è lapalissiano... chiunque NON usi msn è un figo