1 / 37

MSN-kompatibilis egyéni emotikonok kezelése XMPP/Jabber-ben

MSN-kompatibilis egyéni emotikonok kezelése XMPP/Jabber-ben. Bemutatás Németh Ádám, na556@hszk.bme.hu. XMPP. eXtensible Messaging and Presence Protocol. XMPP. IETF RFC 3920-3923 (20, 21 érdekes) XML-alapú Eredeti: Jabberd, 1998, Jeremy Miller, GNU GPL

anila
Télécharger la présentation

MSN-kompatibilis egyéni emotikonok kezelése XMPP/Jabber-ben

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MSN-kompatibilis egyéni emotikonok kezeléseXMPP/Jabber-ben • Bemutatás • Németh Ádám, na556@hszk.bme.hu

  2. XMPP • eXtensible • Messaging and • Presence • Protocol

  3. XMPP • IETF RFC 3920-3923 (20, 21 érdekes) • XML-alapú • Eredeti: Jabberd, 1998, Jeremy Miller, GNU GPL • IM + “általános middleware szolgáltatás” • Sun, Google, Adobe alapprotokoll, IBM SameTime kompatibilis, AOL elvileg lesz, Apple, ISP-k, kormányhivatalok, cégek...

  4. XMPP felépítés • Kliensoldalról: kliens-szerver architektúra • Szerveroldal: elosztott monstrum • SMTP-hez hasonló (bárki futtathat saját szervert, user@domain azonosítók) • A protokol kiterjeszthető - XMPP Standards Foundation felügyeli a hivatalosakat • Transportok: csatlakozás más protokollokhoz (MSN, AIM, SIP...)

  5. Miért fontos nekünk? • Google Talk, Sun IM, Apple iChat Server, Portugal Telecom, GMX (Németország), ... • Webes integráció: Magyarországon először freemailben • SchJabber: 2004 • Gmail.BME? • Többiek: NDA :(

  6. XMPP Platformok • Desktop IM / C++, Java, .NET... • Web IM: Flash, JavaScript, újabban XUL • Mobil IM: Symbian, PocketPC, J2ME • Beágyazott, middleware - állítólag ilyen is van • 15+ Platform, 15 szerver, 15 nyelv, 50 lib, 90+ kliens

  7. Nyelvi elemek

  8. XMPP nyelv • message • Üzenetküldésre • presence • “The ability to communicate” - jelenlétállapotok (az is, mit hallgatsz épp) • iq • minden egyéb: set, get, query

  9. Message stanza <messagefrom='juliet@capulet.com' to='romeo@montague.net'> <body>Wherefore art thou, Romeo?</body> </message>

  10. presence stanza • Küldés: <presence><show>xa</show><status>Gone home for the evening</status></presence> • Fogadás: <presencefrom='dj@yak/Work' to='sabine@yak'> <status>Online</status> <priority>1</priority></presence>

  11. iq stanza • contact list lekérése: <iqtype='get' id=”roster_1”><queryxmlns='jabber:iq:roster'/></iq> • válasz: <iqto='juliet@example.com/balcony' type='result' id='roster_1'><queryxmlns='jabber:iq:roster'><itemjid='romeo@example.net'name='Romeo'subscription='both'><group>Friends</group></item></query></iq>

  12. Önlabtéma 2007 ősz • Jabber-kliens van sok • Probléma: ismerősök visszaállnak Google Talkról, mert “nincsenek olyan smiley-k” • Megoldás: csináljunk! • XSF-fel együttműködve (Peter Saint-André) • Deliverables: 1) XEP 2) (esetleg) kliens • Előny: tettünk valamit az emberiségért :) • Hátrány: Nem implementálni szívás, kitalálni

  13. Önlab lépései • MSN Protokollanalízis • Létező megoldások felderítése • Protocol proposal draft • Demo implementáció • Protocol proposal

  14. MSN Protokoll • SIP-szerű • Üzenet előtt MSNObjectként • Ha nincs meg - file request! • Utólagos kitöltés • Beszélgetésenként más (thread / session)

  15. Smiley MSNObject MSG 1 N 232MIME-Version: 1.0Content-Type: text/x-mms-emoticon(tux) <msnobjCreator="alice@example.com" Size="978" Type="2" Location="TFRC5.dat" Friendly="AAA="SHA1D="Uz3MQadmIWHed3saSdwcTo/Tc7U=" SHA1C="e7vZQCbXV30xf3gngY3P3slZhts="/> (baaha)<msnobjCreator="alice@example.com" Size="691" Type="2" Location="TFR3FA.dat" Friendly="AAA=" SHA1D="as1WxRoW0FXQFVrERtCC1Hec8i8=" SHA1C="AeZUBbzp5rI7tlZJ++ikrO4SeUk="/>

  16. MSNObject XMPP • <message/> payload • <body/> elé • külön namespace

  17. MSNObject XMPP II. First proposal <messageto="julie@capulet.com" from="romeo@montague.net"> <emoticons> <emoticonalias="(heart)" type="smiley" filename="heart.png" sha1="Id0n\'tkn0wSH418YH34Rt"/> </emoticons> <body> If my (heart)'s dear love-- </body> </message>

  18. Fájlátküldés? • Jelenleg: IQ stanza • nincs meg a smiley-> get • válasz (result): smiley fájl base64 encoded • Intelligensebb megoldások: ld. később

  19. Demo implementáció • Java -ban (Jive Software Smack) • Küldés-fogadás tesztelésére

  20. Demo implementáció Architektúra • EmoticonEntity • EmoticonManager • EmoticonPacketExtension (+Provider) • EmoticonTransferPacket (+Provider) • Sender és Receiver tesztkliens

  21. Problémák (küldés) • A használt smiley-kat az üzenet szövege (<body/>)alapján lehet megmondani • Az üzenet a küldés pillanatáig változhat • Ergo PacketExtension toXML()-jében meg kell nézni az üzenetet, ismernie kell azt • De: Csak az EmoticonManager ismeri a smiley-kat, viszont nem tud róla, mikor küldenek üzenetet • Eredmény: mindenki ismer mindenkit :(

  22. Problémák (fogadás) • Nehogy már a fogadó processnek kelljen beszereznie a smiley-kat : EmoticonManager! • EM megint ismeri az üzenetet • UPDATE?? • Web?? • MSN-átjáró?

  23. Még nincs kész...

  24. Intelligens megoldások • SI-Pub (XEP-153) • User Avatar (XEP-84)-szerű (PubSubon keresztül) • SI-Pub csomagolása smiley fejlécbe

  25. Eddigi reakciók • Peter Saint-André • Per Erkström

  26. További infó tőlem • http://jabbermania.blogspot.com (C++ Jabberkliens, Smack jabberbot, értelmesebb dolgok) • Budapest New Technology Meetup Jún. 6 - Egységes Instant Messaging Hálózat Mo.-n • NDA :(

  27. Referenciák

  28. Referenciák • jabber.org: kliensek, szerverek, libek... • http://www.ietf.org/rfc/rfc3921.txt • http://www.xmpp.org/extensions/ - XEP-ek (Jingle, User Tune, Publish-Subscribe etc) • Jingle bemutatás (Peter Saint-André): http://www.saint-andre.com/jabber/Jingle.pdf • IgniteRealtime.org - Jive szerverek, kliensek

  29. Jabber + P2PJabber + MultiMedia

  30. Jingle pre-history • Eredetileg: Kliens-szerver architektúra • Probléma: fájlátvitel, mediastreaming, SIP??? • Első: TINS (XEP-0111): SIP jabberül • (:-() A kliensoldal bonyolult, jabberben nem divat! • (:-)) Könnyű SIP-transportot írni • Most: JINGLE (XEP-0166) - by Google

  31. Jingle downsides • Van a Jingle (XEP-0166 - experimental protocol) • Van a libjingle (GNU LGPL lib, C++, by Google) • libjingle nem kompatibilis XEP-0166-tal!!! • Google Talk libjingle alapú • Készül: Jive Spark / Smack Jingle lib (JAVA), de JMF alapú - a Jive szerint is vacak

  32. Jingle advantages • XMPP-alapú - hey, it’s a standard • Egyeztetőprotokoll, mint a SIP (“lesz” gw) • Beépített támogatás tűzfalak megkerülésére • ELVILEG mehet webről is (Flash!) • Nem teljesen kínai, de azért...

  33. Önlabtéma-variációk

  34. Önlabtéma II. • Jingle • Készül egy proto-XEP webre, flash-használattal (“VoIP”, video) • Nincs implementáció • Előny: ismét tettünk valami hasznosat :) • Hátrány: JINGLE ingoványos talaj;előbb-utóbb a ClientSide vagy a Jive úgyis megírja; nincs rendes intelmac IDE hozzá

  35. Önlabtéma III. • Még mindig Jingle • Haverok. Buli. Fanta. De máshol! • Megoldás: VideoLAN (videolan.org) • Kéne egy signaling protokoll, meg chat, minél jobb jelenlétkezelés - Jabber-Jingle! • Előny: Nem túl hasznos, de buli • Hátrány: illegális (Gyenge Anikó szerint), Jingle ingoványos, gyenge implementációk • Sok kódolás, sok szívás lehet

  36. Önlabtéma n. • XEP-0118 - User Tune: milyen jó lenne, ha bele tudnék hallgatni, másik mit hallgat • Írjunk minél jobb webes klienst • XUL, Anyone? • Mobil: fényképez, fájlt elküld / fogad

More Related