Signal SRC Files
In the Signal Repository, the SRC directory contains the service's main functions outside of the API endpoints. These are shared functions across different signal endpoints and handle actions such as adding/updating/getting database requests and processing SDPs.
The Modules table shown below are the main SRC files in this repository.
Here is a list of important terminology for Signal and these functions:
- WebRTC (Web Real-Time Communication): Enables real-time audio, video, and data communication directly within web browsers and native applications.
- Signaling: The server used to establish and manage communication between peers before media transfers begin.
- Data Channels: Allows browsers to send data in real-time beyond audio and video. The Digital multimeter (DMM) will send data such as temperature, currency, or voltage readings to users.
- Media Streams: The media (audio, video) flowing between peers
- ICE Interactive Connectivity Establishment (ICE) Server: ICE manages the process of establishing connections by finding the best way for two devices to communicate directly.
- TURN (Transversal Using Relays around NAT): TURN servers act as relays when direct connections between peers are not possible due to firewalls or Network Address Translators (NAT). TURN ensures that communication between peers can still occur despite potential network issues.
- SDP (Session Description Protocol): A standard for describing the multimedia capabilities and requirements of a connection.It contains the codec (program/algorithm/device that encodes or decodes a data stream), source addressing, and timing information of audio/video.
Modules
| Module | Description |
|---|---|
| Cosmos Driver | The Cosmos Driver functions are all functions related to updating and retrieving database records. This includes not only session data, but also SDP and ICE server data. |
| Coturn | The TURN Server Credential Functions |
| Database | The Main Database Connection for Signal answers/offers |
| Logger | The logger class for sending logs |
| Sessions | The Session Database Connection for Signal |