Tigase STUN

Jabber, XMPP, IM (Instant Messaging), IC (Instant Communication) service were originally used mostly for exchanging text information. Text messages, text user status, or text contacts information such as vCards were the main data transmitted in those systems. In-band transmission of user's photos for avatar were the height of media transmissions.

Those times are long gone. People now want to exchange documents, photos, videos, databases unusually in the form of binary date. Everything is close to real-time. Moreover text communication, slowly becomes obsolete as more and more users prefer voice or video chats.

This is all easily supported by most of XMPP or other IM servers, because in most cases the server acts as a binary connection handshaking proxy and the actual transmission. The whole thing takes place via p2p connection or through some intermediate proxy server. In rare cases as in-band transmission. Despite the many options of sending data the most effective and costs efficient way of transmitting data is to directly send it to users in large chunks of binary data.

Unfortunately direct p2p connection between users tends to be a difficult thing because of NATs (Network Address Translators). Users are behind NATs, so their devices are invisible and inaccessible from the internet. If software application connects to the internet from a device behind NAT it has no way to tell what is it's public/static IP address, so it cannot offer any options for other parties to establish p2p connection. This is where an intermediate server, STUN server comes in handy. It allows an application to discover it's public IP address and negotiate optimal direct connection with the other end for a media sending session.

Tigase offers a STUN server which is Tigase XMPP Server component. It can work as an integrated part of the XMPP server or it can be deployed as a separate, standalone STUN server.

Reduces load on your servers by removing most of the binary transfers form your proxy servers

Reduces costs of running your service by reducing load and network traffic

If there is a need for media exchange between users connected to XMPP service this is an ideal solution. It is well integrated with the Tigase XMPP Server, can be deployed on many machines and does not require a complex setup or configuration.

What we like about this solution is that in a standard and simple way it solves a very complex problem.