Logbook of the World
Yaesu -- Choice of the World's top DX'ers -- Ad

Developer Information: Submitting QSOs to LoTW

TQSL is an open source C++ application built using TrustedQSL that enables a user to

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:

Field Contents Presence
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  
SUBMODE submode optional
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 in Satellite QSOs; otherwise, optional
SAT_NAME satellite name if and only if PROP_MODE is SAT

Callsigns

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

Station Callsigns

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.

Mode

When processing a QSO that specifies a mode but not a submode, for example 

<MODE:1>M

TQSL will seek an ADIFMAP entry in the current Configuration Data that specifies

adif-mode='M'

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.

Submode

When processing a QSO that specifies both a mode and a submode, for example

<MODE:1>M<SUBMODE:1>S

TQSL will seek an ADIFMAP entry in the current Configuration Data that specifies

adif-mode='M' adif-submode='S'

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 seek an ADIFMAP entry in the current Configuration Data that specifies

adif-mode='M'

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.

Duplicate QSOs

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.