Architecture
Overview
TIMP.NET establishes client-server connections when users connect using their clients, while it establishes peer-to-peer connections between two instances or in general between two servers.
The connection of a user, whose IM address is user@mycompany.com, is performed in two steps:
- the DNS server is contacted to find out the IP related to the domain name mycompany.com
- a connection to the IP on port 5222 (open connection) or 5223 (SSL - protected connection) .
All messages exchanged between two users (user1@mycompany.com and user2@mycompany.com) go through the Site Instance on which both are connected.
When two users are on different servers and user@mycompany.com wants to send a message to otheruser@othercompany.com, the following steps are taken:
- server mycompany.com contacts the DNS and finds the IP corresponding to domain othercompany.com
- server mycompany.com contacts server othercompany.com through that IP on port 5269 and declares its name and a connection request identifier.
- server othercompany.com contacts the DNS and finds the IP corresponding to domain mycompany.com
- server othercompany.com contacts server mycompany.com through that IP on port 5269 and declares its name and the above connection request identifier.
- server mycompany.com confirms the connection request
- server othercompany.com authorizes mycompany.com to send messages
- server mycompany.com send the message.
This connection mechanism is called dilaback; it allows both servers toverify the identity of the other server using the DNS. More information can be found on www.jabber.org