1 # MUC: Notification of affiliation changes of non-occupants
20 <presence to="room@conference.localhost/Romeo">
21 <x xmlns="http://jabber.org/protocol/muc"/>
25 <presence from='room@conference.localhost/Romeo'>
26 <x xmlns='http://jabber.org/protocol/muc#user'>
28 <item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
34 <message type='groupchat' from='room@conference.localhost'><subject/></message>
38 <iq id='config1' to='room@conference.localhost' type='set'>
39 <query xmlns='http://jabber.org/protocol/muc#owner'>
40 <x xmlns='jabber:x:data' type='submit'>
41 <field var='FORM_TYPE'>
42 <value>http://jabber.org/protocol/muc#roomconfig</value>
49 <iq id="config1" from="room@conference.localhost" type="result">
52 # Promote Juliet to member
54 <iq id='member1' to='room@conference.localhost' type='set'>
55 <query xmlns='http://jabber.org/protocol/muc#admin'>
56 <item affiliation='member' jid="${Juliet's JID}" />
60 # Juliet is not in the room, so an affiliation change message is received
63 <message from='room@conference.localhost'>
64 <x xmlns='http://jabber.org/protocol/muc#user'>
65 <item jid="${Juliet's JID}" affiliation='member' xmlns='http://jabber.org/protocol/muc#user'/>
69 # The affiliation change succeeded
72 <iq from='room@conference.localhost' id='member1' type='result'/>
74 # Juliet connects, and joins the room
78 <presence to="room@conference.localhost/Juliet">
79 <x xmlns="http://jabber.org/protocol/muc"/>
83 <presence from="room@conference.localhost/Romeo" />
86 <presence from="room@conference.localhost/Juliet" />
89 <message type='groupchat' from='room@conference.localhost'><subject/></message>
92 <presence from="room@conference.localhost/Juliet" />
94 # To check the status of the room is as expected, Romeo requests the member list
97 <iq id='member3' to='room@conference.localhost' type='get'>
98 <query xmlns='http://jabber.org/protocol/muc#admin'>
99 <item affiliation='member'/>
104 <iq from='room@conference.localhost' type='result' id='member3'>
105 <query xmlns='http://jabber.org/protocol/muc#admin'>
106 <item affiliation='member' jid="${Juliet's JID}" />
110 # Romeo grants membership to Rosaline, who is not in the room
113 <iq id='member2' to='room@conference.localhost' type='set'>
114 <query xmlns='http://jabber.org/protocol/muc#admin'>
115 <item affiliation='member' jid="${Rosaline's JID}" />
120 <message from='room@conference.localhost'>
121 <x xmlns='http://jabber.org/protocol/muc#user'>
122 <item jid="${Rosaline's JID}" affiliation='member' xmlns='http://jabber.org/protocol/muc#user'/>
127 <iq type='result' id='member2' from='room@conference.localhost' />
130 <message type="groupchat" to="room@conference.localhost">
131 <body>Finished!</body>
135 <message type="groupchat" from="room@conference.localhost/Romeo">
136 <body>Finished!</body>