SCTP, Stream Control Transmission Protocol
SCTP is designed to transport PSTN signaling messages over IP networks, but is capable of broader applications. SCTP is a reliable transport protocol operating on top of a connectionless packet network such as IP. It offers the following services to its users:
* Acknowledged error-free non-duplicated transfer of user data.
* Data fragmentation to conform to discovered path MTU size.
* Sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages.
* Optional bundling of multiple user messages into a single SCTP packet.
* Network-level fault tolerance through supporting of multi-homing at either or both ends of an association.
The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.
the lksctp Project! (linux sctp project)
The Linux Kernel Stream Control Transmission Protocol (lksctp) project is an implementation of the Stream Control Transmission Protocol (SCTP) in the Linux kernel. The primary goal of this project is to provide user applications with a viable SCTP solution by incorporating features and functions defined in the following documents:
* Stream Control Transmission Protocol (IETF RFC 2960)
* SCTP Checksum Change (IETF RFC 3309)
* SCTP Specification Errata and Issues (IETF RFC 4460)
* Sockets API Extensions for SCTP
* SCTP Partial Reliability Extension (IETF RFC 3758)
* SCTP Dynamic Address Reconfiguaration
* An Introduction to the Stream Control Transmission Protocol (IETF RFC 3286)
* Stream Control Transmission Protocol Applicability Statement (IETF RFC 3257)
Stream Control Transmission Protocol (SCTP) is a reliable, message-oriented, multihomed transport protocol. Developed by the IETF SIGTRAN working group to transport SS7 over IP, it is now the third general-purpose transport developed by the IETF.
We can use the SSRC field of RTP to identify an unique rtp session. The known implemented software is kphone.