# FSQCALL Selcall System

## Setup and Help Information

V0.41, 21.10.2016

MENU
Introducing FSQCALL | Uses for FSQCALL

### Introducing FSQCALL

> Sending text using FSQ is generally very reliable, certainly more so than other digital modes that use no error correction. Therefore with just a little verification, it has been possible to devise a simple system (simple to use, that is), which can provide clutter-free communication (station selective squelch), and can also perform many automated message-related tasks.

> This selective calling system is called FSQCALL, and operates in the ZL2AFP software in the default Active mode.

> While not attempting to be a full Automatic Link Establishment (ALE) system, FSQCALL performs similar functions to allow stations to establish links and pass simple messages manually or automatically. The focus is on sending simple one-sentence messages or commands in a manner suited to the FSQ protocol. There is a handful of simple and easy to learn commands used by FSQCALL. ALL of these can be manually typed, while the receiver end is largely automated. These simple commands allow you to:

> - Find a station's location and status.
> - Read a station's pre-defined message.
> - 'Poll' a station to check how reception is.
> - Send a sentence to all stations within range.
> - Send a sentence to just one specific station.
> - Send a sentence to be stored in a specific file.
> - Change the transmitting speed at another station.
> - Receive and save a file from an unattended station.
> - Determine which program version a station is running.
> - Send a file to one, many or all stations, even unattended.
> - Call CQ (prints at all stations in range where CQ is enabled).
> - Determine which other stations have been active, and when.
> - Have a station relay your sentence to another station or stations.
> - Send an image to, or receive an image from an unattended station.
> - Send periodic 'soundings and other messages from third party software.
> - Raise an Alert at a station, with automatic response once acknowledged.
> - Send a periodic 'sounding' message to let other stations know you are active.
> - Send a file with Forward Error Correction, guaranteeing 100% perfect reception.
> This sounds like a tall order, but cunning design has allowed all this to be achieved with just over a dozen easily remembered one-character commands. And you don't even need to remember them all, as the program itself lists the commands for you, with just a mouse-click. There is also comprehensive Help available from the Menu, which gives you details of operating Rules and Syntax, so you can't go wrong.

> The FSQCALL message structure is simply an extension of FSQ. Every sentence starts automatically with your_call:<crc>. The crc (Cyclic Redundancy Check) is used to ensure that the source callsign is received correctly, since it's often used in automatic replies. The CRC is generated and applied automatically.

> You simply type a destination callsign (or maybe more than one), a one-letter command for each callsign, and a message, if needed. Then you just press ENTER, as in normal 'vanilla mode' FSQ. Let's define some terms:

> > Direction:
> >   A destination callsign for a message or command.
> > Preamble:
> >   The callsign and checksum; the stuff that's prepended automatically to the sentence.
> > Trigger:
> >   The one-letter command character used with every FSQCALL transmission.
> > Payload:
> >   The accompaning information for a message or command.
> > Sentence:
> >   The complete transmission, Direction, Trigger and message, if any.
> > Sounding:
> >   Periodic transmission of the Preamble, with or without an optional Payload.
> >   Sounding assists other stations to build a list of available stations.
> >   Sounding is always used without a Direction and Trigger.

Directed message example

Here are some examples below. The text shown bold is added automatically before transmission, outgoing text is in red, while replies (both automated and manual) are shown in blue. In the first exchange, ZL1BPU asks for ZL2ABC's location, which is an automatic response:

> zl1bpu:b6zl2abc@

> If in range, ZL2ABC will automatically reply:

> zl2abc:2ezl1bpu Lower Hutt

> Why is the callsign 'zl1bpu' repeated in the reply? So the receiving station FSQCALL selective squelch opens to allow the message to simply print:

> Lower Hutt

As another example, ZL1BPU and ZL2ABC have established contact and are chatting in Active mode:

> zl1bpu:b6zl2abc Have you seen Jim ZL3JIM lately?
> (ZL2ABC sees only Have you seen Jim ZL3JIM lately?)

> and ZL2ABC replies:

> zl2abc:2ezl1bpu Yes, he was at the club meeting on Wednesday.
> (ZL1BPU sees only Yes, he was at the club meeting on Wednesday.)

As you will by now have gathered, if your callsign isn't in an incoming message, nothing will print. FSQCALL acts like a smart selective squelch. It opens the receiver for printing on the main screen (and other actions) when your callsign is received, and closes again when the actual receiver squelch closes (when the other station stops transmitting).

The Squelch is also 'fade-proof', using a smart delay design to ride through fades that might otherwise close the Selcall.

Because the squelch also locks-out transmission, just as in vanilla FSQ, stations generally do not transmit over other stations, or reply until the other station has finished transmitting. Various delays are also added before automatic replies, in order to manage the priority of messages. Manually typed messages have the highest priority, and sounding messages the lowest. This technique is called CSMA, or Carrier Sensed Multiple Access, controlling access to the radio channel.

Detailed descriptions of the FSQCALL Syntax and FSQCALL Rules are also available from the program Menu.

### Error Checking

> Using full-time Forward Error Correction system (FEC) would add unacceptable delay and markedly reduce throughput, and since FSQ is generally robust, a simple error check mechanism is all that is required, protecting only the message preamble. The preamble of every sentence is protected by a checksum, an 8-bit Cyclic Redundancy Check. The CRC forms the two mysterious letters/numbers which follow the colon in every FSQCALL header. If this preamble is not correct, the message will be ignored, for two reasons:
> 1. If the preamble is incorrect, the software won't know who to send automatic replies to!
> 2. If the preamble is incorrect, there's a high chance that the message will be too, and you may not know who it's from, in order to ask for a repeat.
> Each incoming message is also of course checked for the correct destination callsign (your callsign), and if that's not present, or received incorrectly, the message is ignored. It's also ignored if your callsign is not immediately followed by a permitted trigger character. These are the command characters used to tell the receiver what to do. There are sixteen of them:

> ? $ * ! ~ # % + | @ & ^ _ < and >, plus space

> Quite simply, if you don't get an expected reply to your command or message, you just send it again. Messages that don't have an automatic reply (the only one is callsign followed by space) are best used only when the other station is attended, otherwise you've no way of knowing if it was received. If it wasn't received, or was garbled, the other station operator will probably send "Agn?".

> The program has a 'Monitor Pane', and you can always keep an eye on that to see if there was anything you might have missed. This is especially useful if for some reason the squelch closes early (typically caused by a fade), or some station is calling you, but doesn't have your callsign the same as you've set it, or makes an error in the syntax.

> The error rate in FSQ is so low that you see more typing errors than from any other cause!

### FSQCALL Command Summary

> This is a very brief summary of the most-used commands. For full syntax, see the FSQCALL Syntax Help item within the program.

> > callsign message Enables print of message at station callsign
> > callsign? Returns signal report from station callsign
> > callsign* Sets FSQCALL ACTIVE at station callsign if it was in SLEEP
> > callsign!message Station callsign retransmits message
> > callsign~message Station callsign retransmits message after a 15 second delay
> > callsign#[file.ext]message Station callsign stores message as or appended to file.ext
> > callsign+[file.ext] Station returns the requested file using # command
> > callsign@ Returns QTH message from station callsign
> > callsign& Returns QTC message from station callsign
> > callsign> Station callsign changes to 3 baud and confirms
> > callsign< Station callsign changes to 6 baud and confirms
> > allcall message Enables print of message at all stations in network
> > cqcqcq message Enables print of message at all stations with CQ reception enabled

> It's easy to see how simple this all is. There are various ramifications involved if the syntax is used improperly. Check also the FSQCALL Rules. Several other trigger characters and commands are available but not listed here, and others are reserved for future features.

### Uses for FSQCALL

> Keeping in Touch
> The simplest application for FSQCALL is to provide a convenient 'watering hole' for a group of friends who wish to keep in touch and chat occasionally. Experience has shown that leaving your equipment running on the 40m calling channel during the day, and the 80m channel at night, will provide fairly reliable communications over about a 500 - 1000 km range. Depending on propagation, 40m may well work day and night over the summer. Late afternoon in winter would benefit from a 60m channel, if one is available. Only modest power is required. You can leave a message for your friend if they aren't available, and even use one friend to relay a message to another. The software will tell you who is currently available, and you can query the station if you wish to make sure.

> If you wish to chat with two or more friends at once, simply include both/all their callsigns in each sentence. Alternatively, use allcall as the address, and everyone will receive the message. In order to avoid serious mayhem on the radio channel, the automated replies do not work with allcall!

> Sending Files and Images
> Yes indeed! FSQCALL has three colour image formats that can be sent and received automatically, plus a black-and-white high resolution FAX mode. There is also a web camera capability. Not only can you send images, but you can request images, either stored or from the web cam, from another station. These features are described in detail in the Image Mode Help file.

> Small text files in a range of popular formats can be reliably sent and stored automatically. You can also remotely request a file, or read a directory of available files, a brief or detailed list. Files are kept in the /Shared folder, and as a security measure, other users have no access to files elsewhere on your computer. If you wish to give them access to a file, copy it into the /Shared folder, then update the directories using the File/Refresh directories menu item. You can also refresh the directories using the Menu.bat batch file.

> There are several 'Helper' programs able to send files. FSE sends and receives Error Corrected files; FST sends telemetry. You can also write your own 'Helper' program. All it need to do to transmit automatically is place a correctly formatted message in the file 'data.txt', and save it in the /Shared folder. FSQCall since V0.36 will accept files to transmit from any approppriate 'helper' program. You could for example write a 'Smart Sounding' program or a weather message generator.

> To send a file:

> > callsign#[filename.ext]file contents...

> You can either type the file content directly into the TX pane, or use the File/File to send Menu option to send a file from anywhere on the computer. If you use this second approach, the command is completed for you, complete with file name.

> Other users can read your directories using the file read command:

> > callsign+[short.callsign] Short directory listing, just file names
> > callsign+[long.callsign] Detailed directory listing (includes file date, time and size)

> Emergency Communications
> FSQCALL is also designed for management of field stations in an emergency, exercise, or sports event scenario. FSQCALL should not be used to pass important messages, such as those involving privacy or medical aspects (and it won't handle large files), but is absolutely ideal for passing commands such as changing location, requesting specific information, or passing on changes to plans, schedules and contact information. Typical messages would be 'Call John (09) 554 321' or 'Check number of stage starters with marshall'. By using FSQCALL, the field stations can remain in contact without having to listen on a radio channel (which can be very tiring), and without missing a message if they step away from the radio for some reason.

> The Error Corrected file transfer feature is perfect for Emergency Communications applications. You can be certain that the message received is 100% correct.

> FSQCALL also works really well on VHF FM, or on VHF repeaters. Stability of equipment can be an issue on VHF, especially with narrow-band digital modes. Using audio subcarriers on an FM transmission avoids this. In addition, if the transceiver can be operated with the FM squelch open (you often don't need to listen anyway), FSQCALL will easily copy signals that won't open the squelch. In fact it has been found that the sensitivity of IFK modes on FM is much better even than VHF SSB.

> Operator training requirements for Emergency Communications are minimal. Practice with a couple of laptops chatting across the clubrooms (speaker to microphone) for an hour or so will train new operators well. Another hour spent with each operator's own HF equipment connected would be useful in order to check out and become familiar with their digital interface, connections and settings.

> Telemetry
> FSQCALL Has a built-in telemetry capability. Remote devices can directly send data, or can be connected to a computer with a third-party helper program, and a radio which sends the data. Data is sent using the File Store command (#). Telemetry can be sent to all stations, a specific station, to a common telemetry file, or to an individual file for each remote device. Each transmission to the same station and file is stored sequentially in the same file, available for later analysis.

> The FSQCALL telemetry capability also allows third party programs to create files that FSQCALL will automatically transmit, and makes available the stored telemetry data for automated analysis by third party applications. You can also use the automatic file transmission capability for other smart activities, such as sending weather reports and Soundings which include time stamps.

> These aspects of FSQCALL are covered in the Help Menu Telemetry item.

Copyright © Murray Greenman and Con Wassilieff 2013-2016. All rights reserved.