Configure External Message Source
Many other applications provide information that would be useful
to deliver over APRS. YAAC provides a mechanism using TCP/IP sockets
so that such information can be imported into YAAC in real-time and
transmitted to all the connected APRS networks.
To connect to such applications, click the Add button on the Ports
tab of the expert-mode Configure dialog. The port editing dialog will
appear. Set the port type to ExtMsgSrc.
The parameters you will need to specify are:
- Whether YAAC is going to listen for TCP incoming connections from
the other applications (server mode), or initiate a TCP connection to
the other application (client mode), or accept UDP datagrams from other
applications.
- For client mode, the host name or IP address of the computer
running the other application; this is meaningless for server mode,
as the server system is the computer running YAAC (i.e., localhost).
Note that YAAC does not restrict the listening port only to
connections from the same computer; any computer will network access
to the YAAC computer can connect to the socket, and no
authentication is performed.
- The TCP or UDP port number that YAAC will listen on in server mode
or attempt to connect to in client mode, in the range 1000 to 65535.
Note that a port number below 1024 should not be selected in server
mode on a Linux or Unix system, as such port numbers are reserved to
privileged applications on Unix.
- The format of the messages that YAAC will expect to receive
over the socket connection. The formats currently supported by YAAC
are:
- plain ASCII APRS message bodies (according to the APRS
protocol specifications), terminated by a carriage return (CR,
0x0D) or line feed (LF, 0x0A). Note that MicE messages cannot be
used here, because the destination callsign (used to encode
latitude and other values in MicE) is not user-specified in this
format. The messages will be transmitted with YAAC's beacon
callsign as the source, and the current beacon destination ToCall
as the destination.
- a source callsign, a greater-than sign '>', a destination
callsign, a colon ':', and the plain ASCII APRS message body
terminated by CR or LF. Note this allows the external application
to specify its own unique source and destination callsigns, and
YAAC does not validate the legality of such callsigns. Note that,
if YAAC has open RF transmit ports (hardware or software TNCs), the
callsigns must be legal for AX.25 transmission; messages with
illegal-syntax callsigns will be rejected by YAAC, because they
can't be transmitted on RF. IF YAAC only has a Internet connection,
extended format callsigns with syntaxes that won't fit into an
AX.25 frame header (such as SSID's that contain letters or a number
greater than 15) are permissible.
- Whether or not messages received through this port should be processed
and displayed locally, in addition to being transmitted to other stations.
- The digipeat path(s) to be used for messages received from
the external application. If more than one path is specified, they
will be used in proportional pathing order.
Note that, in client mode, YAAC will attempt to connect to only
one external application per ExtMsgSrc port, and the external
application must be ready and waiting for connections when the YAAC
port is created or YAAC is restarted with an open ExtMsgSrc port
definition. Any number of client applications can connect to a YAAC
server-mode port, but all such applications must use the same message
format (with or without source and destination callsigns).