In Openfire using XMPP, when I create a persistent room, users can add if they are invited.
When I send an invite to a user for room joining it will join using:
<presence from="jid@hostname.com/resource" to="groupname@servicename.hostname.com/nickname">
<x xmlns="http://jabber.org/protocol/muc" />
</presence>
The newly added participant is member of that room. When I want to leave the room, we use
<presence type="unavailable" to="groupname@servicename.hostname.com" from="jid@hostname.com" >
Using that they leaves room but are not getting deleted from the memberlist of that room.
How to remove from yourself from the memberlist?
I am requesting the member list with:
<iq from='crone1@shakespeare.lit/desktop' id='member3' to='coven@chat.shakespeare.lit' type='get'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item affiliation='member'/>
</query>
</iq>
or in Openfire there is link:
Group Chat -> Room Administration -> User Permissions
Which shows the actual list of all members with their permissions.