Good question. Not sure about Nostra, but that is how WebRTC is doing it. If there is only 2 people then it is peer to peer, more parties require some sort 'relay' to facilitate the chats.
However the main issue with peer to peer is not everyone is going to be online all the time, relay serves as a temporary storage place until one of the user/client goes online and get the message.
However the main issue with peer to peer is not everyone is going to be online all the time, relay serves as a temporary storage place until one of the user/client goes online and get the message.