Development

Development.TransportInterface History

Hide minor edits - Show changes to markup

December 19, 2014, at 12:51 PM by razvancrainea -
Changed lines 13-14 from:

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 facilitates the addition of higher level protocols (such as TLS, WebSocket, SCTP) while reusing the lower level protocols implementations (such as TCP and UDP).

to:

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.

Changed lines 22-23 from:
  1. Transport layer - contains the primitive network transport protocols, such as TCP and UDP
  2. SIP layer - consists of several protocols that use the transport layer to send and receive messages to and from the network, while being SIP aware. These protocols (SCTP, TLS, WebSocket) will be implemented as standalone modules and will be automatically loaded when listening interfaces are defined for them.
to:
  1. Transport layer - contains the primitive network transport protocols, such as TCP and UDP. This layer will manage all the connections in an efficient and centralized manner.
  2. SIP layer - consists of several protocols that use the transport layer to send and receive messages to and from the network, while being SIP aware. These modules will not do any connection managing, but only process the data received from the transport layer according to SIP requirements. The protocols (SCTP, TLS, WebSocket) will be implemented as standalone modules and will be automatically loaded when listening interfaces are defined for them.
December 19, 2014, at 12:04 PM by razvancrainea -
Changed lines 17-24 from:
http://opensips.org/images/opensips-transport-interface.png
to:

The architecture of the new Transport Interface is presented in the picture below.

http://opensips.org/images/opensips-transport-interface.png

The picture can be split in three layers, from bottom up:

  1. Transport layer - contains the primitive network transport protocols, such as TCP and UDP
  2. SIP layer - consists of several protocols that use the transport layer to send and receive messages to and from the network, while being SIP aware. These protocols (SCTP, TLS, WebSocket) will be implemented as standalone modules and will be automatically loaded when listening interfaces are defined for them.
  3. Routing layer - here stand the OpenSIPS modules and core that will use a set of simple generic send/receive functions. The underneath transport protocol will be transparent for them.
December 10, 2014, at 06:14 PM by razvancrainea -
Changed line 17 from:

http://opensips.org/images/opensips-transport-interface.png

to:
http://opensips.org/images/opensips-transport-interface.png
December 10, 2014, at 06:14 PM by razvancrainea -
Changed lines 15-17 from:

Design

to:

Design

http://opensips.org/images/opensips-transport-interface.png

December 10, 2014, at 05:26 PM by razvancrainea -
Added lines 1-15:
Transport Interface Design


This document contains the design of the new Transport Interface that will be deployed in OpenSIPS 2.1.


Description

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 facilitates the addition of higher level protocols (such as TLS, WebSocket, SCTP) while reusing the lower level protocols implementations (such as TCP and UDP).

Design


Page last modified on December 19, 2014, at 12:51 PM