JS8Call is open source software providing text messaging over weak radio signals spanning continents. The open source software is designed for connecting amateur radio operators who are operating under weak signal conditions and offers real-time keyboard-to-keyboard messaging, store-and-forward messaging, and automatic station announcements. JS8Call is heavily inspired by WSJT-X, Fldigi, and FSQCall.
What blows me away with this software is that I cannot hear any normal audio from signals over 12,000 km away in the USA and Europe, yet this software manages to pull the text through from conversations, and I can see that my signals are also being heard in Switzerland and the USA. In most cases stations are transmitting only 25W to 50W (many claim to be down as low as 5W).
But despite being able to have two-way or group text chats, the software also allows for messaging into an inbox. Two of the best features I think are the auto response (which means you can send queries to any station and if it has auto response enabled it will automatically reply with a signal strength, station info, status, or other standard responses) and the other feature is relays (where if I can contact station 2 who can contact station 3 but I can't see station 3, I can relay through station 2 to reach station 3 perhaps on a different continent).
Two useful resources to find out more are the guide at https://docs.google.com/document/d/159S4wqMUVdMA7qBgaSWmU-iDI4C9wd4CuWnetN68O9U/edit?usp=sharing and the map showing reception reports at https://pskreporter.info/pskmap.html.
The JS8Call website is at http://js8call.com. The software installs on Windows, macOS, Linux and a Raspberry Pi.
I did have a bit of a struggle to get my radio set-up to work so one tip I can give for Linux users is to ensure the Linux logged in user has admin read/write rights to the comms ports by executing from the CLI "sudo chmod 666 /dev/ttyUSB0" and "sudo chmod 666 /dev/ttyUSB1" (assuming these are the addresses for the two comms ports when the radio is connected via USB).
Below I'll also list the settings that worked for me with my Yaesu FT-991A radio as well as the basic settings I used on the JS8Call software settings:
Yaesu FT-991A Radio Settings
F Button: Width=3000Hz
029 232C RATE=19200
030 232C RATE=100ms (was 10ms)
031 CAT RATE=19200
032 CAT TOT=100ms (was 10ms)
032 CAT RTS=ENABLE (was ENABLE)
060 PC KEYING=DTR (was OFF)
062 DATA MODE=OTHERS (was PSK)
064 OTHER DISP (SSB)=1500Hz (was 0Hz)
065 OTHER SHIFT (SSB)=1500Hz (was 0Hz)
066 DATA LCUT FREQ=OFF (was 300Hz)
068 DATA HCUT FREQ=OFF (was 3000Hz)
070 DATA IN SELECT=REAR (was REAR)
071 DATA PTT SELECT=DAKY (was DAKY)
072 DATA PORT SELECT=USB
102 SSB LCUT FREQ=100Hz (was 100Hz)
104 SSB HCUT FREQ=3000Hz (was 3000Hz)
**106 SSB MIC SELECT=REAR (Default MIC)** +++
108 SSB PTT SELECT=DAKY (Default DAKY)
109 SSB PORT SELECT=USB (Default was DATA)
JS8Call Application Settings