spec/scansion/muc_presence_probe.scs
author Kim Alvefur <zash@zash.se>
Sun, 24 Mar 2024 21:32:00 +0100
changeset 13468 2dbc169aae6a
parent 11250 ab189e707705
permissions -rw-r--r--
util.startup: Abort before initialization of logging when started as root Prevents creation of log files owned by the root user which could be inaccessible once started correctly.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11249
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     1
# #1535 Let MUCs respond to presence probes
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     2
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     3
[Client] Romeo
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     4
	jid: user@localhost
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     5
	password: password
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     6
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     7
[Client] Juliet
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     8
	jid: user2@localhost
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
     9
	password: password
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    10
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    11
[Client] Mercutio
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    12
	jid: user3@localhost
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    13
	password: password
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    14
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    15
-----
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    16
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    17
Romeo connects
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    18
11250
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    19
# Romeo joins the MUC
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    20
11249
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    21
Romeo sends:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    22
	<presence to="room@conference.localhost/Romeo">
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    23
		<x xmlns="http://jabber.org/protocol/muc"/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    24
	</presence>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    25
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    26
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    27
	<presence from='room@conference.localhost/Romeo'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    28
		<x xmlns='http://jabber.org/protocol/muc#user'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    29
			<status code='201'/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    30
			<item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    31
			<status code='110'/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    32
		</x>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    33
	</presence>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    34
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    35
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    36
	<message type='groupchat' from='room@conference.localhost'><subject/></message>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    37
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    38
# Disable presences for non-mods
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    39
Romeo sends:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    40
	<iq id='config1' to='room@conference.localhost' type='set'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    41
		<query xmlns='http://jabber.org/protocol/muc#owner'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    42
			<x xmlns='jabber:x:data' type='submit'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    43
				<field var='FORM_TYPE'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    44
					<value>http://jabber.org/protocol/muc#roomconfig</value>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    45
				</field>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    46
				<field var='muc#roomconfig_presencebroadcast'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    47
					<value>moderator</value>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    48
				</field>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    49
			</x>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    50
		</query>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    51
	</iq>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    52
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    53
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    54
	<iq id="config1" from="room@conference.localhost" type="result">
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    55
	</iq>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    56
11250
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    57
# Romeo probes himself
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    58
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    59
Romeo sends:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    60
	<presence to="room@conference.localhost/Romeo" type="probe">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    61
		<x xmlns="http://jabber.org/protocol/muc"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    62
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    63
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    64
Romeo receives:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    65
	<presence from='room@conference.localhost/Romeo'>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    66
		<x xmlns='http://jabber.org/protocol/muc#user'>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    67
			<item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    68
		</x>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    69
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    70
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    71
# Juliet tries to probe Romeo before joining the room
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    72
11249
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    73
Juliet connects
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    74
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
    75
Juliet sends:
11250
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    76
	<presence to="room@conference.localhost/Romeo" type="probe">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    77
		<x xmlns="http://jabber.org/protocol/muc"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    78
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    79
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    80
Juliet receives:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    81
	<presence from="room@conference.localhost/Romeo" type="error">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    82
		<error type="cancel">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    83
			<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    84
		</error>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    85
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    86
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    87
# Juliet tries to probe Mercutio (who's not in the MUC) before joining the room
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    88
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    89
Juliet sends:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    90
	<presence to="room@conference.localhost/Mercutio" type="probe">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    91
		<x xmlns="http://jabber.org/protocol/muc"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    92
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    93
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    94
Juliet receives:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    95
	<presence from="room@conference.localhost/Mercutio" type="error">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    96
		<error type="cancel">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    97
			<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    98
		</error>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
    99
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   100
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   101
# Juliet joins the room
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   102
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   103
Juliet sends:
11249
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   104
	<presence to="room@conference.localhost/Juliet">
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   105
		<x xmlns="http://jabber.org/protocol/muc"/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   106
	</presence>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   107
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   108
Juliet receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   109
	<presence from="room@conference.localhost/Romeo" />
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   110
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   111
Juliet receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   112
	<presence from="room@conference.localhost/Juliet" />
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   113
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   114
# Romeo probes Juliet
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   115
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   116
Romeo sends:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   117
	<presence to="room@conference.localhost/Juliet" type="probe">
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   118
		<x xmlns="http://jabber.org/protocol/muc"/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   119
	</presence>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   120
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   121
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   122
	<presence from='room@conference.localhost/Juliet'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   123
		<x xmlns='http://jabber.org/protocol/muc#user'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   124
			<item jid="${Juliet's full JID}" affiliation='none' role='participant'/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   125
		</x>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   126
	</presence>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   127
11250
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   128
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   129
# Mercutio tries to probe himself in a MUC before joining
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   130
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   131
Mercutio connects
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   132
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   133
Mercutio sends:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   134
	<presence to="room@conference.localhost/Mercutio" type="probe">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   135
		<x xmlns="http://jabber.org/protocol/muc"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   136
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   137
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   138
Mercutio receives:
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   139
	<presence from="room@conference.localhost/Mercutio" type="error">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   140
		<error type="cancel">
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   141
			<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   142
		</error>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   143
	</presence>
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   144
ab189e707705 MUC: Reject probes from non-occupants
JC Brand <jc@opkode.com>
parents: 11249
diff changeset
   145
11249
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   146
# Romeo makes Mercutio a member and registers his nickname
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   147
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   148
Romeo sends:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   149
	<iq id='member1' to='room@conference.localhost' type='set'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   150
		<query xmlns='http://jabber.org/protocol/muc#admin'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   151
			<item affiliation='member' jid="${Mercutio's JID}" nick="Mercutio"/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   152
		</query>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   153
	</iq>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   154
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   155
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   156
	<message from='room@conference.localhost'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   157
		<x xmlns='http://jabber.org/protocol/muc#user'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   158
			<item jid="${Mercutio's JID}" affiliation='member' />
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   159
		</x>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   160
	</message>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   161
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   162
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   163
	<iq from='room@conference.localhost' id='member1' type='result'/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   164
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   165
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   166
# Romeo probes Mercutio, even though he's unavailable
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   167
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   168
Romeo sends:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   169
	<presence to="room@conference.localhost/Mercutio" type="probe">
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   170
		<x xmlns="http://jabber.org/protocol/muc"/>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   171
	</presence>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   172
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   173
Romeo receives:
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   174
	<presence from='room@conference.localhost/Mercutio' type="unavailable">
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   175
		<x xmlns='http://jabber.org/protocol/muc#user'>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   176
			<item nick="Mercutio" affiliation='member' role='none' jid="${Mercutio's JID}" />
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   177
		</x>
43b43e7156b8 MUC: Add support for presence probes (fixes #1535)
JC Brand <jc@opkode.com>
parents:
diff changeset
   178
	</presence>