Courtesy Tones
This is how to use and define courtesy tones for ASL3. The telemetry tones to use are defined for each node in the [node] stanza. The telemetry definitions common to all nodes are in the [telemetry] stanza.
Also see config file templating for more information on where to put node-specific options.
[node] Stanza Settings
The [node] stanza keys below define what un-key events you want to send courtesy tones for, and exceptions for un-key events on locally connected nodes (hosted on the same server).
| Key | Value | Description | 
|---|---|---|
| linkunkeyct | telemetry stanza key | Courtesy tone sent when a networked user un-keys. The default for this is no courtesy tone | 
| nolocallinkct | 1 or 0 | Send unlinkedctinstead oflinkedctif another local node is connected to this node (hosted on the same server) | 
| remotect | telemetry stanza key | This courtesy tone will be sent in addition to any other courtesy tone when a remote base is connected to the node. The default is to send telemetry stanza key ct3 | 
| unlinkedct | telemetry stanza key | Send a this courtesy tone when the user un-keys if the node is not connected to any other nodes | 
Example [node] stanza:
[1234]                              ; Your node number
telemetry = telemetry               ; Points to the telemetry stanza
unlinkedct = ct2                    ; Send a this courtesy tone when the user un-keys if the node is not connected to any other nodes. (optional, default is none)
remotect = ct3                      ; remote linked courtesy tone (indicates a remote is in the list of links)
linkunkeyct = ct8                   ; sent when a transmission received over the link un-keys
;nolocallinkct = 0                  ; Send unlinkedct instead if another local node is connected to this node (hosted on the same server).
[telemetry] Stanza Settings
The [telemetry] stanza is used to define a telemetry sequence. A telemetry sequence can be a morse code ID, morse code message, a tone sequence, or a sound file.
For clarity, the different types of telemetry methods supported are:
| Telemetry Method | Telemetry Description | 
|---|---|
| |i | Morse ID | 
| |m | Morse message | 
| |t | Tone sequence | 
| <none> | If the telemetry string does not start with a |, then the string is a path to a sound file | 
Since we are discussing courtesy tones, we will skip over the morse and voice options.
To define a telemetry sequence, you must first choose a telemetry key, then set the value for that key as follows:
mykey=|t(tone group)[(tone group)][...]
Where:
- 
mykeyis a name for the courtesy tone, known as the courtesy tone key
- 
tone groupis a way to define a single or dual tone sequence of arbitrary duration, frequency, and amplitude. There can be one or multiple tone groups for entry in the telemetry stanza
Tone Group
A tone group is a set of 4 comma separated integers formatted as follows:
(frequency1,frequency2,duration,amplitude)
- 
frequency1andfrequency2must be a number between0and3000. These specify the tone frequency in Hz
- 
durationis the tone on time in Milliseconds
- 
amplitudeis the relative volume level of the tone or tones. This can be from0to8192
A tone group consisting of zeroes for amplitude and frequency will be sent as a silent period.
A single frequency tone can be sent by setting frequency2 to 0.
No Spaces
There must be no spaces between the commas, numbers, or the parenthesis.
Example [telemetry] Stanza
 [telemetry]
 ct1=|t(350,0,100,2048)(500,0,100,2048)(660,0,100,2048)
 ct2=|t(660,880,150,2048)
 ct3=|t(440,0,150,4096)
 ct4=|t(550,0,150,2048)
 ct5=|t(660,0,150,2048)
 ct6=|t(880,0,150,2048)
 ct7=|t(660,440,150,2048)
 ct8=|t(700,1100,150,2048)
 remotetx=|t(1633,0,50,3000)(0,0,80,0)(1209,0,50,3000)
 remotemon=|t(1209,0,50,2048)
 cmdmode=|t(900,903,200,2048)
 functcomplete=|t(1000,0,100,2048)(0,0,100,0)(1000,0,100,2048)
 patchup=rpt/callproceeding         ; play the rpt/callproceeding sound file, instead of a tone sequence
 patchdown=rpt/callterminated       ; play the rpt/callerminated sound file, instead of a tone sequence