SEVENSTAX P2P (Peer-2-Peer) contains all protocols and services needed to build up Peer-to-Peer communications. It is an implementation developed specifically for the use in embedded systems.
Peer-to-Peer communication is used to ensure the direct exchange of data between two partners (e.g. Voice over IP) that are not directly addressable. This is mostly the case for participants from networks that are connected to the internet via a NAT router or when communication is regulated by a firewall.
SEVENSTAX P2P contains the following components:
- Session Initiation Protocol (SIP) client according to RFC 3261
- Session Description Protocol (SDP) according to RFC 4566
- Session Traversal Utilities for NAT (STUN) client according to RFC 5389
- Traversal Using Relay NAT (TURN) client according to RFC 5928
- Application for connection management under the terms of Interactive Connectivity Establishment (ICE)
SIP signals the desire to connect and to negotiate necessary parameters. SDP describes the user data to be transmitted afterward. STUN is used to identify the external IP-adress and analyze the behavior of the NAT routers that establish the connection. ICE describes necessary steps to be taken to establish a P2P communication depending on the existing infrastructure. TURN is a backup solution for transfer of the data via a relay server in case the network infrastructure has to many restrictions.