Posts

Showing posts from July, 2017

Week 7 & 8

Hello all,
It has been productive two weeks ! I have added some features to MIX in Swiften. These two weeks, I have added the following features:
1. Registering and setting Nick by a MIX client: This feature allows a MIX user to set and register a nick for a MIX channel by sending IQ stanzas of the following type: <iqtype='set'from='hag66@shakespeare.example/UUID-a1j/7533'to='coven@mix.shakespeare.example'id='7nve413p'><setnickxmlns='urn:xmpp:mix:0'><nick>thirdwitch</nick></setnick></iq> This example shows an IQ stanza from a MIX client to a MIX channel asking to set nick "thirdwitch". Similarly, if a MIX channel supports registering nick (mix_nick_register), then client sends a register nick payload to the channel.
2. Requesting VCard of  a channel participant: A MIX client can now request a VCard of a channel participant by sending  an IQ request to bare proxy JID of the channel participant as foll…

Week 5 & 6

Hello !
These last two weeks I had actually started implementing MIX features in Swiften library along with unit testing. I have now implemented capabilities for a MIX client to join as well as leave a channel. Every MIX channel has a set of standard Publish-Subscribe nodes to which clients can subscribe. For example: message node (urn:xmpp:mix:nodes:messages) will contain a message sent to the channel, participants node (urn:xmpp:mix:nodes:participants) stores the list of participants and their associated nick, etc.
Therefore, a MIX client can send an XML to its own local server for joining a channel and subscribing to the nodes within the channel as follows:
<iqtype='set'from='hag66@shakespeare.example/UUID-a1j/7533'to='hag66@shakespeare.example'id='E6E10350-76CF-40C6-B91B-1EA08C332FC7'><joinxmlns='urn:xmpp:mix:0'channel='coven@mix.shakespeare.example'><subscribenode='urn:xmpp:mix:nodes:messages'/><subscrib…