; WARNING - THIS FILE WAS AUTOMATICALLY CONFIGURED FROM A
; TEMPLATE FILE IN   /usr/local/etc/asterisk_tpl   BY THE
; NODE-CONFIG.SH SCRIPT.
;
; EACH TIME THIS SCRIPT IS RUN, THIS FILE WILL BE OVERWRITTEN.
; IF YOU CHANGE ANYTHING IN THIS FILE AND RUN THE NODE-CONFIG.SH
; SCRIPT, IT WILL BE LOST.
;
; IF YOU INTEND TO USE THE NODE-CONFIG.SH SCRIPT,  THEN YOU SHOULD
; MAKE MODIFICATIONS TO THE ACTUAL TEMPLATE FILES LOCATED IN
; /usr/local/etc/asterisk_tpl directory.
;
; Radio Repeater configuration file (for use with app_rpt)

; This file is shown with two local nodes. Use your editor to wholsale 
; change any mention of node 1998 to your assigned node number.
;
; Likewise do the same for node 1999 if you are using a second node.
; Node 1999 is defined as a pseudo node but could be setup as a second 
; simpleusb port.
;
; This file defaults to a simplex node (duplex=1)
;
; Lines with a ';' first character in this file are comments and
; are NOT executed.

; The first node definition

[28163]	; Change this to your assigned node number 

; Channel Driver settings
				; Define a channel driver to use and which
				; interface within that channel driver
				; To define a radioless node use the
				; psuedo channel driver - rxchannel=dahdi/pseudo
;rxchannel=Radio/usb28163
				; Example usbradio channel driver
rxchannel=SimpleUSB/usb
				; Example simpleusb channel driver	
;rxchannel=dahdi/pseudo
                                ; Example pseudo channel driver


; Repeater/Simplex node settings
				; duplex=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. 

				; duplex=1 - Half duplex with telemetry tones
				; and hang time. Does not repeat audio.
				; This mode is preferred when interfacing a
				; simplex node. 

				; duplex=2 - Full Duplex with telemetry tones
				; and hang time. This mode is preferred when
				; interfacing a repeater. 

				; duplex=3 - Full Duplex with telemetry tones
				; and hang time, but no repeated audio. 
				; duplex=4 - Full Duplex with telemetry tones
				; and hang time. Repeated audio only when the
				; autopatch is down. 
duplex=2

; Context mapping
 
controlstates=controlstates
				; Defines groups of control operator commands
				; to be executed all at once. Can be combined
				; with macros to allow changes to a nodes
				; operating mode to be made quickly.

scheduler=schedule28163	
				; Defines macros to be executed at a specific
				; time and date. Uses a cron-like syntax

morse=morse28163		
				; Contains definitions for morse code messages.
				; One common morse stanza is shared across
				; multiple nodes

macro=macro28163		
				; Defines DTMF macro sequences

functions=functions28163	
				; Defines DTMF function digit sequences. A
				; function stanza has a reference to it defined
				; inside a node stanza. Multiple function stanzas
				; may be defined and used to provide different
				; function lists for different sources
				; (radio.phone, and link)

phone_functions=functions28163
link_functions=functions28163

telemetry=telemetry	
				; Contains definitions for telemetry tones
				; (courtesy tones, roger beeps, etc). A telemetry
				; stanza has a reference to it defined inside
				; a node stanza.

wait_times=wait-times28163
				; Contains time delays used to time audio
				; telemetry events


; Echolink settings

erxgain=-3
				; Echoline RX gain in dB
etxgain=3
				; Echolink TX gain in dB
;eannmode=1
				; Echolink announcement mode
				; Default: 1 = Say only node number on echolink
				; connects. 2 = say phonetic call sign only on
				; echolink connects. 3 = say phonetic call sign
				; and node number on echolink connects


; Audio Level settings in dB

telemnomdb=0
				; Overall reduction in telemetry level
telemduckdb=-9
				; Telemetry level reduction with signal

; Notch Filter

;rxnotch=1000,20
				; Apply a notch to filter the RX signal. Values are:
				; frequency, bandwidth. Up to ten filters can be cascaded.
				; Example of three cascaded filters at 1000hz
				; 20hz bandwidth: rxnotch=1000,20,1000,20,1000,20


; Dial Plan settings

context =  radio
callerid = Repeater <0000028163>
				; This setting allows the autopatch on
				; the node to be identified with a specific
				; caller ID
accountcode=RADIO


; ID settings
				; ID recording files must have extension gsm,ulaw,pcm,
				; or wav. No file extension is used.
				; All ID recording files should be sampled at 8KH

;idrecording=/etc/asterisk/local/node-id
				; Main ID voice
;idrecording=|iDE IR0UAS/L
				; Main ID CW
;idtalkover=|iDE IR0UAS/L
				; ID when signal present

idrecording=|iDE IR0UAS/L

; Time settings - milliseconds	; The default values for hangtime, tx_timeout,
				; and id interval time are ; 5 seconds (5000 ms),
				; 3 minutes (180000 ms), and 5 minutes (300000 ms)
				; respectively

hangtime=100
				; squelch tail hang time (in ms)
althangtime=100
				; This controls the length of the node hang time
				; when the alternate hang timer is selected with
				; a control operator function.
tx_timeout=240000
				; changed from totime V1.3
idtime=600000
				; ID every 10 minutes
politeid=30000
				; 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. 
rx_timeout=300000
				; Timeout on hardware COS. Used to avoid hangup
				; of circuits with COS lockup.		
rx_cosflap=20
				; Minimum COS Timeout reset period. Used to
				; avoid resseting of rx_timeout with a flapping
				; squelch. 


; Courtesy tone mapping

unlinkedct=ct2
				; Sent when not connected to another node
remotect=ct3
				; Sent when remote base connected
linkunkeyct=ct8
				; sent when a network user unkeys


; Link settings - values in seconds

;nolocallinkct=0
				; Send unlinkedct instead of linkedct if
				; another local node is connected to this
				; node (hosted on the same server).
;lnkactenable=0
				; The link activity timer may be used to reset
				; a link configuration back to a default
				; configuration if a user changes how the node
				; is linked. This helps in situations where the
				; user forgets to reset the system to the default
				; values, or drives out of range.
;lnkacttime=1800
				; This sets the amount of time to wait before
				; executing the inactivity macro. Set to a value
				; between 180 and 2000000 seconds.
;lnkactmacro=*52
				; This is the function to execute when the activity
				; timer expires. This can either be a function or
				; another macro defined in the [macros] stanza.
;lnkacttimerwarn=30seconds
				; For a 30 second warning message, set this to the
				; path of a ulaw or pcm sound file to play locally
				; when there is 30 seconds left on the activity timer.
				; Defualts to /var/lib/asterisk/sounds


; remote settings - values in seconds

;remote_inact_timeout=1800
				; Specifies the amount of time without keying
                                ; from the link. Set to 0 to disable timeout.
;remote_timeout=3600
				; Specifies the amount of time without keying from
				; the link. Set to 0 to disable timeout.


; Long Tone Zero DTMF
				; LiTZ is a simple method to indicate to others on
				; an amateur VHF / UHF FM radio frequency that you
				; have an immediate need to communicate with someone,
				; anyone, regarding a priority situation or condition.
				; This command can call any DTMF function which could
				; then call a script or program. It does not have to
				;  use the autopatch.

;litzcmd=*6911
				; Command sequnce -- Call 911 on autopatch
;litztime=3000
				; time required to hold down DTMF, defaults to 3000 ms
;litzchar=0
				; DTMF character to activate LITZ, defauls to 0


; Misc. settings

;connpgm=yourconnectprogram
				; Program or script to run at connection
;discpgm=yourdisconnectprogram
				; Program or script to run at disconnection
nounkeyct=0
				; Disable courtest tones (=1)
holdofftelem=1
				; Do not make announcements over user voice
telemdefault=2
				; 0= voice telemetry off, 1= on,
				; 2= Only your telemetry actions 
				; then mutes in 1 minute
beaconing=0
				; When set to 1 will send the repeater ID at
				; the idtime interval regardless of whether
				; there was repeater activity or not.

;funcchar = *
				; function lead-in character (defaults to '*')
;endchar = #
				; command mode end character (defaults to '#')
;nobusyout=yes
				; (optional) Do not busy-out reverse-patch when
				; normal patch in use
;notelemtx = yes
				; telemetry output does not make main
				; system transmit (optional)
;propagate_dtmf = yes
				; DTMF sent to system from link gets
				; repeated onto main system output

;propagate_phonedtmf = yes
				; DTMF sent to system from phone gets
				; repeated into main system output and
				; link outputs (optional)
;linktolink = yes
				; disables forcing physical half-duplex
				; operation of main repeater while
				; still keeping half-duplex semantics
;inxlat = #456,#457,0123456789ABCD
				; translate digit strings inbound,
				; in this case intrepret #456 as star,
				; #457 as pound, and pass all the other
				; chars listed in arg3 (optional)
;outxlat = *7,*0,0123456789#ABCD
				; translate digit string outbound,
				; in this case *7 generates star, *0
				; generates pound, and all the other
				; digits pass along

;extnodes = extnodes-different
				; section in extnodefile containing
				; dynamic node information (optional)
;extnodefile = different-file
				; file containing dynamic node
				; info (optional)
;archivedir = some-directory
				; defines and enables activity recording
				; into specified directory (optional)
;archiveaudio=0
				; Disable saving .wav files when
				; archiving. Use with caution on SDcards
				; This write a lot of data.

;startup_macro = *7
				; Macro to run at startup (optional)

; Tail Message

; The tailmessagetime,tailsquashedtime, and tailmessages need to be set
; to support tail messages. They can be omitted otherwise.
;
;tailmessagetime=1800000
				; Play a tail message every 5 mins
;tailsquashedtime=120000
				; If squashed by another user,
				; try again after 30 seconds

;tailmessagelist=/etc/asterisk/local/some_file
				;list of messages to be played for tail message


; *** Status Reporting ***

; Uncomment the following two statpost lines to report the
; status of your node to stats.allstarlink.org

statpost_program=/usr/bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null 
statpost_url=http://stats.allstarlink.org/uhandler.php ; Status updates 

; END OF FIRST NODE

; BEGIN SECOND NODE

; Second node shown as a pseudo node

[1999]	; Change this to your assigned node number 

; Channel Driver settings
				; Define a channel driver to use and which
				; interface within that channel driver
				; To define a radioless node use the
				; psuedo channel driver - rxchannel=dahdi/pseudo
;rxchannel=Radio/usb1999
				; Example usbradio channel driver
;rxchannel=SimpleUSB/usb
				; Example simpleusb channel driver	
rxchannel=dahdi/pseudo
				; Example pseudo channel driver


; Repeater/Simplex node settings
				; duplex=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. 

				; duplex=1 - Half duplex with telemetry tones
				; and hang time. Does not repeat audio.
				; This mode is preferred when interfacing a
				; simplex node. 

				; duplex=2 - Full Duplex with telemetry tones
				; and hang time. This mode is preferred when
				; interfacing a repeater. 

				; duplex=3 - Full Duplex with telemetry tones
				; and hang time, but no repeated audio. 
				; duplex=4 - Full Duplex with telemetry tones
				; and hang time. Repeated audio only when the
				; autopatch is down. 
duplex=1

; Context mapping
 
controlstates=controlstates
				; Defines groups of control operator commands
				; to be executed all at once. Can be combined
				; with macros to allow changes to a nodes
				; operating mode to be made quickly.

scheduler=schedule28163	
				; Defines macros to be executed at a specific
				; time and date. Uses a cron-like syntax

morse=morse28163		
				; Contains definitions for morse code messages.
				; One common morse stanza is shared across
				; multiple nodes

macro=macro28163		
				; Defines DTMF macro sequences

functions=functions28163	
				; Defines DTMF function digit sequences. A
				; function stanza has a reference to it defined
				; inside a node stanza. Multiple function stanzas
				; may be defined and used to provide different
				; function lists for different sources
				; (radio.phone, and link)

phone_functions=functions28163
link_functions=functions28163

telemetry=telemetry	
				; Contains definitions for telemetry tones
				; (courtesy tones, roger beeps, etc). A telemetry
				; stanza has a reference to it defined inside
				; a node stanza.

wait_times=wait-times28163
				; Contains time delays used to time audio
				; telemetry events


; Echolink settings

erxgain=-3
				; Echoline RX gain in dB
etxgain=3
				; Echolink TX gain in dB
;eannmode=1
				; Echolink announcement mode
				; Default: 1 = Say only node number on echolink
				; connects. 2 = say phonetic call sign only on
				; echolink connects. 3 = say phonetic call sign
				; and node number on echolink connects


; Audio Level settings in dB

telemnomdb=0
				; Overall reduction in telemetry level
telemduckdb=-9
				; Telemetry level reduction with signal

; Notch Filter

;rxnotch=1000,20
				; Apply a notch to filter the RX signal. Values are:
				; frequency, bandwidth. Up to ten filters can be cascaded.
				; Example of three cascaded filters at 1000hz
				; 20hz bandwidth: rxnotch=1000,20,1000,20,1000,20



; Dial Plan settings

context =  radio
callerid = Repeater <0000028163>
				; This setting allows the autopatch on
				; the node to be identified with a specific
				; caller ID
accountcode=RADIO


; ID settings
				; ID recording files must have extension gsm,ulaw,pcm,
				; or wav. No file extension is used.
				; All ID recording files should be sampled at 8KH

idrecording=/etc/asterisk/local/node-id
				; Main ID voice
;idrecording=|iDE IR0UAS/L
				; Main ID CW
idtalkover=|iDE IR0UAS/L
				; ID when signal present


; Time settings - milliseconds	; The default values for hangtime, tx_timeout,
				; and id interval time are ; 5 seconds (5000 ms),
				; 3 minutes (180000 ms), and 5 minutes (300000 ms)
				; respectively

hangtime=100
				; squelch tail hang time (in ms)
althangtime=100
				; This controls the length of the node hang time
				; when the alternate hang timer is selected with
				; a control operator function.
tx_timeout=240000
				; changed from totime V1.3
idtime=600000
				; ID every 10 minutes
politeid=30000
				; 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. 
rx_timeout=300000
				; Timeout on hardware COS. Used to avoid hangup
				; of circuits with COS lockup.		
rx_cosflap=20
				; Minimum COS Timeout reset period. Used to
				; avoid resseting of rx_timeout with a flapping
				; squelch. 


; Courtesy tone mapping

unlinkedct=ct2
				; Sent when not connected to another node
remotect=ct3
				; Sent when remote base connected
linkunkeyct=ct8
				; sent when a network user unkeys


; Link settings - values in seconds

;nolocallinkct=0
				; Send unlinkedct instead of linkedct if
				; another local node is connected to this
				; node (hosted on the same server).
;lnkactenable=0
				; The link activity timer may be used to reset
				; a link configuration back to a default
				; configuration if a user changes how the node
				; is linked. This helps in situations where the
				; user forgets to reset the system to the default
				; values, or drives out of range.
;lnkacttime=1800
				; This sets the amount of time to wait before
				; executing the inactivity macro. Set to a value
				; between 180 and 2000000 seconds.
;lnkactmacro=*52
				; This is the function to execute when the activity
				; timer expires. This can either be a function or
				; another macro defined in the [macros] stanza.
;lnkacttimerwarn=30seconds
				; For a 30 second warning message, set this to the
				; path of a ulaw or pcm sound file to play locally
				; when there is 30 seconds left on the activity timer.
				; Defualts to /var/lib/asterisk/sounds


; remote settings - values in seconds

;remote_inact_timeout=1800
				; Specifies the amount of time without keying
                                ; from the link. Set to 0 to disable timeout.
;remote_timeout=3600
				; Specifies the amount of time without keying from
				; the link. Set to 0 to disable timeout.


; Long Tone Zero DTMF
				; LiTZ is a simple method to indicate to others on
				; an amateur VHF / UHF FM radio frequency that you
				; have an immediate need to communicate with someone,
				; anyone, regarding a priority situation or condition.
				; This command can call any DTMF function which could
				; then call a script or program. It does not have to
				;  use the autopatch.

;litzcmd=*6911
				; Command sequnce -- Call 911 on autopatch
;litztime=3000
				; time required to hold down DTMF, defaults to 3000 ms
;litzchar=0
				; DTMF character to activate LITZ, defauls to 0


; Misc. settings

;connpgm=yourconnectprogram
				; Program or script to run at connection
;discpgm=yourdisconnectprogram
				; Program or script to run at disconnection
nounkeyct=0
				; Disable courtest tones (=1)
holdofftelem=1
				; Do not make announcements over user voice
telemdefault=2
				; 0= voice telemetry off, 1= on,
				; 2= Only your telemetry actions 
				; then mutes in 1 minute
beaconing=0
				; When set to 1 will send the repeater ID at
				; the idtime interval regardless of whether
				; there was repeater activity or not.

;funcchar = *
				; function lead-in character (defaults to '*')
;endchar = #
				; command mode end character (defaults to '#')
;nobusyout=yes
				; (optional) Do not busy-out reverse-patch when
				; normal patch in use
;notelemtx = yes
				; telemetry output does not make main
				; system transmit (optional)
;propagate_dtmf = yes
				; DTMF sent to system from link gets
				; repeated onto main system output

;propagate_phonedtmf = yes
				; DTMF sent to system from phone gets
				; repeated into main system output and
				; link outputs (optional)
;linktolink = yes
				; disables forcing physical half-duplex
				; operation of main repeater while
				; still keeping half-duplex semantics
;inxlat = #456,#457,0123456789ABCD
				; translate digit strings inbound,
				; in this case intrepret #456 as star,
				; #457 as pound, and pass all the other
				; chars listed in arg3 (optional)
;outxlat = *7,*0,0123456789#ABCD
				; translate digit string outbound,
				; in this case *7 generates star, *0
				; generates pound, and all the other
				; digits pass along

;extnodes = extnodes-different
				; section in extnodefile containing
				; dynamic node information (optional)
;extnodefile = different-file
				; file containing dynamic node
				; info (optional)
;archivedir = some-directory
				; defines and enables activity recording
				; into specified directory (optional)
;archiveaudio=0
				; Disable saving .wav files when
				; archiving. Use with caution on SDcards
				; This write a lot of data.

;startup_macro = *7
				; Macro to run at startup (optional)

; Tail Message

; The tailmessagetime,tailsquashedtime, and tailmessages need to be set
; to support tail messages. They can be omitted otherwise.
;
;tailmessagetime=1800000
				; Play a tail message every 5 mins
;tailsquashedtime=120000
				; If squashed by another user,
				; try again after 30 seconds

;tailmessagelist=/etc/asterisk/local/some_file
				;list of messages to be played for tail message


; *** Status Reporting ***

; Uncomment the following two statpost lines to report the
; status of your node to stats.allstarlink.org

statpost_program=/usr/bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null 
statpost_url=http://stats.allstarlink.org/uhandler.php ; Status updates 

; END OF SECOND NODE


; Morse code parameters, these are common to all repeaters.
;
[morse28163]

speed=20
frequency=800
amplitude=4096
idfrequency=750
idamplitude=1024

[controlstates]
;statenum = copcmd,[copcmd]...
0 = rptena,lnkena,apena,totena,ufena,noicd  ; Normal operation
1 = rptena,lnkdis,apdis,totena,ufdis,noice  ; Repeater only operation

[schedule28163]                                                                      
;dtmf_function =  m h dom mon dow  ; ala cron, star is implied                                                  
;1=00 * * * *   ;run macro 1 on the hour 

[functions28163]

 ; disconnect link = *1<node>
1=ilink,1
 ; monitor link = *2<node>
2=ilink,2
 ; connect link transceive = *3<node>
3=ilink,3
 ; remote command = *4<node> 
4=ilink,4
 ; execute macro = *5<macro#>
5=macro,1

 ; system status
70=ilink,5
 ;  disconnect permanently connected link = *71<node>
71=ilink,11
 ; connect link permanent monitor = *72<node>
72=ilink,12
 ; connect link permanent transceive = *73<node>
73=ilink,13
 ; play full system status
75=ilink,15
 ; disconnect all links
76=ilink,6
 ; reconnect previously disconnected links
77=ilink,16
 ; permanently monitor link – local Monitor only 
78=ilink,18

80=status,11	; ID (local)
81=status,12	; Time of Day (local)

; Say 24 hour time - change to your node
82=cmd,/usr/local/sbin/say24time.pl 28163

; Autopatch up
61=autopatchup,context=pbx_server,noct=1,farenddisconnect=1,dialtime=20000,quiet=1
; Autopatch down
0=autopatchdn

; Play a Node announcement
;920=localplay,/etc/asterisk/local/some-file

;989=cop,4
980=status,3

99=cop,6 ; PPT on, # = release

; Weather Script Functions

; Examples are shown below:
; Play local wx report, *986
;986=localplay,/tmp/wx/wxreport_ug/KMNROGER1/cur_WxRpt_ug
; Play local wx alert, *988
;988=localplay,/tmp/wx/alert/MNC171/alerts

; Example functions to call scripts
; These are commented out. Remove ';' and change function
; command and node to your choice 
; Note that halting the system remotely would require
; a power cycle to recover.
;
;A1=cmd,/usr/local/sbin/sayip.sh 28163 		; Say local IP to radio
;A3=cmd,/usr/local/sbin/saypublicip.sh 28163	; Say Public IP to radio
;B1=cmd,/usr/local/sbin/halt.sh 28163		; Halt the system (linux total shutdown)
;B3=cmd,/usr/local/sbin/reboot.sh 28163		; Reboot the system
;B6=cmd,/usr/local/sbin/astres.sh		; Restart Asterisk

; Place command macros here

[macro28163]
;Macro number = command string (ea command separated by space) -end with HASH
1=*81 *80#    ; play time and voice ID


[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) ; 2048 amplitude
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
patchdown=rpt/callterminated

;
; This section allows wait times for telemetry events to be adjusted
; A section for wait times can be defined for every repeater (node)
;

[wait-times28163]                                                                                                 
telemwait=600
idwait=600
unkeywait=800
calltermwait=2000

; Define local nodes

[nodes]
; Note, if you are using automatic updates for allstar link nodes,
; no allstar link nodes should be defined here. Only place a definition
; for your local (within your LAN) nodes, and private (off of allstar
; link) nodes here.
 
28163 = radio@127.0.0.1/28163,NONE
1999 = radio@127.0.0.1/1999,NONE

; Memories for remote bases

[memory]

;00 = 146.580,100.0,m
;01 = 147.030,103.5,m+t
;02 = 147.240,103.5,m+t
;03 = 147.765,79.7,m-t
;04 = 146.460,100.0,m
;05 = 146.550,100.0,m      


#includeifexists custom/rpt.conf
