DEN HAAG - 6C - maar het regent niet! Het is zelfs heerlijk weer!
skype
Er is de nodig hype geproduceerd door Skype, het programma/netwerk om te kunnen telefoneren via internet. Er is zowaar een Linux-versie. Op mijn debian/unstable machine werkte alleen de versie met een statisch gelinkte Qt. Skype ziet er wel erg klunky uit als 'm opstart; het lijkt wel een TCL/TK-app! Ergens moet ik dat in kunnen stellen?Nou ja, het programma *werkt* in ieder geval wel. Bellen via internet is geen nieuws; via Yahoo Messenger, MSN-Messenger etc. kon je altijd al met je miljoen allerbeste vrienden 'telefoneren'. Dat kan ook met Skype. Bij Skype kun je echter ook credit kopen, zodat je naar normale telefoons kunt bellen, vaak voor 0,017 euro/minuut. Ik heb daarmee wat testjes gedaan. Bellen met Nederland ging prima, net als met Duitsland. Maleisië liep wat stroef (veel uitval). En met Nederland, maar met een andere computer ging het erg slecht; de andere partij klonk als een dove. Ik ga de komende dagen nog wat andere landen proberen. Niet echt wetenschappelijk enquetewerk natuurlijk :-)
Voor voice-over-IP (VoIP) wordt getracht SIP te standaardiseren; SIP zelf is tamelijk eenvoudig, HTTP-achtig, en dient alleen om een sessie te starten. Daarna wordt RTP/RTCP (bovenop UDP) gebruikt om de data (beeld, geluid,...) over het netwerk te laten vloeien. En die data zelf wordt weer door allerlei verschillende protocollen beschreven. Uiteindelijk is het allemaal tamelijk ingewikkeld; het gaat bijna in de richting van H323, een *urghh* ITU-standaard voor multi-mediacommunicatie.
Ik krijg hoofdpijn als ik aan de ITU-protocollen denk... OpenH323 is een open-source implementatie, incl. ASN.1-compiler.
Een probleem met SIP is in ieder geval het gebruik van achter een NAT.
Skype gebruikt geen SIP, maar een eigen, geheim protocol; er is natuurlijk wel enige analyse gedaan (bijv. Henning Schulzrinne, de bedenker van SIP, schijnt een van zijn studenten te hebben gezet op het ontrafelen van Skype) maar er zijn geen alternatieve implementaties. Het protocol is semi-P2P (er zijn hard-coded 'superservers'), en gebruikt UDP/TCP voor communicatie, maar geen RTP/RTCP. Verder biedt het protocol versleuteling; niemand kan je Skype-telefoongesprekken afluisteren; nou ja, het stuk communicatie dat via internet verloopt tenminste. Daarna houdt de versleuteling op, wat de begrijpelijkheid voor degene met wie je praat natuurlijk wel aanzienlijk verbetert :-)
Een sterk punt van "skype-protocol" is dat het geen configuratie vereist, en, zoals gezegd, probleemloos werkt van achter een NAT. Normaalgesproken is het lastig twee computers te verbinden die beide achter een NAT zitten; altijd moet je expliciete forwarding, proxy's etc. gebruiken. En da's meestal niet zo handig. En om al die voice-communicatie via de servers van Skype te laten verlopen, da's ook niet zo'n goed idee... Het 'trucje' dat skype gebruikt is om nodes (andere gebruikers!) in het skype netwerk in te zetten voor de communicatie, zodat NAT'ers altijd via een node met een vast (non-NAT) IP-nummer communiceren: P2P. Dat verklaart ook de nadruk die men legt op encryptie... Er staat een hele lijst in ~/.Skype/shared.xml.
Blijft het punt dat het een slecht idee is te standaardiseren op een proprietary protocol van een klein bedrijfje... Van de mensen die wereld KaZaa schonken, met gratis addware. Ik kan niet controleren of de crypto niet vol met gaten zit, of de software. En ik kan ook geen eigen client schrijven, in de plaats van dat Qt-appje. Ik hoop dan ook dat er een makkelijk te gebruiken, open protocol komt, waarvoor iedereen dan z'n client kan schrijven. SIP en vrienden zouden kunnen werken, als ze iets verzinnen op de NAT-problemen. Tja, open protocollen blijken niet erg goed in het verdringen van gevestigde proprietary protocollen (bijv. xmpp). En vice versa.
misc
Achtergrondplaatjes van Digital Blasphemy, Dead DreamerVoor 99 euro naar Bangkok (enkele reis, vanaf Frankfurt). [tip: Ulrike]
gnuvd als one-liner
% echo -e "#\!/bin/sh\nlinks -dump \"www.vandale.nl/opzoeken/woordenboek/?zoekwoord=\$1\"|awk '/Opnieuw/{e=1}b&&\!e{print \$0}/RESULTAAT/{b=1}'">~/bin/gnuvd.sh;chmod +x ~/bin/gnuvd.sh
% gnuvd.sh enquete
en.que.te (de ~, ~s)
1 [pol.] onderzoek op last of door
tussenkomst van een
volksvertegenwoordiging
(...)
% gnuvd enquete
en`quĂȘ|te (de ~, ~s)
1 [pol.] onderzoek op last of door tussenkomst van een volksvertegenwoordiging
(...)
De echte gnuvd begrijpt meer van accenttekens en geeft de resultaten compacter weer. Gelukkig maar!

