In XMPP clients are identified by their jid eg: “node@domain/ressource”
node = username
domain = xmpp domain
ressource = part of the jid to identify the “connection”
clients can log into server with same bare-jid (node@domain) + resource. This is known as full-jid.
If one client / service sends a message to a bare-jid all connections will normaly receive it.
If the message was sent to a full-jid the server will route it to that specific client only. (If you dont enable special preferences in openfire: route.all-resources or route.really-all-resources).
On MUC the clients are also identified by their jid. But for security reasons the real jid is normaly masked.
In MUCs you have to select a nickname. The server will then route messages from the masked jid to the realjid and back…
In MUCs nicknames have to be unique per room for different users, but same user could join a room with the same nickname:
eg: User A with following jids:
userA@domain/ressource1, userA@domain/ressource2, userA@domain/ressource3
can join the muc firstname.lastname@example.org
User A could select “COOLNAME” as nickname and will join the room with email@example.com/COOLNAME
All messages to the jid above will be routed to all jids of UserA. If UserA takes different nicknames for every three jids when joining the room, the messages could be sent to one or all jids