====== XMPP/Jabber Introductie ====== Dit document geeft uitleg over de XMPP real-time berichtendienst, XMPP-clients en XMPP-servers. {{https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/XMPP_logo.svg/176px-XMPP_logo.svg.png}} ===== 1. Wat is XMPP? ===== ==== 1.1 XMPP Diensten ==== XMPP ((Oorspronkelijke naam: Jabber)) is een real-time berichtendienst ((Instant Messaging)) 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" ((Jabber ID)) 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 ((i.v.m. tijdsvertraging in het Internet)) ==== 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(r)/Penguin Suite zijn de volgende XMPP-clients opgenomen: * Pidgin [[https://pidgin.im/]] * Coccinella [[http://thecoccinella.org/about]] Pidgin is een XMPP-client, die naast chat ook filetransfer, audio- en video chat biedt. ((Deze diensten zijn peer-to-peer diensten, waarbij de data buiten de XMPP verbinding via het servernetwerk omgaat (out-of-band).)) \\ Om deze diensten achter een NAT-firewall/ADSL-router te kunnen gebruiken, is het noodzakelijk een STUN-server in te stellen (Voorkeuren -> Netwerk). ((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]] )) De volgende tests waren positief: * Chat Pidgin - Pidgin * Filetransfer Pidgin - Pidgin * Chat Pidgin - Conversations (Android) * Chat Pidgin - Pidgin/Conversations met OTR encryption ((Genereren private key kost tijd!)) 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: - Download de F-Droid app: [[https://f-droid.org/]] - Installeer de F-Droid apk - Start de F-Droid app - Zoek in het tabblad "Beschikbaar" op "xmpp" - 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 (c) 2016 Tux4u.nl\\ Author: Marjan Waldorp; xmpp-intro.txt 2016-03-21