XEP-0033: Temporary Lists of Recipients


A Temporary List of Recipients is a list of JIDs shared between two or more multicast (XEP-0033) components and can decrease and increase. It's a simple master and slave system where the master defines the JIDs in the list. This is useful for different XMPP messages which have the same recipients over and over again and just the content of the message changes. Like the title imposes these lists are just temporary. If not used in a specific amount of time, for example 5 minutes, they are deleted. The command set is small so it can be easily implemented and doesn't produce much overhead. In fact for room which hundreds of participants from 10 different servers it'll save a lot traffic. This multicast extension will be pretty useful for MUC (XEP-0045) and PubSub (XEP-0060).

Detailed Protocol Extension

The following sections describe what actions are possible using the technique described here.

Create a List

<code lang="xml">

<address type='bcc' jid='temas@jabber.org'/>
<address type='bcc' jid='jer@jabber.org'/>
<address type='list-create' jid='2f8bae7a-f01f-40f4-8c91-242e972d3cc6' />

Hi all.

Now the list with the id 2f8bae7a-f01f-40f4-8c91-242e972d3cc6 has two JIDs of the time bcc. The component sends the message out to the receipients and creates a temporary list.

Use a List

<code lang="xml">

<address type='list' jid='2f8bae7a-f01f-40f4-8c91-242e972d3cc6' />

A warm welcome to everyone.

The result is that the receiving component looks up the list with the ID 2f8bae7a-f01f-40f4-8c91-242e972d3cc6 and sends the message to the recipients of that list. You see this will decrease traffic and stanza size a lot which will automatically result in less time which is spend on parsing the stanza.

Add JID to List

<code lang="xml">

<address type='bcc' jid='peter@jabber.org'/>
<address type='list-add' jid='2f8bae7a-f01f-40f4-8c91-242e972d3cc6' />

I’m here too.

First, it adds peter@jabber.org to the list 2f8bae7a-f01f-40f4-8c91-242e972d3cc6 and then sends the message to all recipients of that list.

Remove JID to List

<address type='bcc' jid='peter@jabber.org'/>
<address type='list-remove' jid='2f8bae7a-f01f-40f4-8c91-242e972d3cc6' />

oh..he is already gone

Removes peter@jabber.org from the list and then sends the message to all recipients of that list.

Delete a List

<address type='list-delete' jid='2f8bae7a-f01f-40f4-8c91-242e972d3cc6' />

oh..he is already gone

Sends the message stanza to all recipients of the list and then deletes the list.

This page was posted with tags , .