Date   

MMDVM_Bridge, Analog_Bridge and MD380-emu do not start anymore automatically

Alejandro Pereida
 

All was working fine ASL<==>DMR no issues, after a Rpi4 reboot only ASL comes up fine but the other 3 programs do not,
I can run them manually no problem but not using the systemctl anymore, the errors are:

On MMDVM_Bridge: A dependency job for mmdvm_bridge.service failed. See 'journalctl -xe' for details.
On Analog_Bridge:    A dependency job for analog_bridge.service failed. See 'journalctl -xe' for details.
On md380-emu:        Job for md380-emu.service failed because the control process exited with error code.
                                  See "systemctl status md380-emu.service" and "journalctl -xe" for details.
I also noticed that /var/log is full: log2ram          40M   40M     0 100% /var/log
I manually deleted the /var/log/dvswitch file and then I was able to run the systemctl start mmdvm_bridge and the other two is this normal? or the dvswitch log is supposed  to have a size limit?

Thanks

Alex N2IX /XE2BSS


Re: Missing package

Steve N4IRS
 

The configuration info in that document can still be use. The better you actually understand what you are doing, the better you can adapt to updates.
The process to build a AllStar <-> digital bridge has become somewhat easier:

From a fresh install of a Debian based OS running as root (sudo -s)

apt update
apt upgrade -y
# if anything was installed then reboot
wget http://dvswitch.org/buster
chmod +x buster
./buster
# When finished:
apt install dvswitch-server
apt install allstar

Configure your AllStar node
Configure DVSwitch Server

Test your bridge.



On 4/16/22 19:08, Kevin Halton wrote:
Steve,

I do not see those directions in the document I have and used in numerous times in the past, maybe outdated at this point?


Re: Missing package

Kevin Halton
 

Steve,

I do not see those directions in the document I have and used in numerous times in the past, maybe outdated at this point?


Re: Missing package

Steve N4IRS
 

Kevin,
You partially installed the repositories for AllStarLink, not dvswitch.

For DVSwitch Server:
wget http://dvswitch.org/buster
chmod +x buster
./buster

When complete:
apt install dvswitch-server

Steve N4IRS

On 4/16/22 18:40, Kevin Halton wrote:
Running on a 25gb NVMe VM, 1 cpu, 1gb memory, and 2tb bandwidth in the cloud with Debian9

I ran  apt-get update prior to install 

just tried again and I get this error, not 100% it was not there prior and the old eyes failed me?

/etc/asterisk# apt-get update
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Get:4 http://apt.allstarlink.org/repos/asl_builds buster InRelease [7,392 B]
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://apt.allstarlink.org/repos/asl_builds buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
W: Failed to fetch http://apt.allstarlink.org/repos/asl_builds/dists/buster/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
W: Some index files failed to download. They have been ignored, or old ones used instead.




Re: Missing package

Kevin Halton
 

Running on a 25gb NVMe VM, 1 cpu, 1gb memory, and 2tb bandwidth in the cloud with Debian9

I ran  apt-get update prior to install 

just tried again and I get this error, not 100% it was not there prior and the old eyes failed me?

/etc/asterisk# apt-get update
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Get:4 http://apt.allstarlink.org/repos/asl_builds buster InRelease [7,392 B]
Err:4 http://apt.allstarlink.org/repos/asl_builds buster InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://apt.allstarlink.org/repos/asl_builds buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
W: Failed to fetch http://apt.allstarlink.org/repos/asl_builds/dists/buster/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
W: Some index files failed to download. They have been ignored, or old ones used instead.



Re: Missing package

Steve N4IRS
 

What hardware are you running?
What OS and version?

Please show what did before apt install.


Steve N4IRS

On 4/16/22 18:23, Kevin Halton wrote:
I am attempting to start up an ASL-DMR bridge to link to a private dmr talkgroup. I am stuck when I run apt-get install dvswitch -y, I get this error,;     
apt-get install dvswitch -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package dvswitch

I went back and rechecked the step by step directions but end up with the same error. 

Any suggestions?


Missing package

Kevin Halton
 

I am attempting to start up an ASL-DMR bridge to link to a private dmr talkgroup. I am stuck when I run apt-get install dvswitch -y, I get this error,;     
apt-get install dvswitch -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package dvswitch

I went back and rechecked the step by step directions but end up with the same error. 

Any suggestions?


Re: how to install DVSwitch server on Hamvoip AllStar version install

IK7VXC Mike
 

Darn, how have I missed that?! Thanks Steve
--
IK7VXC Mike


Re: how to install DVSwitch server on Hamvoip AllStar version install

Steve N4IRS
 

Yes it does. Read the link I posted.

On 2/17/22 01:22, IK7VXC Mike wrote:
Thanks Steve. Done that. The Monit page asks for user and password. 
--
IK7VXC Mike


Re: how to install DVSwitch server on Hamvoip AllStar version install

IK7VXC Mike
 

Thanks Steve. Done that. The Monit page asks for user and password. 
--
IK7VXC Mike


Re: how to install DVSwitch server on Hamvoip AllStar version install

Steve N4IRS
 

On 2/16/2022 2:57 PM, IK7VXC Mike wrote:
Hi  I wish to install Dvswitch server on my raspberry where there is already a Hamvoip AllStar install.

What are the right commands I should issue?
Thank you
--
IK7VXC Mike


how to install DVSwitch server on Hamvoip AllStar version install

IK7VXC Mike
 

Hi  I wish to install Dvswitch server on my raspberry where there is already a Hamvoip AllStar install.

What are the right commands I should issue?
Thank you
--
IK7VXC Mike


Re: Linked 2m Repeaters - Rehash

Brad N8PC
 

you can just set allstar as a hub on the main site and others as a node linked to it. no problem


Linked 2m Repeaters - Rehash

jacomms
 

Hi guys

This is more of a guidance question with the hope of a push in the right direction.
Our club has 3 main sites I look after which are normally linked via either IP or RF but the time has come to rehash the 3 main sites & bring some simplex satellite nodes online for remote coverage.  
The plan is to use something like AllStarLink as the linking/access method.
My questions are :

Do I run a central server and have all sites connect to it like a Private DMR Server
or 
Do I point all the clients to VK2RGN (as per the drawing)?

I am more that happy to run a server in one of my racks with 1Gbit fibre connection available and point dynamic clients to it.

What hardware are you guys running for this type of interface?  All the Simplex nodes are Motorola GM3xx series radios.

Im open to any feedback :-)

'73

Justin
VK2JUZ 


Re: DVS Server No IP

David KG5RDF
 

Thank you, I am assuming apache2 is for allmon2 and not Allstar?  I  have zero plans on using it for DVSwitch server. I will move forward less apache2 on this new install. Its good to know, if I ever plan to use it in the future. 

Thanks again!

David KG5RDF


Re: DVS Server No IP

Michael - N5ZR
 

It appears apache2 is running on that server.  Lighttp will not start unless you are running it on a non-standard port.

 

Your USRP has port 31001 for both RX and TX.  Since this is running on the same machine, RX and TX will need to be different since only 1 app can listen to the port at a time.

This will need to be changed in the Analog_Bridge config too.

 

 

-Michael

 

From: DVSwitch-AllStar@DVSwitch.groups.io <DVSwitch-AllStar@DVSwitch.groups.io> On Behalf Of David KG5RDF
Sent: Thursday, September 2, 2021 9:24 PM
To: DVSwitch-AllStar@DVSwitch.groups.io
Subject: [DVSwitch-AllStar] DVS Server No IP

 

I have been trying to create another DVSwitch Server on a Virmach machine. Loaded the machine as I did with the prior implementation. Lighttpd is installed. Server has no ip address. The allstar node connects to other nodes and MMDVM Bridge is register on BM, but audio does not pass and no Dashboard. Any help would be appreciated. Log files attached.

Thanks David KG5RDF


Re: DVS Server No IP

Steve N4IRS
 

Not that I know of.

Sent by smoke signal (AT&T)


From: DVSwitch-AllStar@DVSwitch.groups.io <DVSwitch-AllStar@DVSwitch.groups.io> on behalf of David KG5RDF <Kg5rdf@...>
Sent: Friday, September 3, 2021 12:17:38 AM
To: DVSwitch-AllStar@DVSwitch.groups.io <DVSwitch-AllStar@DVSwitch.groups.io>
Subject: Re: [DVSwitch-AllStar] DVS Server No IP
 
I reload another server and only install DVSwitch. Dashboard came right up. Is there a known issue with Allstar new beta and DVSwitch before I add ASL? 


Re: DVS Server No IP

David KG5RDF
 

I reload another server and only install DVSwitch. Dashboard came right up. Is there a known issue with Allstar new beta and DVSwitch before I add ASL? 


DVS Server No IP

David KG5RDF
 

I have been trying to create another DVSwitch Server on a Virmach machine. Loaded the machine as I did with the prior implementation. Lighttpd is installed. Server has no ip address. The allstar node connects to other nodes and MMDVM Bridge is register on BM, but audio does not pass and no Dashboard. Any help would be appreciated. Log files attached.

Thanks David KG5RDF


Re: Analog Bridge Questions

Chip N3FUD
 

Off the top of my head, your USRP ports don't line up between rpt.conf and ab.ini.  

Chip N3FUD

On Mon, Aug 30, 2021, 15:38 Tito Lopez - YN1OB <OBUSTOS01@...> wrote:
MMDVM.ini

[General]
Callsign=YN1OB
Id=710100211
Timeout=180
Duplex=0
 
[Info]
RXFrequency=147710000
TXFrequency=147710000
Power=1
Latitude=41.7333
Longitude=-50.3999
Height=0
Location=Cloud Nica
Description=MMDVM_Bridge
 
[Log]
# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=MMDVM_Bridge
 
[DMR Id Lookup]
File=/var/lib/mmdvm/DMRIds.dat
Time=24
 
[NXDN Id Lookup]
File=/var/lib/mmdvm/NXDN.csv
Time=24
 
[Modem]
Port=/dev/null
RSSIMappingFile=/dev/null
Trace=0
Debug=0
 
[D-Star]
Enable=0
Module=B
 
[DMR]
Enable=1
ColorCode=1
EmbeddedLCOnly=1
DumpTAData=0
 
[System Fusion]
Enable=1
 
[P25]
Enable=0
NAC=293
 
[NXDN]
Enable=0
RAN=1
Id=
 
[D-Star Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=20010
LocalPort=20011
Debug=0
 
[DMR Network]
Enable=1
Address=207.246.76.153
Port=62031
Jitter=360
Local=62032
Password=passw0rd
# for XLX the syntax is: Options=XLX:4009
# Options=
Slot1=0
Slot2=1
Debug=0
 
[System Fusion Network]
Enable=1
LocalAddress=0
LocalPort=3200
GatewayAddress=192.227.231.172
GatewayPort=42000
Debug=0
 
[P25 Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=42020
LocalPort=32010
Debug=0
 
[NXDN Network]
Enable=0
#LocalAddress=127.0.0.1
Debug=0
LocalPort=14021
GatewayAddress=127.0.0.1
GatewayPort=14020


AB.ini

; Analog_Bridge configuration file.
;   This file should be placed in either /etc or it can be
;   supplied as a path on the Analog_Bridge command line.
 
; The best way to think of this file is that there are two main sections, the USRP (analog audio) and
; AMBE_AUDIO (compressed audio).  Analog_Bridge will take everything sent to the USRP port and
; encode it for transmission on the AMBE_AUDIO port.  The encoder will use the format defined in ambeMode.
; As you might expect, the reverse direction is defined too.
 
; Analog_Bridge supports include files. More on this later...
include = dvsm.macro
; include = asl.macro
 
; General Section describes settings for Analog_Bridge itself.
[GENERAL]
logLevel = 2                            ; Show messages and above 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
 
; Metadata management
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)
transferRootDir = /tmp ; Export database files to USRP partner
subscriberFile = /var/lib/dvswitch/subscriber_ids.csv   ; DMR ID to callsign lookup data
 
; General vocoder setup information
decoderFallBack = true                  ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = true                      ; Use the MD380 AMBE emulator for AMBE72 (DMR/YSFN/NXDN)
emulatorAddress = 127.0.0.1:2470        ; IP address and port of the md380 server
 
pcmPort = 2222                          ; UDP port to send to the WebProxy
 
; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31103                         ; Transmit TLV frames to partner on this port
rxPort = 31100                          ; Listen for TLV frames from partner on this port
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2500                      ; Analog -> Digital Minimum time in MS for hang delay (0-10000)
 
; The metadata below is used when ASL is the source since it does not have any concept of digital modes
gatewayDmrId = 7101002                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 710100211                  ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = 710                                ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 54010                          ; Transmit USRP frames on this port
rxPort = 54010                          ; Listen for USRP frames on this port
usrpAudio = AUDIO_USE_GAIN              ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 4.00                         ; Gain factor when usrpAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
usrpAGC = -20,10,100                    ; Set the agc threshold (db), slope (db) and decay (ms)
tlvAudio = AUDIO_USE_GAIN               ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 0.25                          ; Gain factor when tlvAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
 
[MACROS]
 
; Where the macros are
; xxxx=yyyy
; xxxx is the dial string to match
; yyyy is the command line to execute
 
; xxxx must be preceded by a *
; xxxx can be any string (alphanumeric)
; yyyy is the command to execute
; yyyy will replace xxxx in the dial string
; arguments follow the macro name with a # delimiter
 
; For example using macro "5678" above would look like:
; *5678#9876
 
; Which would invoke:
; echo 9876
 
; Information for DV3000 hardware decoder
;   There are two configuration modes: IP (AMBEServer) and serial (direct connect hardware)
;   Use top server and port if using AMBEServer
;   Use bottom server/port and serial = true if using the DV3000u (thumbdv)
;   Did you run AMBETest4.py before using this?
[DV3000]
; address = 127.0.0.1                 ; IP address of AMBEServer
; rxPort = 2460                       ; Port of AMBEServer
; address = /dev/ttyUSB0              ; Device of DV3000U on this machine
; baud = 460800                       ; Baud rate of the dongle (230400 or 460800)
; serial = true                       ; Use serial=true for direct connect or serial=false for AMBEServer


Rpt.conf

; Radio Repeater configuration file (for use with app_rpt)
 
 
; Your Repeater
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
[1441]
rxchannel = USRP/127.0.0.1:34001:32001  ; Use the USRP channel driver. Must be enabled in modules.conf
                                        ; 127.0.0.1 = IP of the target application
                                        ; 34001 = UDP port the target application is listening on
                                        ; 32001 = UDP port ASL is listening on
 
duplex = 0                              ; 0 = Half duplex with no telemetry tones or hang time. Ah, but Allison STILL talks!
 
hangtime = 0                            ; squelch tail hang time 0
althangtime = 0                         ; longer squelch tail hang time 0
 
holdofftelem = 1                        ; Hold off all telemetry when signal is present on receiver or from connected nodes
                                        ; except when an ID needs to be done and there is a signal coming from a connected node.
 
telemdefault = 0                        ; 0 = telemetry output off. Don't send Allison to DMR !!!!!!!!!!!!!!!!! Trust me.
 
telemdynamic = 0                        ; 0 = disallow users to change the local telemetry setting with a COP command,
 
linktolink = no                         ; disables forcing physical half-duplex operation of main repeater while
                                        ; still keeping half-duplex semantics (optional)
 
nounkeyct = 1                           ; Set to a 1 to eliminate courtesy tones and associated delays.
 
totime = 180000                         ; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)
 
idrecording = |ie                       ; id recording or morse string see http://ohnosec.org/drupal/node/87
idtalkover = |ie                        ; Talkover ID (optional) default is none see http://ohnosec.org/drupal/node/129
 
 
[294130] ; Change this to your assigned node number 
 
                                        ; Must also be enabled in modules.conf
; Rx audio/signalling channel. Choose ONLY 1 per node stanza
 
; Enable the selected channel driver in modules.conf !!!
rxchannel = dahdi/pseudo         ; No radio (hub)
; rxchannel = SimpleUSB/usb_294130 ; SimpleUSB 
; rxchannel = Pi/1                      ; Raspberry Pi PiTA 
; rxchannel = Radio/usb_294130 ; USBRadio (DSP) 
; rxchannel = Dahdi/1 ; PCI Quad card 
; rxchannel = Beagle/1 ; BeagleBoard 
; rxchannel = USRP/127.0.0.1:34001:32001; Use the USRP channel driver. Must be enabled in modules.conf
; 127.0.0.1 = IP of the target application
; 34001 = UDP port the target application is listening on
; 32001 = UDP port Asterisk is listening on
 
duplex = 1                              ; 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 also
                                        ; 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.
 
linktolink = no ; disables forcing physical half-duplex operation of main repeater while
; still keeping half-duplex semantics (optional)
 
linkmongain = 0 ; 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.
 
erxgain = -3 ; Echolink receive gain adjustment
; Note: Gain is in db-volts (20logVI/VO)
etxgain = 3 ; Echolink transmit gain adjustment
; Note: Gain is in db-volts (20logVI/VO)
;eannmode = 1                           ; 1 = Say only node number on echolink connects (default = 1)
                                        ; 2 = say phonetic call sign only on echolink connects
                                        ; 3 = say phonetic call sign and node number on echolink connects
 
;controlstates = controlstates ; system control state stanza
 
scheduler = schedule ; scheduler stanza
functions = functions ; Repeater Function stanza
phone_functions = functions ; Phone Function stanza
link_functions = functions ; Link Function stanza
 
telemetry = telemetry ; Telemetry stanza
morse = morse ; Morse stanza
wait_times = wait-times ; Wait times stanza
 
context = radio ; dialing context for phone
callerid = "Repeater" <0000000000> ; callerid for phone calls
accountcode = RADIO                     ; account code (optional)
 
hangtime = 5000 ; squelch tail hang time (in ms) (optional, default 5 seconds, 5000 ms)
althangtime = 4000 ; longer squelch tail
totime = 180000 ; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)
 
idrecording = |i YN1OB ; Main ID message
idtalkover = |i YN1OB ; Talkover ID message
; See Telemetry section Example: idrecording = rpt/nodenames/294130
idtime = 540000 ; id interval time (in ms) (optional) Default 5 minutes (300000 ms)
politeid = 30000 ; time in milliseconds before ID timer expires to try and ID in the tail. (optional, default 30000)
 
unlinkedct = ct2 ; Send a this courtesy tone when the user unkeys 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 unkeys
;nolocallinkct = 0 ; Send unlinkedct instead if another local node is connected to this node (hosted on the same PC).
 
;connpgm = yourconnectprogram ; Disabled. Execute a program you specify on connect. (default)
; passes 2 command line arguments to your program: 
; 1. node number in this stanza (us)
; 2. node number being connected to us (them)
;discpgm = yourdisconnectprogram ; Disabled. Execute a program you specify on disconnect. (default)
; passes 2 command line arguments to your program: 
; 1. node number in this stanza (us)
; 2. node number being disconnected from us (them)
 
;lnkactenable = 0 ; Set to 1 to enable the link activity timer. Applicable to standard nodes only.
 
;lnkacttime = 1800 ; Link activity timer time in seconds.
;lnkactmacro = *52 ; Function to execute when link activity timer expires.
;lnkacttimerwarn = 30seconds ; Message to play when the link activity timer has 30 seconds left.
 
;remote_inact_timeout = ; Specifies the amount of time without keying from the link. Set to 0 to disable timeout. (15 * 60)
;remote_timeout = ; Session time out for remote base. Set to 0 to disable. (60 * 60)
;remote_timeout_warning_freq = ; 30
;remote_timeout_warning = ; (3 * 60) 
 
;nounkeyct = 0 ; Set to a 1 to eliminate courtesy tones and associated delays.
 
holdofftelem = 0 ; Hold off all telemetry when signal is present on receiver or from connected nodes
; except when an ID needs to be done and there is a signal coming from a connected node.
 
telemdefault = 1                        ; 0 = telemetry output off
                                        ; 1 = telemetry output on (default = 1)
                                        ; 2 = timed telemetry output on command execution and for a short time thereafter.
 
telemdynamic = 1                        ; 0 = disallow users to change the local telemetry setting with a COP command,
                                        ; 1 = Allow users to change the setting with a COP command. (default = 1)
 
;beaconing = 0 ; Send ID regardless of repeater activity (Required in the UK, but probably illegal in the US)
 
parrotmode = 0 ; 0 = Parrot Off (default = 0)
; 1 = Parrot On Command
; 2 = Parrot Always
; 3 = Parrot Once by Command
 
parrottime = 1000 ; Set the amount of time in milliseconds 
; to wait before parroting what was received
 
;rxnotch=1065,40                        ; (Optional) Notch a particular frequency for a specified
                                        ; b/w. app_rpt must have been compiled with
                                        ; the notch option
 
startup_macro = *31441
 
; nodenames = /var/lib/asterisk/sounds/rpt/nodenames.callsign ; Point to alternate nodename sound directory
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Need more information on these
 
;extnodes = extnodes-different ; section in extnodefile containing dynamic node information (optional)
;extnodefile = /foo/nodes ; Points to nodelist file containing dynamic node info default = /var/lib/asterisk/rpt_extnodes (optional)
;extnodefile2 = ; Is this a list of node files? Possible a list of private nodes or a list of static IPs for known nodes???? 
;nodenames = /foo/names         ; locaton of node sound files default = /var/lib/asterisk/sounds/rpt/nodenames
;archivedir = /tmp              ; defines and enables activity recording into specified directory (optional)
;monminblocks = 2048            ; Min 1K blocks to be left on partition (will not save monitor output if disk too full)
 
;                               ; The tailmessagetime,tailsquashedtime, and tailmessagelist need to be set
;                               ; to support tail messages. They can be omitted otherwise.
;tailmessagetime = 300000       ; Play a tail message every 5 mins
;tailsquashedtime = 30000       ; If squashed by another user,
;                               ; try again after 30 seconds
;tailmessagelist = msg1,msg2    ; list of messages to be played for tail message
 
; alt_functions
; ctgroup
; dphone_functions
; idtime
; iobase
; iospeed
; locallist
; mars Remote Base
; memory
; nobusyout
; nodes
; nolocallinkct
; notelemtx
; outxlat
; parrot
; propagate_phonedtmf
; rptnode
; rptinactmacro  Macro to execute when inactivity timer expires 
; rptinacttime   Inactivity timer time in seconds  (0 seconds disables feature)
; rxnotch Optional Audio notch
; simplexphonedelay
; tonemacro
; tonezone
; txlimits
 
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 
; *** Status Reporting ***
 
; Uncomment either group following two statpost lines to report the status of your node to stats.allstarlink.org
; depending on whether you are running ACID, Debian or Limey Linux.
; The difference is simply where your wget is located.
 
; ** For ACID and Debian ***
statpost_program = /usr/bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null                       
statpost_url = http://stats.allstarlink.org/uhandler.php ; Status updates 
 
; ** For Limey Linux **
;statpost_program = /bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null                       
;statpost_url = http://stats.allstarlink.org/uhandler.php ; Status updates 
 
[functions]
 
; Prefix Functions
; *1 Disconnect Link
; *2 Monitor Link
; *3 Connect Link
; *4 Command Mode
; *5 Macros
; *6 User Functions
; *7 Connection Status/Functions
; *8 User Functions
; *9 User Functions
; *0 User Functions
 
; *A User Functions
; *B User Functions
; *C User Functions
; *D User Functions
 
 
; Mandatory Command Codes
 
1 = ilink,1 ; Disconnect specified link
2 = ilink,2 ; Connect specified link -- monitor only
3 = ilink,3 ; Connect specified link -- tranceive
4 = ilink,4 ; Enter command mode on specified link
70 = ilink,5 ; System status
99 = cop,6              ; PTT (phone mode only)
 
; End Mandatory Command Codes
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; Macro Commands
5 = macro
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; Autopatch Commands
; Note, This may be a good place for other 2 digit frequently used commands  
 
61 = autopatchup,noct = 1,farenddisconnect = 1,dialtime = 20000  ; Autopatch up
62 = autopatchdn                                                 ; Autopatch down
 
; autopatchup can optionally take comma delimited setting=value pairs:
 
; context = string ; Override default context with "string"
; dialtime = ms ; Specify the max number of milliseconds between phone number digits (1000 milliseconds = 1 second)
; farenddisconnect = 1 ; Automatically disconnect when called party hangs up
; noct = 1 ; Don't send repeater courtesy tone during autopatch calls
; quiet = 1 ; Don't send dial tone, or connect messages. Do not send patch down message when called party hangs up
; Example: 123=autopatchup,dialtime=20000,noct=1,farenddisconnect=1
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; Status Commands
 
; 1 - Force ID (global)
; 2 - Give Time of Day (global)
; 3 - Give software Version (global)
; 4 - Give GPS location info
; 5 - Last (dtmf) user
; 11 - Force ID (local only)
; 12 - Give Time of Day (local only)
 
721 = status,1          ; Force ID (global)
722 = status,2          ; Give Time of Day (global)
723 = status,3          ; Give software Version (global)
724 = status,4          ; Give GPS location info
725 = status,5          ; Last (dtmf) user
711 = status,11         ; Force ID (local only)
712 = status,12         ; Give Time of Day (local only)
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; Link Commands
 
; 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
 
; ilink commands 1 through 5 are defined in the Mandatory Command section
 
806 = ilink,6 ; Disconnect all links
807 = ilink,7 ; Last Node to Key Up
808 = ilink,8 ; Connect specified link -- local monitor only
809 = ilink,9,294130,"Testing" ; would send a text message to node 294130 replace 294130 with 0 for all connected nodes
810 = ilink,10 ; Disconnect all RANGER links (except permalinks)
811 = ilink,11 ; Disconnect a previously permanently connected link
812 = ilink,12 ; Permanently connect specified link -- monitor only
813 = ilink,13 ; Permanently connect specified link -- tranceive
815 = ilink,15 ; Full system status (all nodes)
816 = ilink,16 ; Reconnect links disconnected with "disconnect all links"
817 = ilink,17 ; MDC test (for diag purposes)
818 = ilink 18 ; Permanently Connect specified link -- local monitor only
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; Control operator (cop) functions. Change these to something other than these codes listed below!
 
901 = cop,1 ; System warm boot 
902 = cop,2 ; System enable
903 = cop,3 ; System disable
 
904 = cop,4 ; Test tone on/off (toggle)
905 = cop,5 ; Dump system variables on console (debug use only)
 
907 = cop,7 ; Time out timer enable
908 = cop,8 ; Time out timer disable
 
909 = cop,9 ; Autopatch enable
910 = cop,10 ; Autopatch disable
 
911 = cop,11 ; User linking functions enable
912 = cop,12 ; User linking functions disable
 
913 = cop,13 ; Query system control state
914 = cop,14 ; Set system control state
 
915 = cop,15 ; Scheduler enable
916 = cop,16 ; Scheduler disable
 
917 = cop,17 ; User functions enable (time, id, etc)
918 = cop,18 ; User functions disable
 
919 = cop,19 ; Select alternate hang time (althangtime)
920 = cop,20 ; Select standard hangtime (hangtime)
 
921 = cop,21 ; Enable Parrot Mode
922 = cop,22 ; Disable Parrot Mode
923 = cop,23 ; Birdbath (Current Parrot Cleanup/Flush)
 
924 = cop,24 ; Flush all telemetry
925 = cop,25 ; Query last node un-keyed
926 = cop,26 ; Query all nodes keyed/unkeyed
927 = cop,27 ; Reset DAQ minimum on a pin
928 = cop,28 ; Reset DAQ maximum on a pin
 
930 = cop,30 ; Recall Memory Setting in Attached Xcvr
 
931 = cop,31 ; Channel Selector for Parallel Programmed Xcvr
 
932 = cop,32 ; Touchtone pad test: command + Digit string + # to playback all digits pressed
 
933 = cop,33 ; Local Telemetry Output Enable
934 = cop,34 ; Local Telemetry Output Disable
935 = cop,35 ; Local Telemetry Output on Demand
 
936 = cop,36 ; Foreign Link Local Output Path Enable
937 = cop,37 ; Foreign Link Local Output Path Disable
938 = cop,38 ; Foreign Link Local Output Path Follows Local Telemetry
939 = cop,39 ; Foreign Link Local Output Path on Demand
 
942 = cop,42 ; Echolink announce node # only
943 = cop,43 ; Echolink announce node Callsign only
944 = cop,44 ; Echolink announce node # & Callsign
 
945 = cop,45 ; Link Activity timer enable
945 = cop,46 ; Link Activity timer disable
947 = cop,47 ; Reset "Link Config Changed" Flag 
 
948 = cop,48 ; Send Page Tone (Tone specs separated by parenthesis)
 
949 = cop,49 ; Disable incoming connections (control state noice)
950 = cop,50 ; Enable incoming connections (control state noicd)
 
951 = cop,51 ; Enable sleep mode
952 = cop,52 ; Disable sleep mode
953 = cop,53 ; Wake up from sleep
954 = cop,54 ; Go to sleep
955 = cop,55 ; Parrot Once if parrot mode is disabled
 
956 = cop,56                            ; Rx CTCSS Enable
957 = cop,57                            ; Rx CTCSS Disable
 
958 = cop.58                            ; Tx CTCSS On Input only Enable
959 = cop,59                            ; Tx CTCSS On Input only Disable
 
960 = cop,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')
 
961 = cop,61                            ; Send Message to USB to control GPIO pins (cop,61,GPIO1=0[,GPIO4=1].....)
962 = cop,62                            ; Send Message to USB to control GPIO pins, quietly (cop,62,GPIO1=0[,GPIO4=1].....)
 
963 = cop,63                            ; Send pre-configred APRSTT notification (cop,63,CALL[,OVERLAYCHR])
964 = cop,64                            ; Send pre-configred APRSTT notification, quietly (cop,64,CALL[,OVERLAYCHR])
965 = cop,65                            ; Send POCSAG page (equipped channel types only)
 
[functions-remote]
 
0 = remote,1                            ; Retrieve Memory
1 = remote,2                            ; Set freq.
2 = remote,3                            ; Set tx PL tone
3 = remote,4                            ; Set rx PL tone
40 = remote,100                         ; Rx PL off
41 = remote,101                         ; Rx PL on
42 = remote,102                         ; Tx PL off
43 = remote,103                         ; Tx PL on
44 = remote,104                         ; Low Power
45 = remote,105                         ; Medium Power
46 = remote,106                         ; High Power
711 = remote,107                        ; Bump -20
714 = remote,108                        ; Bump -100
717 = remote,109                        ; Bump -500
713 = remote,110                        ; Bump +20
716 = remote,111                        ; Bump +100
719 = remote,112                        ; Bump +500
721 = remote,113                        ; Scan - slow
724 = remote,114                        ; Scan - quick
727 = remote,115                        ; Scan - fast
723 = remote,116                        ; Scan + slow
726 = remote,117                        ; Scan + quick
729 = remote,118                        ; Scan + fast
79 = remote,119                         ; Tune
51 = remote,5                           ; Long status query
52 = remote,140 ; Short status query
67 = remote,210 ; Send a *
69 = remote,211 ; Send a #
;91 = remote,99,CALLSIGN,LICENSETAG     ; Remote base login.
                                        ; Define a different dtmf sequence for each user which is
                                        ; authorized to use the remote base to control access to it.
                                        ; For examble 9139583=remote,99,WB6NIL,G would grant access to
                                        ; the remote base and announce WB6NIL as being logged in.
                                        ; Another entry, 9148351=remote,99,WA6ZFT,E would grant access to
                                        ; the remote base and announce WA6ZFT as being logged in.
                                        ; When the remote base is disconnected from the originating node, the
                                        ; user will be logged out. The LICENSETAG argument is used to enforce
; tx frequency limits. See [txlimits] below.
85 = cop,6                              ; Remote base telephone key
 
 
[telemetry]
 
; Telemetry entries can be shared across all repeaters, or defined for each repeater.
; Can be a tone sequence, morse string, or a file
;
; |t - Tone escape sequence
;
; Tone sequences consist of 1 or more 4-tuple entries (freq1, freq2, duration, amplitude)
; Single frequencies are created by setting freq1 or freq2 to zero.
;
; |m - Morse escape sequence
; Sends Morse code at the telemetry amplitude and telemetry frequency as defined in the
; [morse] section.
;
; Follow with an alphanumeric string
;
; |i - Morse ID escape sequence
;
; Sends Morse code at the ID amplitude and ID frequency as defined in the
; [morse] section.
;
; path/to/sound/file/without/extension
;
; Send the sound if in place of a constructed tone. Do not include the file extension
; Example: ct8 = rpt/bloop
; Example: idrecording = rpt/nodenames/294130
 
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)
ranger = |t(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,150,0)
remotemon = |t(1209,0,50,2048)                                  ; local courtesy tone when receive only
remotetx = |t(1633,0,50,3000)(0,0,80,0)(1209,0,50,3000) ; local courtesy tone when linked Trancieve mode
cmdmode = |t(900,903,200,2048)
functcomplete = |t(1000,0,100,2048)(0,0,100,0)(1000,0,100,2048)
remcomplete = |t(650,0,100,2048)(0,0,100,0)(650,0,100,2048)(0,0,100,0)(650,0,100,2048)
pfxtone = |t(350,440,30000,3072)
patchup = rpt/callproceeding
patchdown = rpt/callterminated
 
; As far as what the numbers mean,
; (000,000,010,000)
;   |   |   |   |-------amplitude
;   |   |   |-------------duration
;   |   |-------------------Tone 2
;   |-------------------------Tone 1
 
; So, with 0,0,10,0 That says No Tone1, No Tone2, 10ms duration, 0 Amplitude.
; Use it for a delay.  Fine tuning for how long before telemetry is sent, in conjunction with the telemdelay parameter)
; The numbers, like 350,440,10,2048 are 350Hz, 440Hz, 10ms delay, amplitude of 2048.
 
; Morse code parameters, these are common to all repeaters.
 
[morse]
speed = 20 ; Approximate speed in WPM
frequency = 800 ; Morse Telemetry Frequency
amplitude = 4096 ; Morse Telemetry Amplitude
idfrequency = 1065 ; Morse ID Frequency
idamplitude = 1024 ; Morse ID Amplitude
 
;
; This section allows wait times for telemetry events to be adjusted
; A section for wait times can be defined for every repeater
;
 
[wait-times]                                                                                                 
telemwait = 2000                        ; Time to wait before sending most telemetry
idwait = 500                            ; Time to wait before starting ID
unkeywait = 2000                        ; Time to wait after unkey before sending CT's and link telemetry
calltermwait = 2000                     ; Time to wait before announcing "call terminated"
 
;
; This is where you define your nodes which cam be connected to.
;
 
[nodes]
; Note, if you are using automatic update for allstar link nodes,
; no allstar link nodes should be defined here. Only place a definition
; for your local nodes, and private (off of allstar link) nodes here.
 
294130 = radio@....0.1:4569/294130,NONE ; This must be changed to your node number
1441 = radio@....0.1:4569/1441,NONE           ; and iax port number if not the default
; 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
 
; Place command macros here
 
[macro]
;1 = *32011#
;2 = *12001*12011*12043*12040*12050*12060*12009*12002*12003*12004*1113*12030#
;3 = *32001*32011*32050*32030*32060#
 
 
; Data Acquisition configuration
 
;[daq-list]
;device = device_name1
;device = device_name2
 
;Where: device_name1 and device_name2 are stanzas you define in this file
 
;device = daq-cham-1
 
; Device name
 
;[daq-cham-1] ; Defined in [daq-list]
;hwtype = uchameleon ; DAQ hardware type
;devnode = /dev/ttyUSB0 ; DAQ device node (if required)
;1 = inadc ; Pin definition for an ADC channel
;2 = inadc
;3 = inadc
;4 = inadc
;5 = inadc
;6 = inadc
;7 = inadc
;8 = inadc
;9 = inp ; Pin definition for an input with a weak pullup resistor
;10 = inp
;11 = inp
;12 = inp
;13 = in ; Pin definition for an input without a weak pullup resistor
;14 = out ; Pin definition for an output
;15 = out
;16 = out
;17 = out
;18 = out
 
;[meter-faces]
 
;face = scale(scalepre,scalediv,scalepost),word/?,...
;
; scalepre = offset to add before dividing with scalediv
; scalediv = full scale/number of whole units (e.g. 256/20 or 12.8 for 20 volts).
; scalepost = offset to add after dividing with scalediv
;
;face = range(X-Y:word,X2-Y2:word,...),word/?,...
;face = bit(low-word,high-word),word/?,...
;
; word/? is either a word in /var/lib/asterisk/sounds or one of its subdirectories,
; or a question mark which is  a placeholder for the measured value.
;
;
; Battery voltage 0-20 volts
;batvolts = scale(0,12.8,0),rpt/thevoltageis,?,ha/volts
; 4 quadrant wind direction
;winddir = range(0-33:north,34-96:west,97-160:south,161-224:east,225-255:north),rpt/thewindis,?
; LM34 temperature sensor with 130 deg. F full scale
;lm34f = scale(0,1.969,0),rpt/thetemperatureis,?,degrees,fahrenheit
; Status poll (non alarmed)
;light = bit(ha/off,ha/on),ha/light,?
 
;[alarms]
;
;tag = device,pin,node,ignorefirst,func-low,func-hi
;
;tag = a unique name for the alarm
;device = daq device to poll
;pin = the device pin to be monitored
;ignorefirstalarm = set to 1 to throwaway first alarm event, or 0 to report it
;node = the node number to execute the function on
;func-low = the DTMF function to execute on a high to low transition
;func-high = the DTMF function to execute on a low to high transition
;
; a  '-' as a function name is shorthand for no-operation
;
;door = daq-cham-1,9,1,2017,*7,-
;pwrfail = daq-cham-1,10,0,2017,*911111,-
;
; Control states
; Allow several control operator functions to be changed at once using one command (good for scheduling)
;
;[controlstates]                                                          
;statenum = copcmd,[copcmd]...                                                  
;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
 
; Scheduler - execute a macro at a given time
 
[schedule]                                                                      
;dtmf_function =  m h dom mon dow  ; ala cron, star is implied                                                  
;2 = 00 00 * * *   ; at midnight, execute macro 2.       
 
#includeifexists custom/rpt.conf
 
       
 

1 - 20 of 139