Newer
Older
reed
committed
\subsection{Destination (0x05)}
CATS packets can optionally have one or more destinations. This can be useful for e.g. sending a message to another amateur radio operator, or for communicating with a service. The destination consists of a UTF-8 callsign and an SSID byte. \textbf{A valid CATS packet may contain zero or more destination whiskers.}
The destination whisker also allows requesting an acknowledgement from the station, to confirm that the packet was received successfully. This is specified in the acknowledgement byte. If the byte is 0, no acknowledgement is requested. Otherwise, an acknowledgement ID is specified in the 7 least significant bits. The MSB must be cleared. To acknowledge, a CATS packet must be crafted with a destination of the original station's callsign. The acknowledgement byte must have the same acknowledgement ID, but with the MSB set. The MSB is how acknowledgement requests are differentiated from acknowledgement responses.
\subsubsection{Structure}
\begin{tabular}{|l|l|l|l|}
\hline
\textbf{Byte offset} & \textbf{Length} & \textbf{Value} & \textbf{Description} \\
\hline
0 & 1 & 0x05 & Whisker type \\
\hline
1 & 1 & $N$ & Whisker length in bytes \\
\hline
2 & 1 & & Acknowledgement byte \\
\hline
3 & $N - 2$ & & UTF-8 callsign \\
\hline
$N + 1$ & 1 & & SSID \\
\hline
\end{tabular}