Gebruikershulpmiddelen

Site-hulpmiddelen


linux:applicaties:xmpp:xmpp-intro

XMPP/Jabber Introductie

Dit document geeft uitleg over de XMPP real-time berichtendienst, XMPP-clients en XMPP-servers.

1. Wat is XMPP?

1.1 XMPP Diensten

XMPP 1) is een real-time berichtendienst 2) gebaseerd op XML. De basisdienst is het uitwisselen van korte tekstberichten (chat), maar op basis van XMPP zijn vele diensten mogelijk: audio-chat (voip), video conferencing, filetransfer, gaming, remote control/robotica, cloudcomputing, enz.

Aan de XMPP open standaard wordt voortdurend ontwikkeld. XMPP staat voor “Extensible Messaging and Presence Protocol”. Nieuwe diensten worden vastgelegd in uitbreidingen (Extension Protocols) op de basisstandaard.

Meer info:
http://xmpp.org/about/technology-overview.html
https://en.wikipedia.org/wiki/XMPP
https://nl.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

1.2 XMPP Client/Server architectuur

XMPP heeft een decentrale client-server architectuur vergelijkbaar met die van SMTP e-mail. Er is geen centrale authoriteit. Een wereldwijd netwerk van XMPP-servers wisselt onderling berichten uit.
De gebruikers gebruiken het servernetwerk via een XMPP-client.

Om gebruik te kunnen maken van het XMPP netwerk heeft de gebruiker een account nodig op een XMPP-server.
Via dit account heeft iedere gebruiker een uniek adres “JID” 3) in het netwerk:

  • gebruikersnaam@servernaam/bron

Een gebruiker kan met zijn account tegelijkertijd via verschillende locaties inloggen. De “bron” aanduiding maakt dan het onderscheid in de adressering.

2. XMPP-servers

2.1 Publieke XMPP-servers

Op het Internet zijn vele honderden publieke XMPP-servers beschikbaar.
Zie o.a.: https://www.xmpp.net/directory.php

Keuzecriteria voor een publieke XMPP-server:

  • Security klasse A
  • recente software
  • Locatie in Europa 4)

2.2 Linux XMPP serversoftware

Iedereen kan zelf een XMPP-server inrichten.
Veel gebruikte XMPP serversoftware in de Linux omgeving:

  • ejabberd
  • Prosody

Beiden zijn in Debian beschikbaar.

3. XMPP-clients

3.1 XMPP Linux clients

Voor Linux zijn er diverse Open Source XMPP-clients beschikbaar.
In de Tux4u®/Penguin Suite zijn de volgende XMPP-clients opgenomen:

Pidgin is een XMPP-client, die naast chat ook filetransfer, audio- en video chat biedt. 5)
Om deze diensten achter een NAT-firewall/ADSL-router te kunnen gebruiken, is het noodzakelijk een STUN-server in te stellen (Voorkeuren → Netwerk). 6)

De volgende tests waren positief:

  • Chat Pidgin - Pidgin
  • Filetransfer Pidgin - Pidgin
  • Chat Pidgin - Conversations (Android)
  • Chat Pidgin - Pidgin/Conversations met OTR encryption 7)

Audio/Video chats: niet getest.

Coccinella is een XMPP-client met whiteboard mogelijkheid. Dit kan bijv. gebruikt worden in vergaderingen of instructies via een Internet verbinding.
Alle deelnemers kunnen real-time het whiteboard wijzigen.

3.2 XMPP Android clients

Voor Android zijn er diverse Open Source XMPP-clients beschikbaar.
De installatie is gemakkelijk via F-Droid:

  1. Download de F-Droid app: https://f-droid.org/
  2. Installeer de F-Droid apk
  3. Start de F-Droid app
  4. Zoek in het tabblad “Beschikbaar” op “xmpp”
  5. Installeer een XMPP-client

Een Open Source XMPP-client die actief ontwikkeld wordt is “Conversations”. https://conversations.im/

De volgende tests waren positief:

  • Chat Conversations - Conversations
  • Chat Conversations - Conversations met OMEMO encryption
  • File transfer Conversations - Conversations
  • Chat Conversations - Pidgin

.

Copyright © 2016 Tux4u.nl
Author: Marjan Waldorp; xmpp-intro.txt 2016-03-21

1)
Oorspronkelijke naam: Jabber
2)
Instant Messaging
3)
Jabber ID
4)
i.v.m. tijdsvertraging in het Internet
5)
Deze diensten zijn peer-to-peer diensten, waarbij de data buiten de XMPP verbinding via het servernetwerk omgaat (out-of-band).
6)
Via het STUN protocol kan een client achter NAT-firewall het publieke Internet IP-adres achterhalen. Dit adres is nodig om peer-to-peer (rechtstreeks tussen de eindgebruikers) verbindingen op te kunnen zetten. Bekende STUN-servers zijn: stun.ekiga.net, stun.voipbuster.com Zie verder: https://en.wikipedia.org/wiki/STUN
7)
Genereren private key kost tijd!
linux/applicaties/xmpp/xmpp-intro.txt · Laatst gewijzigd: 2018/12/30 17:17 (Externe bewerking)