# Basic message routing and delivery
[Client] Romeo
jid: user@localhost
password: password
[Client] Juliet
jid: juliet@localhost
password: password
[Client] Juliet's phone
jid: juliet@localhost
password: password
resource: mobile
---------
# Act 1, scene 1
# The clients connect
Romeo connects
Juliet connects
Juliet's phone connects
# Romeo publishes his presence. Juliet has not, and so does not receive presence.
Romeo sends:
Romeo receives:
# Romeo sends a message to Juliet's full JID
Romeo sends:
Hello Juliet!
Juliet receives:
Hello Juliet!
# Romeo sends a message to Juliet's phone
Romeo sends:
Hello Juliet, on your phone.
Juliet's phone receives:
Hello Juliet, on your phone.
# Scene 2
# This requires the server to support offline messages (which is optional).
# Romeo sends a message to Juliet's bare JID. This is not immediately delivered, as she
# has not published presence on either of her resources.
Romeo sends:
Hello Juliet, are you there?
# Juliet sends presence on her phone, and should receive the message there
Juliet's phone sends:
Juliet's phone receives:
Juliet's phone receives:
Hello Juliet, are you there?
# Romeo sends another bare-JID message, it should be delivered
# instantly to Juliet's phone
Romeo sends:
Oh, hi!
Juliet's phone receives:
Oh, hi!
# Juliet's laptop goes online, but with a negative priority
Juliet sends:
-1
Juliet receives:
-1
Juliet's phone receives:
-1
# Again, Romeo sends a message to her bare JID, but it should
# only get delivered to her phone:
Romeo sends:
How are you?
Juliet's phone receives:
How are you?
# Romeo sends direct to Juliet's full JID, and she should receive it
Romeo sends:
Are you hiding?
Juliet receives:
Are you hiding?
# Juliet publishes non-negative presence
Juliet sends:
Juliet receives:
Juliet's phone receives:
# And now Romeo's bare JID messages get delivered to both resources
# (server behaviour may vary here)
Romeo sends:
There!
Juliet receives:
There!
Juliet's phone receives:
There!
# The End
Romeo disconnects
Juliet disconnects
Juliet's phone disconnects