IRLP Live Nodes
CLICK HERE for an animation of the radio in action. (1 MB)
The IRLP uses a Voice-Over-IP (VoIP) streaming software called Speak Freely. Speak Freely is very similar to other VoIP software packages (such as Microsoft NetMeeting and VocalTec iPhone) with one difference... It runs under Linux.
Linux is the operating system of choice for the IRLP system as it allows the best in reliability, programmability, efficiency, and functionality. Most older IRLP nodes use Linux RedHat 7.3 or RedHat 9 as they are very stable releases and run very smooth on any P1 or better computer. Effective March 2007 IRLP started shipping an open sourced CentOS version of Linux. This release provides greatly improved operation with more support for audio cards.
The concept of IRLP's use of VoIP is as follows:
Sample the audio using an analog to digital (A/D) converter. The A/D converter used by IRLP is the input source of a standard PC sound card. This creates a continuous mono 16-bit digital stream of raw audio at 8000Hz (120000 bps).
Compress the audio by downsampling the stream and using an 4-bit ADPCM algorithm to reduce the size of the stream by a factor of four (32000 bps)
Split the sample into small chucks (or packets).
Transmit the packets to the remote host using a User Datagram Protocol (UDP) stream. UDP does NOT confirm the reception of packets, so it uses a "fire and forget" method.
Receive the packets on the remote host.
Join the split packets back into a 4-bit ADPCM stream.
Uncompress the ADPCM stream back into an 16-bit raw stream of audio.
Play the raw audio stream through a digital to analog (D/A) converter (the output device of your sound card).
The control software controls the stream using carrier operated squelch (COS) or continuous tone coded subaudible squelch signals (CTCSS) to start and stop the stream. When COS is present, the computer detects it through the IRLP interface board.
The PTT is controlled by the buffer which joins the split packets back into the audio stream. The IRLP interface board receives a "transmit" signal from the computer while there are packets in the buffer, and a "unkey" command when the buffer is empty.
The user interfaces to the IRLP computer using DTMF signals sent over the radio. DTMF sequences are owner programmable, and can accomplish almost any function imaginable. The DTMF signals are detected on the IRLP interface board and sent directly to the computer in binary, where they are converted into numbers. A DTMF software program which I wrote then runs commands on the computer depending on the code entered.
These commands are what start and stop Speak Freely, basically establishing and breaking the link.
And that is, in a nutshell, how IRLP works.