Developer Information: Submitting QSOs to LoTW
TQSL is an open source C++ application built using TrustedQSL that enables a user to
- manage Callsign Certificates
- manage Station Locations
- detect QSOs that have already been uploaded to LotW and haven’t subsequently changed
- digitally sign ADIF and Cabrillo files
- upload digitally signed files to LoTW via the internet.
TQSL’s functionality is also accessible via a command line interface.
If you’d like to participate in the development of TrustedQSL and its applications, join the Trusted QSL Development Group via TrustedQSLDevel@yahoogroups.com
A logging application that aspires to manage Callsign Certificates and Station Locations on behalf of its user would do so by invoking functions provided in TrustedQSL. A logging application that only intends to automate the uploading of logged QSOs to LoTW can do so by invoking TrustedQSL functions, or by invoking TQSL via its command line interface.
A logging application that employs TrustedQSL to upload logged QSOs to LoTW is responsible for ensuring that QSOs already submitted to LoTW are not resubmitted unless they've subsequently been modified. Uploading all of a log's QSOs should not be routine. As described below, TQSL detects such duplicate QSOs and prevents them from being routinely uploaded.
When digitally signing an ADIF or Cabrillo file, TQSL processes these ADIF fields or their Cabrillo equivalent:
|CALL||Callsign of the station worked|
|FREQ||Frequency on which you transmitted||optional|
|BAND||Band on which you transmitted|
|FREQ_RX||Frequency on which you received||optional|
|BAND_RX||Band on which you received||optional|
|MODE||mode or mode group|
|QSO_DATE||UTC date on which the QSO started|
|TIME_ON||UTC time at which the QSO started|
|PROP_MODE||propagation mode||set to
|SAT_NAME||satellite name||if and only if PROP_MODE is
A valid callsign
- contains only the letters A through Z, the digits 0 through 9, and the slash character
- contains at least one number and one letter
- is at least three characters in length
- does not begin or end with a slash character
- does not begin with 0
- does not begin with 1 unless it begins with 1A, 1M, or 1S
TQSL ignores each QSO's STATION_CALLSIGN field; the station callsign for each QSO is specified by the Callsign Certificate selected when digitally signing the file containing the QSO.
QSO_DATE and TIME_ON
A QSO's date and time must be consistent with the date range in the Callsign Certificate selected when digitally signing the file containing the QSO. The Callsign Certificate must not have expired.
When processing a QSO that specifies a mode but not a submode, for example
If such an entry is found, TQSL will submit the QSO to LoTW with the mode specified in the ADIFMAP entry. If no such entry is found, TQSL will reject the QSO as specifying an unrecognized mode.
When processing a QSO that specifies both a mode and a submode, for example
If such an entry is found, TQSL will submit the QSO to LoTW with the mode specified in the ADIFMAP entry.
and does not specify
adif-submode. If such an entry is found, TQSL will submit the QSO to LoTW with the mode specified in the ADIFMAP entry. If no such entry is found, TQSL will reject the QSO as specifying an unrecognized mode.
TrustedQSL provides facilities for detecting duplicate QSOs, which are defined as QSOs
- that have already been submitted to LoTW from the computer on which TrustedQSL is hosted, and
- whose CALL, BAND, MODE, PROP_MODE, and SAT_NAME fields have not been subsequently modified, and
- were submitted with a Station Location whose fields have not been subsequently modified
When directed to digitally sign a log file, switch options in TQSL’s command line interface enable the invoking logging application to specify whether the presence of one or more duplicate QSOs in that log file should abort the signing operation, only sign QSOs that aren’t duplicates, or sign all QSOs including duplicates. To prevent the LoTW Server from having to process duplicate QSOs, developers of logging applications are encouraged to exploit the duplicate QSO detection and removal facilities provided in TrustedQSL and by TQSL’s command line interface. Duplicate QSOs should only be re-submitted if the user concludes those QSOs never reached LotW when originally submitted, or were subsequently lost. Note that any digitally-signed log file generated by TrustedQSL that contains one or more duplicate QSOs will recognized by the LoTW Server as containing duplicate QSOs.
QSO Upload Web Service
LoTW provides a web service at https://lotw.arrl.org/lotw/upload that will accept a digitally-signed log file using the RFC1867 protocol. This service returns HTML containing two comments that describe the results of an upload operation:
<!-- .UPL. result -->
where result will be either accepted or rejected.
<!-- .UPLMESSAGE. text -->
where text is a possibly multiline text message that can be displayed to the user if desired.
Note that being logged in to an LoTW User Account is not a prerequisite to using this web service.