---
# System prepended metadata

title: Telecomms design doc

---

# Telecomms design doc

steal code [here](https://github.com/space-wizards/space-station-14/pull/10317) 

## Radios

### Handheld Radios & Intercomms
Transmits message through telecomms, if message packet doesnt get resolved/resent through all radios for 10 sec, it will send it localy (only handhelds and intercomms can receive this message)
### Headsets
Sends message through telecomms, if telecomms isnt available then it wont work.

## Machines

### All-In-One
All in one reciver & broadcaster. Receives message based on set freq and rebroadcasts it to radios.
Set filters to whatever frequency the department uses, add one for each department.

## Frequencies

Public frequency is [1441, 1489], above that it requires a radio key.
Syndie and CentCom radios bypass telecomms entirely.

Frequency range (static)
```csharp!
// Lowest frequency you can have
public static int MinFreeFreq = 1201;
// Begining of public frequency. Radios and headsets can tune their frequency to this
public static int MinFreq = 1441;
// End of public frequency
public static int MaxFreq  = 1489;
// Highest frequency you can have
public static int MaxFreeFreq  = 1599;
```

Frequencies must be formatted as `1459` => `145.9`, frequencies must also be odd

See [radio_channels.yml](https://github.com/LetterN/space-station-14/blob/9c40730a495a165b648191a7437a0a733ab00806/Resources/Prototypes/radio_channels.yml)

## Radio Keys
Headsets can only hold 2 of these

Radio keys hold any numbers of frequency which allows both sending and receiving on the said frequency **EXEPT** syndie frequencies

Syndie frequencies require an explicit key to work even if the radio is "unlocked" (the public frequency check is gone/`false`) AND you set the freqency to 1213
