Problem with AR


 

oot@dvswitch-server:/opt/Analog_Reflector# ./Analog_Reflector -f Analog_Reflector.json
I: 21-03-03 16:24:16 Analog_Reflector:
I: 21-03-03 16:24:16 ==
I: 21-03-03 16:24:16 Version: 1.1.14
I: 21-03-03 16:24:16
M: 21-03-03 16:24:16 Server running in Production mode
I: 21-03-03 16:24:16 SSL Certificate for these addresses: DNS:localhost, DNS:dvswitch-server, IP Address:192.168.1.232, IP Address:127.0.0.1, IP Address:81.150.10.63
I: 21-03-03 16:24:16 SSL Certificate expires: Mar  3 15:49:49 2022 GMT
I: 21-03-03 16:24:16 WebSocket server ready on port 443 ...
I: 21-03-03 16:24:16 New AllStar node for 1999
I: 21-03-03 16:24:16 ACL for AllStar Node 1999 is: Allow Transmit, Allow Tune
I: 21-03-03 16:24:16 New bridge for DMR
I: 21-03-03 16:24:16 ACL for DMR Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for D-Star
I: 21-03-03 16:24:16 ACL for D-STAR Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for NXDN
I: 21-03-03 16:24:16 ACL for NXDN Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for P25
I: 21-03-03 16:24:16 ACL for P25 Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for YSF
I: 21-03-03 16:24:16 ACL for YSF Bridge is: Allow Transmit, Deny Tune
F: 21-03-03 16:24:16 USRP Error: bind EADDRINUSE 0.0.0.0:50111
root@dvswitch-server:/opt/Analog_Reflector# ps ax | grep Analog_Reflector
 6805 ?        Ssl    0:01 /opt/Analog_Reflector/Analog_Reflector
 7630 pts/0    S+     0:00 grep Analog_Reflector
root@dvswitch-server:/opt/Analog_Reflector# netstat -unap | grep Analog_Reflector
root@dvswitch-server:/opt/Analog_Reflector# netstat -unap | grep Analog_Ref
udp        0      0 0.0.0.0:55100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:54100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:53100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:52100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:51100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:12346           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:34001           0.0.0.0:*                           6805/Analog_Reflect
root@dvswitch-server:/opt/Analog_Reflector# netstat -unap | grep 50111
udp        0      0 0.0.0.0:50111           0.0.0.0:*                           891/Analog_Bridge  
root@dvswitch-server:/opt/Analog_Reflector#


Steve N4IRS
 

You have a port conflict with Analog Bridge. Show me your Analog_Bridge.ini

On 3/3/2021 11:53 AM, Ernie Gm7kbk wrote:
oot@dvswitch-server:/opt/Analog_Reflector# ./Analog_Reflector -f Analog_Reflector.json
I: 21-03-03 16:24:16 Analog_Reflector:
I: 21-03-03 16:24:16 ==
I: 21-03-03 16:24:16 Version: 1.1.14
I: 21-03-03 16:24:16
M: 21-03-03 16:24:16 Server running in Production mode
I: 21-03-03 16:24:16 SSL Certificate for these addresses: DNS:localhost, DNS:dvswitch-server, IP Address:192.168.1.232, IP Address:127.0.0.1, IP Address:81.150.10.63
I: 21-03-03 16:24:16 SSL Certificate expires: Mar  3 15:49:49 2022 GMT
I: 21-03-03 16:24:16 WebSocket server ready on port 443 ...
I: 21-03-03 16:24:16 New AllStar node for 1999
I: 21-03-03 16:24:16 ACL for AllStar Node 1999 is: Allow Transmit, Allow Tune
I: 21-03-03 16:24:16 New bridge for DMR
I: 21-03-03 16:24:16 ACL for DMR Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for D-Star
I: 21-03-03 16:24:16 ACL for D-STAR Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for NXDN
I: 21-03-03 16:24:16 ACL for NXDN Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for P25
I: 21-03-03 16:24:16 ACL for P25 Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 16:24:16 New bridge for YSF
I: 21-03-03 16:24:16 ACL for YSF Bridge is: Allow Transmit, Deny Tune
F: 21-03-03 16:24:16 USRP Error: bind EADDRINUSE 0.0.0.0:50111
root@dvswitch-server:/opt/Analog_Reflector# ps ax | grep Analog_Reflector
 6805 ?        Ssl    0:01 /opt/Analog_Reflector/Analog_Reflector
 7630 pts/0    S+     0:00 grep Analog_Reflector
root@dvswitch-server:/opt/Analog_Reflector# netstat -unap | grep Analog_Reflector
root@dvswitch-server:/opt/Analog_Reflector# netstat -unap | grep Analog_Ref
udp        0      0 0.0.0.0:55100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:54100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:53100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:52100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:51100           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:12346           0.0.0.0:*                           6805/Analog_Reflect
udp        0      0 0.0.0.0:34001           0.0.0.0:*                           6805/Analog_Reflect
root@dvswitch-server:/opt/Analog_Reflector# netstat -unap | grep 50111
udp        0      0 0.0.0.0:50111           0.0.0.0:*                           891/Analog_Bridge  
root@dvswitch-server:/opt/Analog_Reflector#


 

; 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 = 2354335                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 235433511                  ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = 9                                ; 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 (Allstar/Asterisk or another Analog_Bridge)
txPort = 50111                          ; Transmit USRP frames on this port
rxPort = 50111                          ; Listen for USRP frames on this port
usrpAudio = AUDIO_UNITY                 ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 1.10                         ; 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_UNITY                  ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 0.35                          ; 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


Steve N4IRS
 

Show Analog_Reflector.json

Sent via smoke signal (AT&T)


From: Analog-Reflector@DVSwitch.groups.io <Analog-Reflector@DVSwitch.groups.io> on behalf of Ernie Gm7kbk <erniepratt@...>
Sent: Wednesday, March 3, 2021 12:00:29 PM
To: Analog-Reflector@DVSwitch.groups.io <Analog-Reflector@DVSwitch.groups.io>
Subject: Re: [Analog-Reflector] Problem with AR
 
; 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 = 2354335                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 235433511                  ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = 9                                ; 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 (Allstar/Asterisk or another Analog_Bridge)
txPort = 50111                          ; Transmit USRP frames on this port
rxPort = 50111                          ; Listen for USRP frames on this port
usrpAudio = AUDIO_UNITY                 ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 1.10                         ; 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_UNITY                  ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 0.35                          ; 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


 

{
  "nodeName":"DVSwitch",
  "dmrID":"2354336",
  "abAddress": "127.0.0.1",
  "usrpTxPort": "12345",
  "usrpRxPort": "12345",
  "mobilePort": "50111",
  "wsPort": "443",
  "keyDir": "./ssl/",
  "siteroot": "./arRoot",
  "logFileName": "/var/log/dvswitch/Analog_Reflector.log",
  "logLevel": "2",
  "disallowUnknownClients": false,
  "brokerURL": "mqtt://localhost:1883",
  "rightsMask": "4",
  "autoMute": true,
  "clientModes": ["DMR", "STFU", "DSTAR|D-Star", "NXDN", "P25", "YSF", "ASL|AllStar", "Intercom"],
  "bridges": {
    "asl": [
      {"node" : "1999", "address" : "127.0.0.1", "rxPort" : "34001", "txPort" : "32001", "rights" : 3, "amiUserName" : "admin", "amiSecret" : "llcgi"}
    ],
    "ab" : [
      {"name" : "DMR",    "address" : "127.0.0.1", "rxPort" : "51100", "txPort" : "51103", "rights" : 1},
      {"name" : "D-Star", "address" : "127.0.0.1", "rxPort" : "52100", "txPort" : "52103", "rights" : 1},
      {"name" : "NXDN",   "address" : "127.0.0.1", "rxPort" : "53100", "txPort" : "53103", "rights" : 1},
      {"name" : "P25",    "address" : "127.0.0.1", "rxPort" : "54100", "txPort" : "54103", "rights" : 1},
      {"name" : "YSF",    "address" : "127.0.0.1", "rxPort" : "55100", "txPort" : "55103", "rights" : 1}
    ]
  }
}


Steve N4IRS
 

Here is the data path:

HTML Client <-> AR <-> AB <-> MB <-> DMR Master

This is how the components (AR and AB) talk to each other.
Analog_Reflector.json    Analog_Bridge.ini
                                                       [USRP]
"usrpTxPort": "12345" <----> rxPort = 12345     
"usrpRxPort": "12345" <----> txPort = 12345

Here is what I suggest:
Edit Analog_Bridge.ini in the [USRP] section
txPort = 12345
rxPort = 12345

Edit Analog_Reflector
"usrpTxPort": "12345",
"usrpRxPort": "12345",
"mobilePort": "50111",

Save your work and reboot

On 3/3/2021 12:03 PM, Ernie Gm7kbk wrote:
{
  "nodeName":"DVSwitch",
  "dmrID":"2354336",
  "abAddress": "127.0.0.1",
  "usrpTxPort": "12345",
  "usrpRxPort": "12345",
  "mobilePort": "50111",
  "wsPort": "443",
  "keyDir": "./ssl/",
  "siteroot": "./arRoot",
  "logFileName": "/var/log/dvswitch/Analog_Reflector.log",
  "logLevel": "2",
  "disallowUnknownClients": false,
  "brokerURL": "mqtt://localhost:1883",
  "rightsMask": "4",
  "autoMute": true,
  "clientModes": ["DMR", "STFU", "DSTAR|D-Star", "NXDN", "P25", "YSF", "ASL|AllStar", "Intercom"],
  "bridges": {
    "asl": [
      {"node" : "1999", "address" : "127.0.0.1", "rxPort" : "34001", "txPort" : "32001", "rights" : 3, "amiUserName" : "admin", "amiSecret" : "llcgi"}
    ],
    "ab" : [
      {"name" : "DMR",    "address" : "127.0.0.1", "rxPort" : "51100", "txPort" : "51103", "rights" : 1},
      {"name" : "D-Star", "address" : "127.0.0.1", "rxPort" : "52100", "txPort" : "52103", "rights" : 1},
      {"name" : "NXDN",   "address" : "127.0.0.1", "rxPort" : "53100", "txPort" : "53103", "rights" : 1},
      {"name" : "P25",    "address" : "127.0.0.1", "rxPort" : "54100", "txPort" : "54103", "rights" : 1},
      {"name" : "YSF",    "address" : "127.0.0.1", "rxPort" : "55100", "txPort" : "55103", "rights" : 1}
    ]
  }
}


 

21-03-03 17:32:21 USRP Error: bind EADDRINUSE 0.0.0.0:50111
HUC working now but there still the error.
Connected to YSF CQ-UK via peanut and could see my Qrz info.
Will try and connect via another computer.


Steve N4IRS
 

Show me your current AB.ini and AR.ini

Steve

On 3/3/2021 12:47 PM, Ernie Gm7kbk wrote:
21-03-03 17:32:21 USRP Error: bind EADDRINUSE 0.0.0.0:50111
HUC working now but there still the error.
Connected to YSF CQ-UK via peanut and could see my Qrz info.
Will try and connect via another computer.


 

; 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 = 2354335                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 235433511                  ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = 9                                ; 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 (Allstar/Asterisk or another Analog_Bridge)
txPort = 12345                          ; Transmit USRP frames on this port
rxPort = 12345                          ; Listen for USRP frames on this port
usrpAudio = AUDIO_UNITY                 ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 1.10                         ; 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_UNITY                  ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 0.35                          ; 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

{
  "nodeName":"DVSwitch",
  "dmrID":"2354336",
  "abAddress": "127.0.0.1",
  "usrpTxPort": "12345",
  "usrpRxPort": "12345",
  "mobilePort": "50111",
  "wsPort": "8090",
  "keyDir": "./ssl/",
  "siteroot": "./arRoot",
  "logFileName": "/var/log/dvswitch/Analog_Reflector.log",
  "logLevel": "2",
  "disallowUnknownClients": false,
  "brokerURL": "mqtt://localhost:1883",
  "rightsMask": "4",
  "autoMute": true,
  "clientModes": ["DMR", "STFU", "DSTAR|D-Star", "NXDN", "P25", "YSF", "ASL|AllStar", "Intercom"],
  "bridges": {
    "asl": [
      {"node" : "1999", "address" : "127.0.0.1", "rxPort" : "34001", "txPort" : "32001", "rights" : 3, "amiUserName" : "admin", "amiSecret" : "llcgi"}
    ],
    "ab" : [
      {"name" : "DMR",    "address" : "127.0.0.1", "rxPort" : "51100", "txPort" : "51103", "rights" : 1},
      {"name" : "D-Star", "address" : "127.0.0.1", "rxPort" : "52100", "txPort" : "52103", "rights" : 1},
      {"name" : "NXDN",   "address" : "127.0.0.1", "rxPort" : "53100", "txPort" : "53103", "rights" : 1},
      {"name" : "P25",    "address" : "127.0.0.1", "rxPort" : "54100", "txPort" : "54103", "rights" : 1},
      {"name" : "YSF",    "address" : "127.0.0.1", "rxPort" : "55100", "txPort" : "55103", "rights" : 1}
    ]
  }
}


Steve N4IRS
 

When do you get the error? Show me.

On 3/3/2021 2:06 PM, Ernie Gm7kbk wrote:
; 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 = 2354335                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 235433511                  ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = 9                                ; 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 (Allstar/Asterisk or another Analog_Bridge)
txPort = 12345                          ; Transmit USRP frames on this port
rxPort = 12345                          ; Listen for USRP frames on this port
usrpAudio = AUDIO_UNITY                 ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 1.10                         ; 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_UNITY                  ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 0.35                          ; 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

{
  "nodeName":"DVSwitch",
  "dmrID":"2354336",
  "abAddress": "127.0.0.1",
  "usrpTxPort": "12345",
  "usrpRxPort": "12345",
  "mobilePort": "50111",
  "wsPort": "8090",
  "keyDir": "./ssl/",
  "siteroot": "./arRoot",
  "logFileName": "/var/log/dvswitch/Analog_Reflector.log",
  "logLevel": "2",
  "disallowUnknownClients": false,
  "brokerURL": "mqtt://localhost:1883",
  "rightsMask": "4",
  "autoMute": true,
  "clientModes": ["DMR", "STFU", "DSTAR|D-Star", "NXDN", "P25", "YSF", "ASL|AllStar", "Intercom"],
  "bridges": {
    "asl": [
      {"node" : "1999", "address" : "127.0.0.1", "rxPort" : "34001", "txPort" : "32001", "rights" : 3, "amiUserName" : "admin", "amiSecret" : "llcgi"}
    ],
    "ab" : [
      {"name" : "DMR",    "address" : "127.0.0.1", "rxPort" : "51100", "txPort" : "51103", "rights" : 1},
      {"name" : "D-Star", "address" : "127.0.0.1", "rxPort" : "52100", "txPort" : "52103", "rights" : 1},
      {"name" : "NXDN",   "address" : "127.0.0.1", "rxPort" : "53100", "txPort" : "53103", "rights" : 1},
      {"name" : "P25",    "address" : "127.0.0.1", "rxPort" : "54100", "txPort" : "54103", "rights" : 1},
      {"name" : "YSF",    "address" : "127.0.0.1", "rxPort" : "55100", "txPort" : "55103", "rights" : 1}
    ]
  }
}


 

root@dvswitch-server:/opt/Analog_Reflector# ./Analog_Reflector -f Analog_Reflector.json
I: 21-03-03 19:20:46 Analog_Reflector:
I: 21-03-03 19:20:46 ==
I: 21-03-03 19:20:46 Version: 1.1.14
I: 21-03-03 19:20:46
M: 21-03-03 19:20:46 Server running in Production mode
I: 21-03-03 19:20:47 SSL Certificate for these addresses: DNS:localhost, DNS:dvswitch-server, IP Address:192.168.1.232, IP Address:127.0.0.1, IP Address:81.150.10.63
I: 21-03-03 19:20:47 SSL Certificate expires: Mar  3 15:49:49 2022 GMT
I: 21-03-03 19:20:47 WebSocket server ready on port 8090 ...
I: 21-03-03 19:20:47 New AllStar node for 1999
I: 21-03-03 19:20:47 ACL for AllStar Node 1999 is: Allow Transmit, Allow Tune
I: 21-03-03 19:20:47 New bridge for DMR
I: 21-03-03 19:20:47 ACL for DMR Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 19:20:47 New bridge for D-Star
I: 21-03-03 19:20:47 ACL for D-STAR Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 19:20:47 New bridge for NXDN
I: 21-03-03 19:20:47 ACL for NXDN Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 19:20:47 New bridge for P25
I: 21-03-03 19:20:47 ACL for P25 Bridge is: Allow Transmit, Deny Tune
I: 21-03-03 19:20:47 New bridge for YSF
I: 21-03-03 19:20:47 ACL for YSF Bridge is: Allow Transmit, Deny Tune
F: 21-03-03 19:20:47 USRP Error: bind EADDRINUSE 0.0.0.0:50111
root@dvswitch-server:/opt/Analog_Reflector#


 

root@dvswitch-server:/opt/Analog_Reflector# systemctl status analog_reflector
● analog_reflector.service - Analog Reflector Service
   Loaded: loaded (/lib/systemd/system/analog_reflector.service; enabled; vendor
   Active: active (running) since Wed 2021-03-03 18:21:43 GMT; 1h 2min ago
  Process: 877 ExecStartPre=/bin/sh -c echo "Starting Analog Reflector: [`date +
 Main PID: 899 (Analog_Reflecto)
    Tasks: 10 (limit: 3860)
   CGroup: /system.slice/analog_reflector.service
           └─899 /opt/Analog_Reflector/Analog_Reflector

Mar 03 18:21:43 dvswitch-server systemd[1]: Starting Analog Reflector Service...
Mar 03 18:21:43 dvswitch-server systemd[1]: Started Analog Reflector Service.
lines 1-11/11 (END)


Eric-K6KWB
 

Make sure you stop AR before run into foreground just a thought.
systemctl stop analog_reflector