Mason10198 / SkywarnPlus

Empowering Asterisk / app_rpt Nodes with Local Alert Intelligence
GNU General Public License v3.0
45 stars 3 forks source link

No audio to YSF Reflector #104

Closed KB0LSM closed 2 weeks ago

KB0LSM commented 2 weeks ago

I am pulling my hair out over this. I hope you can help!!

I have a working Allstar node that its primary function is to bridge Hamshack Hotline to a YSF Reflector. I am now trying to add SkywarnPlus to the same Allstar node. I believe that SkywarnPlus is working correctly. However, I am not getting any audio over to the YSF Reflector. I cannot figure this out. I can see the watch/warnings on the Supermon dashboard but that's it. I hope you can help or point me in the right direction.

I think I have attached the files you have requested.

Thanks,

Brad KB0LSM

Messages

[Jun 10 20:25:45] NOTICE[378] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:25:45] NOTICE[378] cdr.c: CDR simple logging enabled.
[Jun 10 20:25:45] NOTICE[378] loader.c: 118 modules will be loaded.
[Jun 10 20:25:45] NOTICE[378] chan_irlp.c: Unable to load config irlp.conf
[Jun 10 20:25:45] WARNING[378] cdr_odbc.c: cdr_odbc: Unable to load config for ODBC CDR's: cdr_odbc.conf
[Jun 10 20:25:45] NOTICE[378] chan_usbradio.c: Unable to load config usbradio.conf
[Jun 10 20:25:45] ERROR[378] chan_echolink.c: Unable to load config echolink.conf
[Jun 10 20:25:45] NOTICE[378] pbx_ael.c: Starting AEL load process.
[Jun 10 20:25:45] NOTICE[378] pbx_ael.c: AEL load process: calculated config file name '/usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael'.
[Jun 10 20:25:45] NOTICE[378] pbx_ael.c: File /usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael not found; AEL declining load
[Jun 10 20:25:45] ERROR[378] chan_voter.c: Unable to load config voter.conf
[Jun 10 20:25:45] WARNING[378] pbx_spool.c: Unable to create queue directory /var/spool/asterisk/outgoing -- outgoing spool disabled
[Jun 10 20:25:45] ERROR[378] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 10 20:25:45] NOTICE[394] app_rpt.c: Normal Repeater Init  61244
[Jun 10 20:25:45] NOTICE[394] app_rpt.c: Normal Repeater Init  1999
[Jun 10 20:26:35] NOTICE[398] chan_iax2.c: Registered IAX2 to '162.248.92.131', who sees us as 38.2.49.247:4570 with no messages waiting

[Jun 10 20:30:16] NOTICE[6553] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:30:16] NOTICE[6553] cdr.c: CDR simple logging enabled.
[Jun 10 20:30:16] NOTICE[6553] loader.c: 118 modules will be loaded.
[Jun 10 20:30:16] NOTICE[6553] chan_irlp.c: Unable to load config irlp.conf
[Jun 10 20:30:16] WARNING[6553] cdr_odbc.c: cdr_odbc: Unable to load config for ODBC CDR's: cdr_odbc.conf
[Jun 10 20:30:16] NOTICE[6553] chan_usbradio.c: Unable to load config usbradio.conf
[Jun 10 20:30:16] ERROR[6553] chan_echolink.c: Unable to load config echolink.conf
[Jun 10 20:30:16] NOTICE[6553] pbx_ael.c: Starting AEL load process.
[Jun 10 20:30:16] NOTICE[6553] pbx_ael.c: AEL load process: calculated config file name '/usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael'.
[Jun 10 20:30:16] NOTICE[6553] pbx_ael.c: File /usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael not found; AEL declining load
[Jun 10 20:30:16] ERROR[6553] chan_voter.c: Unable to load config voter.conf
[Jun 10 20:30:16] WARNING[6553] pbx_spool.c: Unable to create queue directory /var/spool/asterisk/outgoing -- outgoing spool disabled
[Jun 10 20:30:16] ERROR[6553] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 10 20:30:16] NOTICE[6565] chan_iax2.c: Registered IAX2 to '162.248.92.131', who sees us as 38.2.49.247:4570 with no messages waiting

[Jun 10 20:30:16] NOTICE[6562] app_rpt.c: Normal Repeater Init  61244
[Jun 10 20:30:16] NOTICE[6562] app_rpt.c: Normal Repeater Init  1999
[Jun 10 20:31:56] NOTICE[9401] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:31:56] NOTICE[9401] cdr.c: CDR simple logging enabled.
[Jun 10 20:31:56] NOTICE[9401] loader.c: 118 modules will be loaded.
[Jun 10 20:31:56] NOTICE[9401] chan_irlp.c: Unable to load config irlp.conf
[Jun 10 20:31:56] WARNING[9401] cdr_odbc.c: cdr_odbc: Unable to load config for ODBC CDR's: cdr_odbc.conf
[Jun 10 20:31:56] NOTICE[9401] chan_usbradio.c: Unable to load config usbradio.conf
[Jun 10 20:31:56] ERROR[9401] chan_echolink.c: Unable to load config echolink.conf
[Jun 10 20:31:56] NOTICE[9401] pbx_ael.c: Starting AEL load process.
[Jun 10 20:31:56] NOTICE[9401] pbx_ael.c: AEL load process: calculated config file name '/usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael'.
[Jun 10 20:31:56] NOTICE[9401] pbx_ael.c: File /usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael not found; AEL declining load
[Jun 10 20:31:56] ERROR[9401] chan_voter.c: Unable to load config voter.conf
[Jun 10 20:31:56] WARNING[9401] pbx_spool.c: Unable to create queue directory /var/spool/asterisk/outgoing -- outgoing spool disabled
[Jun 10 20:31:56] ERROR[9401] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 10 20:31:56] NOTICE[9413] chan_iax2.c: Registered IAX2 to '162.248.92.131', who sees us as 38.2.49.247:4570 with no messages waiting

[Jun 10 20:31:57] NOTICE[9410] app_rpt.c: Normal Repeater Init  61244
[Jun 10 20:31:57] NOTICE[9410] app_rpt.c: Normal Repeater Init  1999
[Jun 10 20:34:05] NOTICE[9444] cdr.c: CDR simple logging enabled.
[Jun 10 20:34:05] NOTICE[9444] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:34:05] NOTICE[9444] indications.c: Removed default indication country 'us'
[Jun 10 20:34:05] WARNING[9444] chan_dahdi.c: Ignoring any changes to 'signalling' (on reload)
[Jun 10 20:34:05] NOTICE[9444] chan_iax2.c: Ignoring bindport on reload
[Jun 10 20:34:05] NOTICE[9444] chan_iax2.c: Ignoring bindaddr on reload
[Jun 10 20:34:56] NOTICE[9417] chan_iax2.c: Registered IAX2 to '34.105.111.212', who sees us as 38.2.49.247:4570 with no messages waiting

config.yaml

# SkywarnPlus v0.7.0 Configuration File
# Author: Mason Nelson (N5LSN/WRKF394)
# Please edit this file according to your specific requirements.

# This config file is structured YAML. Please be sure to maintain the structure when editing.
# YAML is very picky about indentation. Use spaces, not tabs.

################################################################################################################################

SKYWARNPLUS:
  # Toggle SkywarnPlus operation entirely.
  Enable: true

################################################################################################################################

Asterisk:
  # List of node numbers for broadcasting alerts. Multiple nodes are specified as a list.
  # Example:
  # Nodes:
  #   - 1998
  #   - 1999
  Nodes:
    - 61244

  # Optional silence to be added to the beginning of any audio files generated by SkywarnPlus.
  # This is useful for radio systems that require additional time to key up, such as RF links.
  # Silence is specified in milliseconds.
  AudioDelay: 0

################################################################################################################################

Alerting:
  # Specify the county codes for which you want to pull weather data.
  # Find your county codes at https://alerts.weather.gov/.
  # Make sure to use county codes ONLY, NOT zone codes, otherwise you might miss out on alerts.
  # Example:
  # CountyCodes:
  #   - ARC125
  #   - ARC119
  #
  # SkywarnPlus allows adding county-specific audio indicators to each alert in the message.
  # To enable this feature, specify an audio file containing a recording of the county name in the
  # ROOT of the SOUNDS/ directory as shown in the below example. You must create these files yourself.
  # A helper script is provided in the SkywarnPlus repository to help generate these files.
  # You can manually use the same VoiceRSS API used for SkyDescribe (see below) to generate these files with a synthetic voice:
  # http://api.voicerss.org/?key=[YOUR_API_KEY_HERE]&hl=en-us&f=8khz_16bit_mono&v=John&src=[YOUR COUNTY NAME HERE]
  # http://api.voicerss.org/?key=1234567890QWERTY&hl=en-us&f=8khz_16bit_mono&v=John&src=Saline County
  # Example:
  # CountyCodes:
  #   - ARC125: "Saline.wav"
  #   - ARC119: "Pulaski.wav"
  CountyCodes:
    - MOC021
    - MOC025 
    - MOC005
    - MOC049
    - MOC063
    - KSC005
    - KSC043

  # Enable instant voice announcement when new weather alerts are issued.
  SayAlert: true

  # Enable SayAlert to "say" any alerts whose list of affected counties has changed, in addition to new alerts.
  # Only applies if more than one CountyCode is specified AND County IDs have been setup.
  SayAlertsChanged: true

  # When a change is detected, make SayAlert say ALL of the currently active alerts, not just newly detected one(s)
  SayAlertAll: false

  # Specify the WAV file in the SOUNDS/ALERTS directory to use as the alert sound effect
  AlertSound: Duncecap.wav

  # Specify a WAV file in the root of the SOUNDS directory to be appended to the end of the alert message.
  SayAlertSuffix:

  # Enable instant voice announcement when weather alerts are cleared.
  SayAllClear: true

  # Specify the WAV file in the SOUNDS/ALERTS directory to use as the all clear sound effect.
  AllClearSound: Triangles.wav

  # Specify a WAV file in the root of the SOUNDS directory to be appended to the end of the all clear message.
  SayAllClearSuffix:

  # Specify the WAV file in the SOUNDS/ALERTS directory to use as the alert seperator sound effect
  AlertSeperator: Woodblock.wav

  # Enable audio tagging an alert as having "multiples" if there is more than one unique instance of that alert type
  # If enabled, and there are 2x different Severe Thunderstorm Warnings in your area, the audio will be: "Severe Thunderstorm Warning, with multiples"
  WithMultiples: true

  # Limit the maximum number of alerts to process in case of multiple alerts.
  # SkywarnPlus fetches all alerts, orders them by severity, and processes only the 'n' most severe alerts, where 'n' is the MaxAlerts value.
  MaxAlerts: 99

  # Specify an alternative path to the directory where sound files are located.
  # Default is SkywarnPlus/SOUNDS.
  SoundsPath: /usr/local/bin/SkywarnPlus/SOUNDS

  # 'TimeType' Configuration
  #
  # This setting determines the timing reference for issuing weather alerts.
  # You can choose between "onset" and "effective" time.
  #
  # 'onset': Alerts are issued based on the predicted start time of the event.
  # This means the system will only send out alerts when the events are imminent.
  # For example, even though a "Heat Advisory" can be forecasted accurately a day or two in advance,
  # the alert will only be sent close to the actual occurrence of the event.
  #
  # 'effective': Alerts are sent as soon as they are received, based on the effective time of the alert message.
  # The "effective" time is when the alert message is considered to be in effect,
  # which could be significantly earlier than the actual onset of the event.
  #
  # By using 'onset', you can ensure that alerts are relevant and timely for the recipients.
  TimeType: onset

################################################################################################################################

Blocking:
  # List of globally blocked events. These alerts are ignored across the entire SkywarnPlus operation.
  # Use a case-sensitive list. Wildcards can be used.
  # Example:
  # GlobalBlockedEvents:
  #   - Flood Watch
  #   - '*Statement'
  #   - '*Advisory'
  GlobalBlockedEvents:

  # List of events blocked from being announced when received. These alerts will still be added to the tail message.
  # Use a case-sensitive list.
  SayAlertBlockedEvents:

  # List of events blocked from being added to the tail message. These alerts will still be announced when received.
  # Use a case-sensitive list.
  TailmessageBlockedEvents:

################################################################################################################################

Tailmessage:
  # Configuration for the tail message functionality. Requires initial setup in RPT.CONF.

  # Enable/disable automatic tail message.
  Enable: true

  # Specify a WAV file in the root of the SOUNDS directory to be appended to the end of the tail message.
  TailmessageSuffix:

  # Enable to add county indicators to the tail message
  # County indicators must FIRST be configured in the Alerting section where county codes are defined.
  # NOTE: This can make your tail message quite long depending on how many counties you have configured.
  TailmessageCounties: false

  # Specify an alternative path and filename for saving the tail message.
  # Default is /tmp/SkywarnPlus/wx-tail.wav.
  TailmessagePath: /tmp/SkywarnPlus/wx-tail.wav

################################################################################################################################

CourtesyTones:
  # Configuration for automatic CT changing. Requires initial setup in RPT.CONF.
  # Enable/disable automatic courtesy tones.
  Enable: false

  # Directory where tone files will be read from & stored to. Modify this path to match your setup.
  # Default location is within the SkywarnPlus installation directory.
  ToneDir: /usr/local/bin/SkywarnPlus/SOUNDS/TONES

  # Define custom courtesy tones for use in different modes. This allows for dynamic response to weather alerts.
  Tones:
    # Define each courtesy tone, and which files to use for that tone in Normal and WX mode.
    ct1:
      Normal: Boop.ulaw
      WX: Stardust.ulaw

    ct2:
      Normal: Beep.ulaw
      WX: Stardust.ulaw

    # ct3:
    #   Normal: NBC.ulaw
    #   WX: SatPass.ulaw

    # ct4:
    #   Normal: BlastOff.ulaw
    #   WX: Target.ulaw

    # ct5:
    #   Normal: BumbleBee.ulaw
    #   WX: XPError.ulaw

    # ct6:
    #   Normal: Comet.ulaw
    #   WX: Waterdrop.ulaw

  # Define the alerts that trigger the "WX" courtesy tone.
  # Use a case-sensitive list. One alert per line.
  CTAlerts:
    - Ashfall Warning
    - Avalanche Warning
    - Blizzard Warning
    - Blowing Dust Warning
    - Civil Danger Warning
    - Civil Emergency Message
    - Coastal Flood Warning
    - Dust Storm Warning
    - Earthquake Warning
    - Evacuation - Immediate
    - Extreme Wind Warning
    - Fire Warning
    - Hazardous Materials Warning
    - Hurricane Force Wind Warning
    - Hurricane Warning
    - Ice Storm Warning
    - Law Enforcement Warning
    - Local Area Emergency
    - Nuclear Power Plant Warning
    - Radiological Hazard Warning
    - Severe Thunderstorm Warning
    - Shelter In Place Warning
    - Storm Surge Warning
    - Tornado Warning
    - Tornado Watch
    - Tropical Storm Warning
    - Tsunami Warning
    - Typhoon Warning
    - Volcano Warning
    - Winter Storm Warning

################################################################################################################################

IDChange:
  # Configuration for Automatic ID Changing. Requires initial setup in RPT.CONF and manual creation of audio files.

  # Enable/disable automatic ID changing.
  Enable: false

  # Specify an alternative directory where ID files are located.
  # Default is SkywarnPlus/SOUNDS/ID.
  IDDir: /usr/local/bin/SkywarnPlus/SOUNDS/ID

  # Define the sound files for IDs.
  IDs:
    # Audio file to feed Asterisk as ID in "normal" mode
    NormalID: NORMALID.ulaw

    # Audio file to feed Asterisk as ID in "wx" mode
    WXID: WXID.ulaw

    # Audio file rpt.conf is looking for as ID
    RptID: RPTID.ulaw

  # Define the alerts that trigger the weather ID.
  # Use a case-sensitive list. One alert per line.
  IDAlerts:
    - Ashfall Warning
    - Avalanche Warning
    - Blizzard Warning
    - Blowing Dust Warning
    - Civil Danger Warning
    - Civil Emergency Message
    - Coastal Flood Warning
    - Dust Storm Warning
    - Earthquake Warning
    - Evacuation - Immediate
    - Extreme Wind Warning
    - Fire Warning
    - Hazardous Materials Warning
    - Hurricane Force Wind Warning
    - Hurricane Warning
    - Ice Storm Warning
    - Law Enforcement Warning
    - Local Area Emergency
    - Nuclear Power Plant Warning
    - Radiological Hazard Warning
    - Severe Thunderstorm Warning
    - Shelter In Place Warning
    - Storm Surge Warning
    - Tornado Warning
    - Tornado Watch
    - Tropical Storm Warning
    - Tsunami Warning
    - Typhoon Warning
    - Volcano Warning
    - Winter Storm Warning

################################################################################################################################

SkyDescribe:
  # SkyDescribe is a feature that allows you to request a detailed description of a weather alert.
  # VoiceRSS is a free service that SkyDescribe requires to function. You must obtain an API key from VoiceRSS.org.
  # MAKE SURE YOU VERIFY YOUR EMAIL ADDRESS WITH VOICERSS.ORG OR YOUR API KEY WILL NOT WORK.

  # API Key for VoiceRSS.org
  APIKey: YOUR_API_KEY_HERE

  # VoiceRSS language code
  Language: en-us

  # VoiceRSS speech rate. -10 is slowest, 10 is fastest.
  Speed: 1

  # VoiceRSS voice profile. See VoiceRSS.org/api/ for more information.
  Voice: John

  # Maximum number of words to be spoken by SkyDescribe.
  # CAUTION: Setting this value too high may cause SkyDescribe to exceed the timeout timer of your node.
  # ~130 words is around 60 seconds at Speed: 0.
  MaxWords: 150

################################################################################################################################

AlertScript:
  # AlertScript allows you to map BASH or DTMF commands to be executed when a weather alert is detected.

  # Completely enable/disable AlertScript
  Enable: false

  # These are BASH or DTMF commands that are executed ONLY when the number of active alerts changes from ZERO to NON-ZERO.
  # Use the same format as other AlertScript mappings (see below).
  ActiveCommands:
    - Type: BASH
      Commands:
        - 'echo "THE NUMBER OF ACTIVE ALERTS JUST CHANGED FROM ZERO TO NON-ZERO"'

  # These are BASH or DTMF commands that are executed ONLY when the number of active alerts changes from NON-ZERO to ZERO.
  # Use the same format as other AlertScript mappings (see below).
  InactiveCommands:
    - Type: BASH
      Commands:
        - 'echo "THE NUMBER OF ACTIVE ALERTS JUST CHANGED FROM NON-ZERO TO ZERO"'

  Mappings:
    # Define the mapping of alerts to either DTMF commands or bash scripts here.
    #
    # Example 1:
    # This entry will execute the bash command 'asterisk -rx "rpt fun 1999 *123*456*789"'
    # when the alerts "Tornado Warning" AND "Tornado Watch" are detected. It will execute the
    # bash command 'asterisk -rx "rpt fun 1999 *987*654*321"' when there are no longer ANY alerts matching
    # "Tornado Warning" OR "Tornado Watch".
    #
    # - Type: DTMF
    #   Nodes:
    #     - 1999
    #   Commands:
    #     - "*123*456*789"
    #   ClearCommands:
    #     - "*987*654*321"
    #   Triggers:
    #     - Tornado Warning
    #     - Tornado Watch
    #   Match: ALL
    #
    # Example 2:
    # This entry will execute the bash command '/home/repeater/testscript.sh'
    # and the bash command '/home/repeater/saytime.sh' when an alert whose
    # title ends with "Statement" is detected.
    #
    # - Type: BASH
    #   Commands:
    #     - "/home/repeater/testscript.sh"
    #     - "/home/repeater/saytime.sh"
    #   Triggers:
    #     - "*Statement"
    #
    # Example 3:
    # This entry will execute the bash command 'asterisk -rx "rpt fun 1998 *123*456*789"'
    # and the bash command 'asterisk -rx "rpt fun 1999 *123*456*789"' when an alert
    # titled "Tornado Warning" OR "Tornado Watch" is detected.
    #
    # - Type: DTMF
    #   Nodes:
    #     - 1998
    #     - 1999
    #   Commands:
    #     - "*123*456*789"
    #   Triggers:
    #     - Tornado Warning
    #     - Tornado Watch
    #
    # Example 4:
    # This entry will execute the bash command 'asterisk -rx "rpt fun 1999 *123*456*789"'
    # and the bash command 'asterisk -rx "rpt fun 1999 *987*654*321"'
    # when an alert titled "Tornado Warning" OR "Tornado Watch" is detected.
    #
    # - Type: DTMF
    #   Nodes:
    #     - 1999
    #   Commands:
    #     - "*123*456*789"
    #     - "*987*654*321"
    #   Triggers:
    #     - Tornado Warning
    #     - Tornado Watch
    #   Match: ANY
    #
    # Example 5:
    # This is an example entry that will automatically execute SkyDescribe and
    # announce the full details of a Tornado Warning when it is detected.
    # The placeholder '{alert_title}' will be replaced with the title of the alert
    # when AlertScript executes the command.
    - Type: BASH
      Commands:
        - '/usr/local/bin/SkywarnPlus/SkyDescribe.py "{alert_title}"'
      Triggers:
        - Tornado Warning

################################################################################################################################

Pushover:
  # Configuration for Pushover integration. Pushover is a free notification service. Register at https://pushover.net/.

  # Enable/disable Pushover integration.
  Enable: false

  # Provide your user key obtained from Pushover.
  UserKey: YOUR_USER_KEY_HERE

  # Provide the API token obtained from Pushover.
  APIToken: YOUR_API_KEY_HERE

  # Enable verbose messaging
  Debug: false

################################################################################################################################

Logging:
  # Configuration for logging.

  # Enable verbose logging
  Debug: false

  # Specify an alternative log file path.
  LogPath: /tmp/SkywarnPlus/SkywarnPlus.log

################################################################################################################################

DEV:
  # Configuration for development and testing.

  # Delete cached data on startup
  CLEANSLATE: false

  # Specify the TMP directory.
  TmpDir: /tmp/SkywarnPlus

  # Write alert titles to /tmp/AUTOSKY/warnings.txt for Supermon backwards compatibility.
  SupermonCompat: true

  # Enable test alert injection instead of calling the NWS API by setting 'INJECT' to 'True'.
  INJECT: false

  # List the test alerts to inject. Alert titles are case sensitive.
  # Optionally specify the CountyCodes and/or EndTime for each alert.
  # CountyCodes used here must be defined at the top of this configuration file.
  # Example:
  # INJECTALERTS:
  #   - Title: "Tornado Warning"
  #     CountyCodes: ["ARC119", "ARC120"]
  #   - Title: "Tornado Watch"
  #     CountyCodes: ["ARC125"]
  #     EndTime: "2023-08-01T12:00:00Z"
  #   - Title: "Severe Thunderstorm Warning"
  INJECTALERTS:
  - Title: "Tornado Warning"
  - Title: "Tornado Watch"
  - Title: "Severe Thunderstorm Warning"

asterisk rpt.conf

; 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.
;
; HAMVOIP Radio Repeater configuration file (for use with app_rpt)

; This file is shown with two local nodes. The first node is
; assigned during the setup process. If you later want to change
; the node number use your editor to wholsale change the current
; node number to the new number. Also see the important note below.
;
; The nano editor does this nicely using the 'CNTRL \' command.
;
; 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 node.
;
; This file defaults to a simplex node (duplex=1)
;
; Lines with a ';' first character in this file are comments and
; are NOT executed. Values shown are typically defaults meaning
; if the command is commented out the value shown would be used.

; IMPORTANT NOTE - when changing node 1999 to a second node or
; adding a node the context mapping section and contexts below
; the last node stanza should reflect the FIRST node number at
; the end of their name unless you define separate stanza
; definitions for each node.

; Updated 1/2019 to include additional features
; Before attempting to add features ensure they
; are not already installed in this file.

; THIS IS AN IMPORTANT FILE! EDIT CAREFULLY AND
; MAKE A BACKUP FIRST!

; The first node definition

[61244] ; Change this to your assigned node number

phonesendlinks=0

telemenabled=15

; 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=USRP/127.0.0.1:34001:32001

                ; Example simpleusb channel driver  
;rxchannel=dahdi/pseudo
                                ; Example pseudo channel driver
;rxchannel=iopipe/stanza1   
                ; Future hamvoip IOpipe channel driver
                ; stanza1 rename to actual stanza name in iopipe.conf file
;txchannel=
                ; The txchannel allows separate sound cards for the
                ; receive and transmit audio paths. This is seldom used
                ; but shown here to make the user aware of its existence.
                ; It would take the same parameters as rxchannel.

; NODE LOOKUP METHODS

                ; There are three choices for the way to lookup
                ; nodes. Being able to lookup nodes and mapping
                ; to an IP address and port is a requirement
                ; for proper operation of Allstar.

                ; NOTE - when using DNS lookup on all nodes on
                ; a server the filelookup_onoff.sh script should
                ; be used to turn off redundant flat file lookups.
                ; DNS lookup is the default.

                ; node_lookup_method=dns  (Default)
                ;   Uses hamvoip DNS lookup

                ; node_lookup_method=file
                ;   Uses Allstar flat file lookup
                ;   Deprecated in hamvoip v1.5

                ; node_lookup_method=local
                ;   Uses local fixed routing defined in the
                ;   [nodes] stanza below    
node_lookup_method=dns

; 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. This is the default mode.

                ; 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. Often
                ; used for radio-less nodes.

                ; duplex=4 - Full Duplex with telemetry tones
                ; and hang time. Repeated audio only when the
                ; autopatch is down.
duplex=0

; CONTEXT MAPPING

controlstates=controlstates61244
                ; 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=schedule61244 
                ; Defines macros to be executed at a specific
                ; time and date. Uses a cron-like syntax

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

macro=macro61244        
                ; Defines DTMF macro sequences

functions=functions61244    
                ; 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=functions61244
link_functions=functions61244

telemetry=telemetry61244
                ; 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-times61244
                ; Contains time delays used to time audio
                ; telemetry events
events=events61244      
                ; Allstar events

; ECHOLINK SETTINGS
                ; Echolink is a separate module.
                ; The Echolink.conf file must be
                ; configured for it to function

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

; IRLP SETTINGS
                ; IRLP is a separate hamvoip package which must
                ; be installed and configured for it to be
                ; functional.

irxgain=-6
                ; IRLP receive gain adjustment
itxgain=4
                ; IRLP transmit gain adjustment
irlpann=0
                ; Default: 1 = Play irlp connect and disconnect
                ;              announcements
                ;          0 = Disable irlp connect and disconnect
                ;              announcements

; 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 <0000061244>
                ; 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 61244/L
                ; Main ID CW
;idtalkover=|iDE 61244/L
                ; ID when signal present

idrecording=|iDE KB0LSM/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=0
                ; squelch tail hang time (in ms)
althangtime=0
                ; This controls the length of the node hang time
                ; when the alternate hang timer is selected with
                ; a control operator function.
tx_timeout=180000
                ; 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

                ; The linkunkeyct command can be used to
                ; customize the courtesy tone based on
                ; a node number. This is useful to identify
                ; input from a specific node. See the
                ; howto at hamvoip.org for details.

linkunkeyct=ct8
                                ; sent when a network user unkeys. This
                                ; method uses the mapped tone for all nodes.

;linkunkeyct=by_node_number,ct8
                                ; Use this method to send a distinct courtesy
                                ; tone based on node number. If node number is
                                ; not defined use the default tone shown here
                                ; as ct8. Comment the linkunkeyct=ct8 above
                                ; when using this method. See the howto on this
                                ; at hamvoip.org for additional information.

;node40000=ct12
                                ; Define node number to mapped tone for
                                ; distinctive courtesy tone. Multiple nodes
                                ; can be mapped to multiple mappings by adding
                                ; additional nodexxxxx=ctxx lines. ctxx tones
                                ; must be defined in the [telemetry] stanza

; 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

parrot=0            ; One time parrot modr with DTMF A9

;connpgm=yourconnectprogram

                ; Program or script to run at connection

connpgm=/usr/local/sbin/supermon/smlogger 1  ; use this line for Supermon

;discpgm=yourdisconnectprogram
                ; Program or script to run at disconnection

discpgm=/usr/local/sbin/supermon/smlogger 0  ; use this line for Supermon

nounkeyct=0
                ; Disable courtest tones (=1)
holdofftelem=1
                ; Do not make announcements over user voice
telemdefault=0
                ; 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 = no
                ; 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 audio files when
                ; archiving. Use with caution on SDcards
                ; This write a lot of data.
;archivetype=gsm
                ; Allows the selection of gsm (.wav) or
                ; pcm (.ul) for archiving audio files

;startup_macro = *7
                ; Macro to run at startup (optional)
;startup_macro_delay=5
                ; Time in seconds to wait before executing
                ; the startup macro

; 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=/etc/asterisk/local/send_node_stats.sh
statpost_url=none

; END OF FIRST NODE

; BEGIN SECOND NODE

; Second node shown as a pseudo node
; This node can be edited to include a second public or private 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/usb2
                ; Example simpleusb channel driver
                ; Stanza for usb2 needs to be added to simpleusb..conf  
rxchannel=dahdi/pseudo
                ; Example pseudo channel driver

;rxchannel = USRP/127.0.0.1:34001:32001

;rxchannel=iopipe/stanza1
                                ; Future hamvoip IOpipe channel driver
                                ; stanza1 rename to actual stanza name in iopipe.conf file
;txchannel=
                                ; The txchannel allows separate sound cards for the
                                ; receive and transmit audio paths. This is seldom used
                                ; but shown here to make the user aware of its existence.
                                ; It would take the same parameters as rxchannel.

; NODE LOOKUP METHODS

                                ; There are three choices for the way to lookup
                                ; nodes. Being able to lookup nodes and mapping
                                ; to an IP address and port is a requirement
                                ; for proper operation of Allstar.

                                ; NOTE - when using DNS lookup on all nodes on
                                ; a server the filelookup_onoff.sh script should
                                ; be used to turn off redundant flat file lookups.
                ; DNS lookup is the default.

                                ; node_lookup_method=dns  (Default)
                                ;   Uses hamvoip DNS lookup

                                ; node_lookup_method=file
                                ;   Uses Allstar flat file lookup
                ;   Deprecated in hamvoip v1.5

                                ; node_lookup_method=local
                                ;   Uses local fixed routing defined in the
                                ;   [nodes] stanza below
node_lookup_method=dns

; 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. This is the default mode.

                ; 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. Often
                ; used for radio-less nodes

                ; 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=schedule61244 
                ; Defines macros to be executed at a specific
                ; time and date. Uses a cron-like syntax

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

macro=macro61244        
                ; Defines DTMF macro sequences

functions=functions61244    
                ; 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=functions61244
link_functions=functions61244

telemetry=telemetry61244    
                ; 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-times61244
                ; Contains time delays used to time audio
                ; telemetry events
events=events61244
                                ; Allstar events

; ECHOLINK SETTINGS
                                ; Echolink is a separate module.
                                ; The Echolink.conf file must be
                                ; configured for it to function

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

; IRLP SETTINGS
                                ; IRLP is a separate hamvoip package which must
                                ; be installed and configured for it to be
                                ; functional.

irxgain=-6
                                ; IRLP receive gain adjustment
itxgain=4
                                ; IRLP transmit gain adjustment
irlpann=0
                                ; Default: 1 = Play irlp connect and disconnect
                                ;              announcements
                                ;          0 = Disable irlp connect and disconnect
                                ;              announcements

; 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 <0000061244>
                ; 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 61244/L
                ; Main ID CW
;idtalkover=|iDE 61244/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. This
                                ; method uses the mapped tone for all nodes.

;linkunkeyct=by_node_number,ct8
                                ; Use this method to send a distinct courtesy
                                ; tone based on node number. If node number is
                                ; not defined use the default tone shown here
                                ; as ct8. Comment the linkunkeyct=ct8 above
                                ; when using this method. See the howto on this
                ; at hamvoip.org for additional information.

;node40000=ct12
                                ; Define node number to mapped tone for
                                ; distinctive courtesy tone. Multiple nodes
                                ; can be mapped to multiple mappings by adding
                                ; additional nodexxxxx=ctxx lines. ctxx tones
                ; must be defined in the [telemetry] stanza

; LINK SETTINGS - values in seconds

nolocallinkct=1
                ; 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.
                ; Defaults 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

parrot=0                        ; One time parrot modr with DTMF A9

;connpgm=yourconnectprogram
                ; Program or script to run at connection

connpgm=/usr/local/sbin/supermon/smlogger 1  ; use this line for Supermon 

;discpgm=yourdisconnectprogram
                ; Program or script to run at disconnection

discpgm=/usr/local/sbin/supermon/smlogger 0  ; use this line for Supermon

nounkeyct=1
                ; Disable courtest tones (=1)
holdofftelem=1
                ; Do not make announcements over user voice
telemdefault=0

telemdynamic=0
                ; 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 = no

nounkeyct =1
                ; 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.
;archivetype=gsm
                                ; Allows the selection of gsm/wav or
                                ; pcm/ulaw for archiving audio files

;startup_macro = *7
                ; Macro to run at startup (optional)
;startup_macro_delay=10
                                ; Time in seconds to wait before executing
                                ; the startup macro

; 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

totime =180000

; *** STATUS REPORTING ***

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

;;statpost_program=/etc/asterisk/local/send_node_stats.sh
;;statpost_url=none

; END OF SECOND NODE

; MORSE CODE PARAMETERS
;
[morse61244]

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

; CONTROL STATES

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

; SCHEDULES

[schedule61244]
;dtmf_function =  minute  hour  dayofmonth month dayofweek  ; ala cron, star is implied
;1=00 * * * *   ;run macro 1 on the hour

; EVENTS

[events61244]

; Commands for FOB COS indicator when available
; For this to work you must also add - gpio4 = out,0 - to simpleusb.conf
; Uncomment (remove ;) on next two lines to activate
;cop,62,GPIO4:1 = c|t|RPT_RXKEYED
;cop,62,GPIO4:0 = c|f|RPT_RXKEYED

[events1999]

; FUNCTIONS

[functions61244]

 ; 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) old method
;Say 12 hour time on node 1
; Add local ZIP before node for weather also
81=cmd,/usr/local/sbin/saytime.pl 61244
; Say 24 hour time on node 1
; Add local ZIP before node for weather also
82=cmd,/usr/local/sbin/say24time.pl 61244

; Autopatch must be configured to work
; Autopatch up
61=autopatchup,context=radio,noct=1,farenddisconnect=1,dialtime=20000,quiet=1
; Autopatch down
60=autopatchdn ; Changed to 60 to make *0x commands available

; Example Play a Node announcement
; Audio file must be Allstar compliant
;920=localplay,/etc/asterisk/local/some-file

;989=cop,4
980=status,3

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

; DVSwitch

DMR = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode DMR 
DSTAR = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode DSTAR
YSF = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode YSF
P25 = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode P25
NXDN = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode NXDN

01 = cmd,/opt/MMDVM_Bridge/dvswitch.sh tune disconnect  ; disconnect from TG or reflector
02 = cmd,/opt/MMDVM_Bridge/dvswitch.sh mode DMR     ; change mode to DMR
03 = cmd,/opt/MMDVM_Bridge/dvswitch.sh mode NXDN        ; change mode to NXDN
04 = cmd,/opt/MMDVM_Bridge/dvswitch.sh mode P25         ; change mode to P25

05 = cmd,/tmp/ssz.sh one two three                      ; Run the script ssz.sh and pass the parameters 0ne two three to the script
06 = cmd,/opt/MMDVM_Bridge/dvswitch.sh tune 93          ; Tune to North America

09 = autopatchup,context=tgtune,dialtime=90000,farenddisconnect=1,noct,quiet=1

; Functions to call utility scripts
; Some of these are commented out. 
; For use Remove ';' and change function
; command and node to your choice
; Note that halting the system remotely would require
; a power cycle to recover, use with caution!
;
A1=cmd,/usr/local/sbin/sayip.sh 61244   ; Say local IP to radio

A3=cmd,/usr/local/sbin/saypublicip.sh 61244 ; Say Public IP to radio

A5=cmd,/usr/local/sbin/sayreg.sh        ; Say Registration status

                        ; Say DNS node lookup   
A7=autopatchup,context=saydns,noct=1,farenddisconnect=1,dialtime=15000,quiet=1

A9=cop,55                   ; One time parrot

;B1=cmd,/usr/local/sbin/halt.sh 61244   ; Halt the system (linux total shutdown)

;B3=cmd,/usr/local/sbin/reboot.sh 61244 ; Reboot the system

B6=cmd,/usr/local/sbin/astres.sh        ; Restart Asterisk

                        ; Update hamvoip with voice feedback
;C2=cmd,/usr/local/sbin/say-hamvoip-sys-update.sh

; MACROS

; Place command macros here

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

; TELEMETRY COURTESY TONE DEFINITIONS

[telemetry61244]

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

; WAIT TIMES

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

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

; LOCAL NODE ROUTING

; 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.

61244 = radio@127.0.0.1/61244,NONE
1999 = radio@127.0.0.1:4570/1999,NONE

#includeifexists custom/rpt.conf

asterisk messages

[Jun 10 20:25:45] NOTICE[378] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:25:45] NOTICE[378] cdr.c: CDR simple logging enabled.
[Jun 10 20:25:45] NOTICE[378] loader.c: 118 modules will be loaded.
[Jun 10 20:25:45] NOTICE[378] chan_irlp.c: Unable to load config irlp.conf
[Jun 10 20:25:45] WARNING[378] cdr_odbc.c: cdr_odbc: Unable to load config for ODBC CDR's: cdr_odbc.conf
[Jun 10 20:25:45] NOTICE[378] chan_usbradio.c: Unable to load config usbradio.conf
[Jun 10 20:25:45] ERROR[378] chan_echolink.c: Unable to load config echolink.conf
[Jun 10 20:25:45] NOTICE[378] pbx_ael.c: Starting AEL load process.
[Jun 10 20:25:45] NOTICE[378] pbx_ael.c: AEL load process: calculated config file name '/usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael'.
[Jun 10 20:25:45] NOTICE[378] pbx_ael.c: File /usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael not found; AEL declining load
[Jun 10 20:25:45] ERROR[378] chan_voter.c: Unable to load config voter.conf
[Jun 10 20:25:45] WARNING[378] pbx_spool.c: Unable to create queue directory /var/spool/asterisk/outgoing -- outgoing spool disabled
[Jun 10 20:25:45] ERROR[378] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 10 20:25:45] NOTICE[394] app_rpt.c: Normal Repeater Init  61244
[Jun 10 20:25:45] NOTICE[394] app_rpt.c: Normal Repeater Init  1999
[Jun 10 20:26:35] NOTICE[398] chan_iax2.c: Registered IAX2 to '162.248.92.131', who sees us as 38.2.49.247:4570 with no messages waiting

[Jun 10 20:30:16] NOTICE[6553] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:30:16] NOTICE[6553] cdr.c: CDR simple logging enabled.
[Jun 10 20:30:16] NOTICE[6553] loader.c: 118 modules will be loaded.
[Jun 10 20:30:16] NOTICE[6553] chan_irlp.c: Unable to load config irlp.conf
[Jun 10 20:30:16] WARNING[6553] cdr_odbc.c: cdr_odbc: Unable to load config for ODBC CDR's: cdr_odbc.conf
[Jun 10 20:30:16] NOTICE[6553] chan_usbradio.c: Unable to load config usbradio.conf
[Jun 10 20:30:16] ERROR[6553] chan_echolink.c: Unable to load config echolink.conf
[Jun 10 20:30:16] NOTICE[6553] pbx_ael.c: Starting AEL load process.
[Jun 10 20:30:16] NOTICE[6553] pbx_ael.c: AEL load process: calculated config file name '/usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael'.
[Jun 10 20:30:16] NOTICE[6553] pbx_ael.c: File /usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael not found; AEL declining load
[Jun 10 20:30:16] ERROR[6553] chan_voter.c: Unable to load config voter.conf
[Jun 10 20:30:16] WARNING[6553] pbx_spool.c: Unable to create queue directory /var/spool/asterisk/outgoing -- outgoing spool disabled
[Jun 10 20:30:16] ERROR[6553] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 10 20:30:16] NOTICE[6565] chan_iax2.c: Registered IAX2 to '162.248.92.131', who sees us as 38.2.49.247:4570 with no messages waiting

[Jun 10 20:30:16] NOTICE[6562] app_rpt.c: Normal Repeater Init  61244
[Jun 10 20:30:16] NOTICE[6562] app_rpt.c: Normal Repeater Init  1999
[Jun 10 20:31:56] NOTICE[9401] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:31:56] NOTICE[9401] cdr.c: CDR simple logging enabled.
[Jun 10 20:31:56] NOTICE[9401] loader.c: 118 modules will be loaded.
[Jun 10 20:31:56] NOTICE[9401] chan_irlp.c: Unable to load config irlp.conf
[Jun 10 20:31:56] WARNING[9401] cdr_odbc.c: cdr_odbc: Unable to load config for ODBC CDR's: cdr_odbc.conf
[Jun 10 20:31:56] NOTICE[9401] chan_usbradio.c: Unable to load config usbradio.conf
[Jun 10 20:31:56] ERROR[9401] chan_echolink.c: Unable to load config echolink.conf
[Jun 10 20:31:56] NOTICE[9401] pbx_ael.c: Starting AEL load process.
[Jun 10 20:31:56] NOTICE[9401] pbx_ael.c: AEL load process: calculated config file name '/usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael'.
[Jun 10 20:31:56] NOTICE[9401] pbx_ael.c: File /usr/local/hamvoip-asterisk/etc/asterisk/extensions.ael not found; AEL declining load
[Jun 10 20:31:56] ERROR[9401] chan_voter.c: Unable to load config voter.conf
[Jun 10 20:31:56] WARNING[9401] pbx_spool.c: Unable to create queue directory /var/spool/asterisk/outgoing -- outgoing spool disabled
[Jun 10 20:31:56] ERROR[9401] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 10 20:31:56] NOTICE[9413] chan_iax2.c: Registered IAX2 to '162.248.92.131', who sees us as 38.2.49.247:4570 with no messages waiting

[Jun 10 20:31:57] NOTICE[9410] app_rpt.c: Normal Repeater Init  61244
[Jun 10 20:31:57] NOTICE[9410] app_rpt.c: Normal Repeater Init  1999
[Jun 10 20:34:05] NOTICE[9444] cdr.c: CDR simple logging enabled.
[Jun 10 20:34:05] NOTICE[9444] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Jun 10 20:34:05] NOTICE[9444] indications.c: Removed default indication country 'us'
[Jun 10 20:34:05] WARNING[9444] chan_dahdi.c: Ignoring any changes to 'signalling' (on reload)
[Jun 10 20:34:05] NOTICE[9444] chan_iax2.c: Ignoring bindport on reload
[Jun 10 20:34:05] NOTICE[9444] chan_iax2.c: Ignoring bindaddr on reload
[Jun 10 20:34:56] NOTICE[9417] chan_iax2.c: Registered IAX2 to '34.105.111.212', who sees us as 38.2.49.247:4570 with no messages waiting

data.json SkywarnPlus.log

mjwgeek commented 2 weeks ago

Audio is local to the primary node by design. Nothing should be going to any other connections on purpose, local or not.

Mason10198 commented 2 weeks ago

@mjwgeek is correct. This doesn't really have anything to do with SkywarnPlus at all. SkywarnPlus sends telemetry audio to app_rpt, which only plays telemetry audio on the LOCAL node/interface (whatever rxchannel is set to in rpt.conf). This is just how app_rpt is designed. I'm not familiar with bridging app_rpt to YSF or HH, but I suspect this is the issue.

Steve-AG2AA commented 2 weeks ago

Mason, there may be confusion with a different product. AllStarWx allows playback to be selected either local or over network. if network is chosen, it plays back over anything connected to the node. ask me how I know...... ;-)

Mason10198 commented 2 weeks ago

AllStarWx allows playback to be selected either local or over network. if network is chosen, it plays back over anything connected to the node.

I specifically did not provide a similar configuration option in SkywarnPlus. The reason for this, is that it would be too easy for someone to download my script, set it to "network" instead of "local", and then link up to other nodes and wreak havoc on other systems, and any systems linked to those systems by broadcasting alerts for the wrong area, broadcasting alerts without permission, etc... For this reason, this will never be an option included in SkywarnPlus.

However, it is extremely easy for a well-intentioned individual to modify SkywarnPlus for this functionality. It only requires very basic knowledge of app_rpt and some poking around...

Closing this thread as it is not an issue with SkywarnPlus.