Transport Interface Design |
This document contains the design of the new Transport Interface that will be deployed in OpenSIPS 2.1.
The current transport protocols (UDP, TCP, TLS, etc.) are embedded directly in the OpenSIPS core. This makes the management of these protocols in script more difficult and also complicates the addition of new ones (such as WebSockets).
In order to simplify this, we designed a new Transport Interface that aims to provide a new transport layer in OpenSIPS's core. This interface will separate the network level transport protocols (such as TCP and UDP) from higher level, SIP aware, protocols (such as TLS, WebSocket, SCTP). This clear separation will facilitate the addition of higher level protocols while efficiently reusing the lower network level protocols implementations.
The architecture of the new Transport Interface is presented in the picture below.
![]() |
The picture can be split in three layers, from bottom up: