Difference between revisions of "Rpt.conf"
Line 659: | Line 659: | ||
=Remote Base Stanza= | =Remote Base Stanza= | ||
+ | Here are [[Structure of Config Files|key/value pairs]] required to get a remote base configured properly. | ||
=Nodes Stanza= | =Nodes Stanza= |
Revision as of 18:40, 12 October 2017
Rpt.conf is where the majority of user-facing features, such as the node's CW and voice ID, DTMF commands and timers are set. The default DIAL rpt.conf is on GitHub and is well commented.
DTMF Commands
DTMF commands are placed in any one of three named stanzas. Function stanzas control access to DTMF commands that a user can issue from various control points.
- The fuctions stanza - to decode DTMF from the node's local receiver.
- The link_functions stanza - to decode DTMF from linked nodes.
- The phone_functions stanza - to decode DTMF from telephone connects.
A function stanza key/value pair has the following format:
dtmfcommand=functionclass,[functionmethod],[parameters] Where:
- dtmfcommand is a DTMF digit sequence minus the start character (usually *)
- functionclass is a string which defines what class of command; link, status or COP
- functionmethod defines the optional method number to use in the function class.
- functionoptions are one or more optional comma separated parameters which further define a command.
Status Commands
Status commands (functioncalss 'status') provide general information about the node.
Sample:
712 = status,12 ; Give Time of Day (local only)
Status | Description |
---|---|
1 | Force ID (global) |
2 | Give Time of Day (global) |
3 | Give software Version (global) |
4 | Give GPS location info |
5 | Speak the last (dtmf) user |
11 | Force ID (local only) |
12 | Give Time of Day (local only) |
Link Commands
Link commands (functioncalss 'link') connect to, disconnect from, monitor (Rx only) other nodes and give link status.
Sample:
3 = ilink,3 ; Connect specified link -- transceive
ilink | Description |
---|---|
1 | Disconnect specified link |
2 | Connect specified link -- monitor only |
3 | Connect specified link -- tranceive |
4 | Enter command mode on specified link |
5 | System status |
6 | Disconnect all links |
7 | Last Node to Key Up |
8 | Connect specified link -- local monitor only |
9 | Send Text Message (9,<destnodeno or 0 (for all)>,Message Text, etc. |
10 | Disconnect all RANGER links (except permalinks) |
11 | Disconnect a previously permanently connected link |
12 | Permanently connect specified link -- monitor only |
13 | Permanently connect specified link -- tranceive |
15 | Full system status (all nodes) |
16 | Reconnect links disconnected with "disconnect all links" |
17 | MDC test (for diag purposes) |
18 | Permanently Connect specified link -- local monitor only |
COP Commands
Control operator (functionclass 'cop') commands are privileged commands. Node admins may provide some of these to their user community based on personal preference.
Sample:
99 = cop,7 ; enable timeout timer
Some COP commands can take multiple parameters. For example this COP 48 would send #3#607 on command.
900=cop,48,#,3,#,6,0,7
COP | Description |
---|---|
1 | System warm boot |
2 | System enable |
3 | System disable |
4 | Test Tone On/Off |
5 | Dump System Variables on Console (debug) |
6 | PTT (phone mode only) |
7 | Time out timer enable |
8 | Time out timer disable |
9 | Autopatch enable |
10 | Autopatch disable |
11 | Link enable |
12 | Link disable |
13 | Query System State |
14 | Change System State |
15 | Scheduler Enable |
16 | Scheduler Disable |
17 | User functions (time, id, etc) enable |
18 | User functions (time, id, etc) disable |
19 | Select alternate hang timer |
20 | Select standard hang timer |
21 | Enable Parrot Mode |
22 | Disable Parrot Mode |
23 | Birdbath (Current Parrot Cleanup/Flush) |
24 | Flush all telemetry |
25 | Query last node un-keyed |
26 | Query all nodes keyed/unkeyed |
27 | Reset DAQ minimum on a pin |
28 | Reset DAQ maximum on a pin |
30 | Recall Memory Setting in Attached Xcvr |
31 | Channel Selector for Parallel Programmed Xcvr |
32 | Touchtone pad test: command + Digit string + # to playback all digits pressed |
33 | Local Telemetry Output Enable |
34 | Local Telemetry Output Disable |
35 | Local Telemetry Output on Demand |
36 | Foreign Link Local Output Path Enable |
37 | Foreign Link Local Output Path Disable |
38 | Foreign Link Local Output Path Follows Local Telemetry |
39 | Foreign Link Local Output Path on Demand |
42 | Echolink announce node # only |
43 | Echolink announce node Callsign only |
44 | Echolink announce node # & Callsign |
45 | Link Activity timer enable |
46 | Link Activity timer disable |
47 | Reset "Link Config Changed" Flag |
48 | Send Page Tone (Tone specs separated by parenthesis) |
49 | Disable incoming connections (control state noice) |
50 | Enable incoming connections (control state noicd) |
51 | Enable sleep mode |
52 | Disable sleep mode |
53 | Wake up from sleep |
54 | Go to sleep |
55 | Parrot Once if parrot mode is disabled |
56 | Rx CTCSS Enable |
57 | Rx CTCSS Disable |
58 | Tx CTCSS On Input only Enable |
59 | Tx CTCSS On Input only Disable |
60 | Send MDC-1200 Burst (cop,60,type,UnitID[,DestID,SubCode])
Type is 'I' for PttID, 'E' for Emergency, and 'C' for Call (SelCall or Alert), or 'SX' for STS (ststus), where X is 0-F. DestID and subcode are only specified for the 'C' type message. UnitID is the local systems UnitID. DestID is the MDC1200 ID of the radio being called, and the subcodes are as follows: Subcode '8205' is Voice Selective Call for Spectra ('Call') Subcode '8015' is Voice Selective Call for Maxtrac ('SC') or Astro-Saber('Call') Subcode '810D' is Call Alert (like Maxtrac 'CA') |
61 | Send Message to USB to control GPIO pins (cop,61,GPIO1=0[,GPIO4=1].....) |
62 | Send Message to USB to control GPIO pins, quietly (cop,62,GPIO1=0[,GPIO4=1].....) |
63 | Send pre-configred APRSTT notification (cop,63,CALL[,OVERLAYCHR]) |
64 | Send pre-configred APRSTT notification, quietly (cop,64,CALL[,OVERLAYCHR]) |
65 | Send POCSAG page (equipped channel types only) |
Node Number Stanza
The node number stanza is the first stanza in rpt.conf.
[1999] ; Replace with your assigned node number
The node number stanza contains the following key/value pairs.
althangtime=
This controls the length of the repeater hang time when the alternate hang timer is selected with a control operator function. It is specified in milliseconds.
Sample:
althangtime=4000 ; 4 seconds
beaconing=
When set to 1 will send the repeater ID at the idtime interval regardless of whether there was repeater activity or not. This feature appears to be required in the UK, but is probably illegal in the US.
Sample:
beaconing=1 ;Set to 1 to beacon. Defaults to 0
callerid=
This setting allows the autopatch on the node to be identified with a specific caller ID. The default setting is as follows
callerid="Repeater" <0000000000>
Note: The value in quotes is the name of the autopatch caller, and the numbers in angle brackets are the originating telephone number to use.
context=
This setting directs the autopatch for the node to use a specific context in extensions.conf for outgoing autopatch calls. The default is to specify a context name of radio.
context=radio
controlstates=
This setting defines the name of the variable named control state stanza. Control states are an optional feature which allows groups of control operator commands to be executed all at once. To use control states, define an entry in your node stanzas to point to a dedicated control state stanza like this:
controlstates = controlstates ; points to control state stanza [controlstates] 0 = rptena,lnkena,apena,totena,ufena,noicd ; Normal operation 1 = rptena,lnkena,apdis,totdis,ufena,noice ; Net and news operation 2 = rptena,lnkdis,apdis,totena,ufdis,noice ; Repeater only operation
The control state stanza (below) describes these mnemonics.
duplex=
The duplex key/value pairs sets the duplex mode for desired radio operation. Duplex mode 2 is the default if none specified.
Duplex Mode | Description |
---|---|
0 | Half duplex with no telemetry tones or hang time. Special Case: Full duplex if linktolink is set to yes. This mode is preferred when interfacing with an external multiport repeater controller. Comment out idrecording and idtalkover to suppress IDs. |
1 | Half duplex with telemetry tones and hang time. Does not repeat audio. This mode is preferred when interfacing a simplex node. |
2 | Full Duplex with telemetry tones and hang time. This mode is preferred when interfacing a repeater. |
3 | Full Duplex with telemetry tones and hang time, but no repeated audio. |
4 | Full Duplex with telemetry tones and hang time. Repeated audio only when the autopatch is down. |
Sample:
duplex = 0 ; 0 = Half duplex with no telemetry tones or hang time.
endchar=
This setting allows the end character used by some control functions to be changed. By default this is a #. The endchar value must not be the same as the funcchar default or overridden value.
erxgain=
Echolink receive gain adjustment in +/- db-volts. Used to balance Echolink recieve audio on an app_rpt node.
erxgain = -3
See Echolink How to
etxgain=
Echolink transmit gain adjustment in +/- db-volts. Used to balance Echolink transmit audio on an app_rpt node.
etxgain = 3
See Echolink How to
funcchar=
This setting can be used to change the default function starting character of * to something else. Please note that the new value chosen must not be the same as the default or overridden value for endchar=.
functions=
This names (points to) the function stanza.
Sample:
functions = functionsUHF ; pointer to 440 repeater functions stanza
hangtime=
This controls the length of the repeater hang time. It is specified in milliseconds.
Sample:
hangtime = 1000 ;Set hang time for 1 second
holdofftelem=
This node stanza configuration key forces all telemetry to be held off until a local user on the receiver or a remote user over a link unkeys. There is one exception to this behavior: When an ID needs to be sent and there is activity coming from a linked node.
Sample:
holdofftelem = 1 ;Set to 1 to hold off. Default is 0
idrecording=
The identifier message is stored in the node stanza using the idrecording key. It can be changed to a different call sign by changing the value to something different. The value can be either a morse code identification string prefixed with |i, or the name of a sound file containing a voice identification message. When using a sound file, the default path for the sound file is /var/lib/asterisk/sounds.
Sample:
idrecording = |iwa6zft/r ; Morse Code ID
or
idrecording = /var/lib/asterisk/sounds/myid ; Voice ID
Note: ID recording files must have extension gsm,ulaw,pcm, or wav. The extension is left off when it is defined as the example shows above. File extensions are used by Asterisk to determine how to decode the file. All ID recording files should be sampled at 8KHz. See Recording audio files
idtalkover=
The ID talkover message is stored in the node stanza using the idtalkover setting. The purpose of idtalkover is to specify an alternate ID to use when the ID must be sent over the top of a user transmission, This can be a shorter voice ID or an ID in morse code. The value can be either a morse code identification string prefixed with |i, or the name of a sound file containing a voice identification message. When using a sound file, the default path for the sound file is /var/lib/asterisk/sounds. Example usages are as follows:
Sample:
idtalkover = |iwa6zft/r ; Morse Code ID
or
idtalkover = /var/lib/asterisk/sounds/myid ; Voice ID
Note: ID recording files must have extension gsm,ulaw,pcm, or wav. The extension is left off when it is defined as the example shows above. File extensions are used by Asterisk to determine how to decode the file. All ID recording files should be sampled at 8KHz. See Recording audio files
inxlat=
The inxlat setting allows complete remapping of the funcchar and endchar digits to different digits or digit sequences. inxlat acts on the digits received by the radio receiver on the node.
Format: inxlat = funchars,endchars,passchars,dialtone
where:
- funcchars is the digit or digit sequence to replace funcchar
- endchars is the digit or digit sequence to replace endchar
- passchars are the digits to pass through (can be used to block certain digits)
- dialtone is optional. Set to Y for dial tone on successful funcchars.
Sample:
inxlat = #56,#57,0123456789ABCD ; string xlat from radio port to sys
link_functions=
This names (points to) the link_functions stanza.
The link_functions setting directs the node to use a particular function stanza for functions dialed by users accessing the node via a link from another node. The traditional default is to point it to a function stanza named "functions".
Sample:
link_functions = functions ; pointer to the Link Function stanza
linkmongain=
Link Monitor Gain adjusts the audio level of monitored nodes when a signal from another node or the local receiver is received. If linkmongain is set to a negative number the monitored audio will decrease by the set amount in db. If linkmongain set to a positive number monitored audio will increase by the set amount in db. The value of linkmongain is in db. The default value is 0 db.
Sample:
linkmongain = -20 ; reduce link volume 20dB
linktolink=
When operating in duplex mode 0, this forces the radio interface to operate in full duplex mode, but keeps all the other duplex mode 0 semantics. This is used when a radio interface is connected to a multiport analog repeater controller. The linktolink= key can take two values: yes or no.
Sample:
linktolink = yes ; set to yes to enable. Default is no.
linkunkeyct=
The linkunkeyct setting selects the courtesy tone to send when a connected remote node unkeys. The default is no courtesy tone when a remote node unkeys.
Sample:
linkunkeyct = ct8 ; use courtesy tone 8
macro=
The marco key/value points to by the Macro Stanza key/value pair. Macros are DTMF shortcuts.
Sample:
macro=macro ; use stanza names 'macros' [macro] 1 = *32000*32001 ; connect to nodes 2000 and 2001
nounkeyct=
The nounkeyct node stanza key completely disables the courtesy tone. This is useful for eliminating TX time in applications using simplex uplinks to repeaters on the repeater pair itself. This practice is strongly discouraged.
Sample:
nounkeyct = yes ; :(
politeid=
The politeid setting specified the number of milliseconds prior to the end of the id cycle where the controller will attempt to play the ID in the tail when a user unkeys. If the controller does not get a chance to send the ID in the tail, the ID will be played over the top of the user transmission. Optional, default 30000.
Sample:
politeid = 30000 ; 30 seconds
propagate_dtmf=
Takes either yes or no. When set to yes, DTMF will be regenerated from out-of-band signalling or from from the receiver dtmf decoder whenever a function start character is NOT detected and command decoding has not begun. When set to no, no tones will be regenerated. The default for this setting is no. This setting is meant to be used in conjunction with linktolink, inxlat, and outxlat when interfacing a radio port to a multiport analog repeater controller on an RF-linked system.
Sample:
propagate_dtmf = no
Note: There is a separate setting propagate_phonedtmf for use by dial-in (phone and dphone) users.
remotect=
The remotect setting allows the selection of the remote linked courtesy tone so that the users can tell there is a remote base connected locally.
Sample:
remotect = ct3 ; use courtesy tone 3
rxburstfreq=
If rx tone burst operation is desired, specify the frequency in hertz of the desired tone burst. Setting to 0 (or not specifying) indicates no tone burst operation.
Sample:
rxburstfreq = 1000
rxburstthreshold=
In rx toneburst mode, specifies the minimum signal to noise ratio in db that qualifies a valid tone. Defaults to 16 (db).
rxbursttime=
For rx toneburst operation, specifies minimum amount of time that tone needs to be valid for recognition (in milliseconds). Defaults to 250.
rxchannel=
The rxchannel key/value pair selects the radio interface. There must be one (and only one) rxchannel per node. The selections are:
Value | Description |
---|---|
dahdi/pseudo | No radio, used for hubs |
SimpleUSB/usb_1999 | SimpleUSB (limited DSP) |
Radio/usb_1999 | USBRadio (full DSP) |
voter/1990 | RTCM |
Pi/1 | Raspberry Pi PiTA |
Dahdi/1 | PCI Quad card |
Beagle/1 | BeagleBoard |
USRP/127.0.0.1:34001:32001 | GNU Radio interface USRP |
Sample:
rxchannel = dahdi/pseudo ; No radio (hub)
Note: This is selecting what is known as (in Asterisk terminology) the channel driver.
sleeptime=
This sets the inactivity period in seconds for no signal on the repeater receiver before the system goes to sleep.
Sample:
sleeptime = 300 ; go to sleep after 5 mins of no activity
startup_macro=
The startup_macro is executed once on system startup. Each node can have one startup macro defined in its node stanza.
Sample:
startup_macro = *31000*31001*31002 ; Connect to 1000, 1001 and 1002 at startup
tailmessagelist=
The tailmessagelist setting allows a comma separated list of audio files to be specified for the tail message function. The tail messages will rotate from one to the next until the end of the list is reached at which point the first message in the list will be selected. If no absolute path name is specified, the directory var/lib/asterisk/sounds will be searched for the sound file. The file extension should be omitted.
Sample:
tailmessagelist = welcome,clubmeeting,wx ; rotate 3 tail messages
Note: ID recording files must have extension gsm,ulaw,pcm, or wav. The extension is left off when it is defined as the example shows above. File extensions are used by Asterisk to determine how to decode the file. All ID recording files should be sampled at 8KHz. See Recording audio files
tailmessagetime=
This sets the amount of time in milliseconds between tail messages. Tail Messages are played when a user unkeys on the repeater input at the point where the hang timer expires after the courtesy tone is sent.
Sample:
tailmessagetime = 900000 ; 15 minutes between tail messages
tailsquashedtime=
If a tail message is "squashed" by a user keying up over the top of it, a separate time value can be loaded to make the tail message be retried at a shorter time interval than the standard tailmessagetime= setting. The tailsquashedtime= setting takes a value in milliseconds.
Sample:
tailsquashedtime = 300000 ; 5 minutes
totime=
This defines the time out timer interval. The value is in milliseconds.
Sample:
totime = 180000 ; 3 minutes
unlinkedct=
The unlinkedct setting selects the courtesy tone to be used when the system has no remote nodes connected and is operating as a standalone repeater.
Sample:
unlinkedct = ct2 ; use courtesy tone 2
Functions Stanza
The functions stanza is a named stanza pointed to by the function= key/value pair. Functions within this stanza are used to decode DTMF commands when accessing the node from its receiver. This stanza is typically named 'functions'.
Sample:
functions = functions ; name the functions stanza 'functions' [functions] ...
See DTMF Commands for the list of functions available.
Link Functions Stanza
The link functions stanza is a named stanza pointed to by the link_function= key/value pair. Functions within this stanza are used decode DTMF commands when accessing the node via a link from another node. The traditional usage is to point link_functions= to the same stanza as named by functions= thereby having functions from a linked node and from the local node the same.
Sample:
functions = functions ; name the functions stanza 'functions' link_functions = functions ; use the same stanza [functions] ...
If a different set of either limited or more capable functions is desired:
functions = functions ; name the functions stanza 'functions' link_functions = my_link_functions ; use a different stanza [functions] ... [my_link_functions] ...
See DTMF Commands for the list of functions available.
Phone Functions Stanza
The phone functions stanza is a named stanza pointed to by the phone_function= key/value pair. Functions within this stanza are used decode DTMF commands when accessing the node from a telephone. The traditional usage is to point phone_functions= to the same stanza as named by functions= thereby having functions from a phone and from the local node the same.
Sample:
functions = functions ; name the functions stanza 'functions' phone_functions = functions ; use the same stanza [functions] ...
If a different set of either limited or more capable functions is desired:
functions = functions ; name the functions stanza 'functions' phone_functions = my_phone_functions ; use a different stanza [functions] ... [my_phone_functions] ...
See DTMF Commands for the list of functions available.
Macro Stanza
The marco stanza is named stanza pointed to by the macro= key/value pair. Macros are DTMF shortcuts.
Sample:
macro=macro ; use stanza names 'macros' [macro] 1 = *32000*32001 ; connect to nodes 2000 and 2001
Remote Base Stanza
Here are key/value pairs required to get a remote base configured properly.
Nodes Stanza
[nodes]
Telemetry Stanza
Morse Stanza
Wait Times Stanza
Memory Stanza
Control States Stanza
There are several predefined nmemonics (keywords) used in the control state stanza to enable and disable the various features of the controller. These nmemonics correspond to the control operator command to be executed and most of these are the same groups of letters sent back when a single control operator command is executed on the controller.
Nmemonic | Description | COP Method |
---|---|---|
rptena | Repeater Enable | 2 |
rptdis | Repeater Disable | 3 |
totena | Timeout Timer Enable | 7 |
totdis | Timeout Timer Disable | 8 |
apena | Autopatch Enable | 9 |
apdis | Autopatch Disable | 10 |
lnkena | Link Enable | 11 |
lnkdis | Link Disable | 12 |
skena | Scheduler Enable | 15 |
skdis | Scheduler Disable | 16 |
ufena | User Functions Enable | 17 |
ufdis | User Functions Disable | 18 |
atena | Alternate Hangtime Enable | 19 |
atdis | Alternate Hangtime Disable | 20 |
noice | No Incoming Connections Enable | 49 |
noicd | No Incoming Connections Disable | 50 |
slpen | Sleep Mode Enable | 51 |
slpds | Sleep Mode Disable | 52 |