P25 to DMR troubles. error at MMDVM_Bridge - Cannot bind UDP address, err: 98 -and- Cannot open listener port 34103


Todd, KB7RQQ
 

I have a P25 reflector running and it works great.  Decided to bridge to our DMR talk group. so I have P25Reflector --> P25Gateway --> Analog_Bridge_DMR --> Analog_Bridge_P25 --> MMDVM_Bridge.  Reflector is working fine, checked both AB's for port accuracy.  When I fire them up in that order, I get an error on MMDVM_Bridge.

This is cut down to the end....

M: 2021-09-16 01:32:00.439 P25, Opening INI file: DVSwitch.ini
M: 2021-09-16 01:32:00.440 P25, Setting [P25] address -> 127.0.0.1
M: 2021-09-16 01:32:00.440 P25, Setting [P25] txPort -> 34100
M: 2021-09-16 01:32:00.440 P25, Setting [P25] rxPort -> 34103
M: 2021-09-16 01:32:00.440 P25, Setting [P25] slot -> 2
M: 2021-09-16 01:32:00.440 P25, Setting [P25] RemotePort -> 6074
E: 2021-09-16 01:32:00.440 Cannot bind the UDP address, err: 98
F: 2021-09-16 01:32:00.440 P25, Can not open listener port 34103

34103 would be the rxPort of P25 side of Analog_Bridge_P25.ini    Not sure what configs would be helpful so I'll start with P25Bridge/AB_DMR/ABP25

Anyone see anything that stands out as whacky?

--P25Bridge.ini
[General]
Callsign=KB7RQQ
RptAddress=127.0.0.1
RptPort=32010
LocalPort=42020
Daemon=0
 
[Id Lookup]
Name=/var/lib/mmdvm/DMRIds.dat
Time=24
 
[Voice]
Enabled=1
Language=en_US
Directory=./Audio
 
[Log]
# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=P25Gateway
 
[Network]
Port=42010
HostsFile1=/etc/P25Hosts.txt
HostsFile2=./private/P25Hosts.txt
ReloadTime=60
ParrotAddress=127.0.0.1
ParrotPort=42011
Startup=31655
InactivityTimeout=10
Debug=0
 
[Remote Commands]
Enable=0
Port=6074



--Analog_Bridge_DMR.ini

; Analog_Bridge configuration file.
;   This file should be placed in either /etc or it can be
;   supplied as a path on the Analog_Bridge command line.
 
; The best way to think of this file is that there are two main sections, the USRP (analog audio) and
; AMBE_AUDIO (compressed audio).  Analog_Bridge will take everything sent to the USRP port and
; encode it for transmission on the AMBE_AUDIO port.  The encoder will use the format defined in ambeMode.
; As you might expect, the reverse direction is defined too.
 
; Analog_Bridge supports include files. More on this later...
include = dvsm.macro
; include = asl.macro
 
; General Section describes settings for Analog_Bridge itself.
[GENERAL]
logLevel = 2                            ; Show messages and above 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
 
; Metadata management
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)
transferRootDir = /tmp ; Export database files to USRP partner
subscriberFile = /var/lib/dvswitch/subscriber_ids.csv   ; DMR ID to callsign lookup data
 
; General vocoder setup information
decoderFallBack = true                  ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = false                     ; 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 = 31100                          ; Transmit TLV frames to partner on this port
rxPort = 31103                          ; 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 = 2000                      ; 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 = 3153376                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 315337613                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 31655                                ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 1                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; 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




--Analog_Bridge_P25

; 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 = false                     ; 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 = 34100                          ; Transmit TLV frames to partner on this port
rxPort = 34103                          ; Listen for TLV frames from partner on this port
ambeMode = P25                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2000                      ; 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 = 3153376                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 315337613                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 31655                            ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 1                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 34001                          ; Transmit USRP frames on this port
rxPort = 32001                          ; 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
 



On 9/15/21 10:06 PM, Todd, KB7RQQ wrote:
I have a P25 reflector running and it works great.  Decided to bridge to our DMR talk group. so I have P25Reflector --> P25Gateway --> Analog_Bridge_DMR --> Analog_Bridge_P25 --> MMDVM_Bridge.  Reflector is working fine, checked both AB's for port accuracy.  When I fire them up in that order, I get an error on MMDVM_Bridge.

This is cut down to the end....

M: 2021-09-16 01:32:00.439 P25, Opening INI file: DVSwitch.ini
M: 2021-09-16 01:32:00.440 P25, Setting [P25] address -> 127.0.0.1
M: 2021-09-16 01:32:00.440 P25, Setting [P25] txPort -> 34100
M: 2021-09-16 01:32:00.440 P25, Setting [P25] rxPort -> 34103
M: 2021-09-16 01:32:00.440 P25, Setting [P25] slot -> 2
M: 2021-09-16 01:32:00.440 P25, Setting [P25] RemotePort -> 6074
E: 2021-09-16 01:32:00.440 Cannot bind the UDP address, err: 98
F: 2021-09-16 01:32:00.440 P25, Can not open listener port 34103

34103 would be the rxPort of P25 side of Analog_Bridge_P25.ini    Not sure what configs would be helpful so I'll start with P25Bridge/AB_DMR/ABP25

Anyone see anything that stands out as whacky?

--P25Bridge.ini
[General]
Callsign=KB7RQQ
RptAddress=127.0.0.1
RptPort=32010
LocalPort=42020
Daemon=0
 
[Id Lookup]
Name=/var/lib/mmdvm/DMRIds.dat
Time=24
 
[Voice]
Enabled=1
Language=en_US
Directory=./Audio
 
[Log]
# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=P25Gateway
 
[Network]
Port=42010
HostsFile1=/etc/P25Hosts.txt
HostsFile2=./private/P25Hosts.txt
ReloadTime=60
ParrotAddress=127.0.0.1
ParrotPort=42011
Startup=31655
InactivityTimeout=10
Debug=0
 
[Remote Commands]
Enable=0
Port=6074



--Analog_Bridge_DMR.ini

; Analog_Bridge configuration file.
;   This file should be placed in either /etc or it can be
;   supplied as a path on the Analog_Bridge command line.
 
; The best way to think of this file is that there are two main sections, the USRP (analog audio) and
; AMBE_AUDIO (compressed audio).  Analog_Bridge will take everything sent to the USRP port and
; encode it for transmission on the AMBE_AUDIO port.  The encoder will use the format defined in ambeMode.
; As you might expect, the reverse direction is defined too.
 
; Analog_Bridge supports include files. More on this later...
include = dvsm.macro
; include = asl.macro
 
; General Section describes settings for Analog_Bridge itself.
[GENERAL]
logLevel = 2                            ; Show messages and above 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
 
; Metadata management
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)
transferRootDir = /tmp ; Export database files to USRP partner
subscriberFile = /var/lib/dvswitch/subscriber_ids.csv   ; DMR ID to callsign lookup data
 
; General vocoder setup information
decoderFallBack = true                  ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = false                     ; 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 = 31100                          ; Transmit TLV frames to partner on this port
rxPort = 31103                          ; 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 = 2000                      ; 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 = 3153376                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 315337613                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 31655                                ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 1                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; 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




--Analog_Bridge_P25

; 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 = false                     ; 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 = 34100                          ; Transmit TLV frames to partner on this port
rxPort = 34103                          ; Listen for TLV frames from partner on this port
ambeMode = P25                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2000                      ; 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 = 3153376                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 315337613                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 31655                            ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 1                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 34001                          ; Transmit USRP frames on this port
rxPort = 32001                          ; 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
 

The path would be:
P25Reflector <-> P25Gateway <-> MMDVM_Bridge <->Analog_Bridge_P25 <-> Analog_Bridge_DMR <-> MMDVM_Bridge <-> DMR network This would use a single instance of MMDVM_Bridge.
Analog_Bridge_P25 [AMBE_AUDIO] should point to the UDP ports defined in DVSwitch.ini for P25 and Analog_Bridge_DMR [AMBE_AUDIO] should point to the UDP ports defined in DVSwitch.ini for DMR.

Show your DVSwitch.ini

On 9/15/21 10:06 PM, Todd, KB7RQQ wrote:
I have a P25 reflector running and it works great.  Decided to bridge to our DMR talk group. so I have P25Reflector --> P25Gateway --> Analog_Bridge_DMR --> Analog_Bridge_P25 --> MMDVM_Bridge.  Reflector is working fine, checked both AB's for port accuracy.  When I fire them up in that order, I get an error on MMDVM_Bridge.

This is cut down to the end....

M: 2021-09-16 01:32:00.439 P25, Opening INI file: DVSwitch.ini
M: 2021-09-16 01:32:00.440 P25, Setting [P25] address -> 127.0.0.1
M: 2021-09-16 01:32:00.440 P25, Setting [P25] txPort -> 34100
M: 2021-09-16 01:32:00.440 P25, Setting [P25] rxPort -> 34103
M: 2021-09-16 01:32:00.440 P25, Setting [P25] slot -> 2
M: 2021-09-16 01:32:00.440 P25, Setting [P25] RemotePort -> 6074
E: 2021-09-16 01:32:00.440 Cannot bind the UDP address, err: 98
F: 2021-09-16 01:32:00.440 P25, Can not open listener port 34103

34103 would be the rxPort of P25 side of Analog_Bridge_P25.ini    Not sure what configs would be helpful so I'll start with P25Bridge/AB_DMR/ABP25

Anyone see anything that stands out as whacky?

--P25Bridge.ini
[General]
Callsign=KB7RQQ
RptAddress=127.0.0.1
RptPort=32010
LocalPort=42020
Daemon=0
 
[Id Lookup]
Name=/var/lib/mmdvm/DMRIds.dat
Time=24
 
[Voice]
Enabled=1
Language=en_US
Directory=./Audio
 
[Log]
# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=P25Gateway
 
[Network]
Port=42010
HostsFile1=/etc/P25Hosts.txt
HostsFile2=./private/P25Hosts.txt
ReloadTime=60
ParrotAddress=127.0.0.1
ParrotPort=42011
Startup=31655
InactivityTimeout=10
Debug=0
 
[Remote Commands]
Enable=0
Port=6074



--Analog_Bridge_DMR.ini

; Analog_Bridge configuration file.
;   This file should be placed in either /etc or it can be
;   supplied as a path on the Analog_Bridge command line.
 
; The best way to think of this file is that there are two main sections, the USRP (analog audio) and
; AMBE_AUDIO (compressed audio).  Analog_Bridge will take everything sent to the USRP port and
; encode it for transmission on the AMBE_AUDIO port.  The encoder will use the format defined in ambeMode.
; As you might expect, the reverse direction is defined too.
 
; Analog_Bridge supports include files. More on this later...
include = dvsm.macro
; include = asl.macro
 
; General Section describes settings for Analog_Bridge itself.
[GENERAL]
logLevel = 2                            ; Show messages and above 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
 
; Metadata management
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)
transferRootDir = /tmp ; Export database files to USRP partner
subscriberFile = /var/lib/dvswitch/subscriber_ids.csv   ; DMR ID to callsign lookup data
 
; General vocoder setup information
decoderFallBack = true                  ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = false                     ; 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 = 31100                          ; Transmit TLV frames to partner on this port
rxPort = 31103                          ; 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 = 2000                      ; 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 = 3153376                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 315337613                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 31655                                ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 1                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; 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




--Analog_Bridge_P25

; 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 = false                     ; 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 = 34100                          ; Transmit TLV frames to partner on this port
rxPort = 34103                          ; Listen for TLV frames from partner on this port
ambeMode = P25                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2000                      ; 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 = 3153376                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 315337613                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 31655                            ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 1                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames
 
; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 34001                          ; Transmit USRP frames on this port
rxPort = 32001                          ; 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
 
 


Todd, KB7RQQ
 

Thanks Steve (again!)   Starting to make a little more sense now.  Was following some loose instructions that didn't mention two instances of MMDVM_Bridge being needed.  And I also don't remember getting into DVSwitch.ini.  

Here is my DVSwitch.ini.

; MMDVM_Bridge export / import configuration file.
;   This file should be placed along side of MMDVM_Bridge or you can supply
;   an absolute path in the DVSWITCH environment variable, e.g:
;   DVSWITCH=/etc/MMDVM_Bridge/DVSwitch.ini
;   before executing MMDVM_Bridge
;
; Another method to set the enviorment variable is to use the systemd unit file
; by adding:
; Environment=DVSWITCH=/etc/MMDVM_Bridge/DVSwitch.ini
; to /lib/systemd/system/mmdvm_bridge.service
 
; Configure the Quantar Repeater Partner
; Note that the TX and RX ports are already reversed for MMDVM_Bridge <--> Quantar_Bridge
[QUANTAR]
address = 0.0.0.0               ; Address to send IMBE TLV frames to (export)
txPort = 34103                  ; Port to send IMBE TLV frames to (export)
rxPort = 34100                  ; Port to listen for IMBE TLV frames on (import)
quantarPort = 1994              ; HDLC frames To/From the Quantar repeater
debug = 0                       ; Debug 0 = off, 1 = on (adds lots of additional messages)
logLevel = 2                    ; Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
logFilePath = /var/log/dvswitch/Quantar_Bridge.log
 
; Configure the DMR Partner
; Audio format is AMBE 72 bit
[DMR]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 31100                  ; Port to send AMBE TLV frames to (export)
rxPort = 31103                  ; Port to listen on (import)
slot = 2                        ; Export slot
exportTG = 0                    ; Which TG to export 
hangTimerInFrames = 0 ; Use 50 for 3 seconds of hang time (3000 / 60) 
talkerAlias = %callsign %location %description ; Get callsign location and description from MMDVM_Bridge.ini
 
; Configure the D-Star Partner
; Audio format is AMBE 48 bit (DSAMBE)
[DSTAR]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 32100                  ; Port to send AMBE TLV frames to (export)
rxPort = 32103                  ; Port to listen on (import)
fallbackID = 1234567            ; In case we can not find a valid DMR id in the database, export this one
exportTG = 9                    ; Which TG to export
slot = 2                        ; Export slot
RemotePort = 54321 ; Port to send Gateway commands to
message = %location %description ; Get location and description from MMDVM_Bridge.ini
 
; Configure the NXDN Partner
; Audio format is AMBE 72 bit
[NXDN]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 33100                  ; Port to send AMBE TLV frames to (export)
rxPort = 33103                  ; Port to listen on (import)
fallbackID = 1234567            ; In case we can not find a valid DMR id in the database, export this one
nxdnFallbackID  = 12345         ; Use this ID when the input DMR ID is not found in the database
translate = 1234=4321           ; Translate NXDN TG < -- > DMR TG (bidirectional)
slot = 2                        ; Export slot
RemotePort = 6075 ; Port to send Gateway commands to
 
; Configure the P25 Partner
; Audio format is IMBE 88 bit
[P25]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 34100                  ; Port to send AMBE TLV frames to (export)
rxPort = 34103                  ; Port to listen on (import)
slot = 2                        ; Export slot
RemotePort = 6074 ; Port to send Gateway commands to
 
; Configure the Yaesu Fusion Partner
; Audio format is AMBE 72 bit
; Audio format is IMBE 88 bit
[YSF]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 35100                  ; Port to send AMBE TLV frames to (export)
rxPort = 35103                  ; Port to listen on (import)
txWidePort = 35105 ; Port to send IMBE TLV frames to for YSFw (export)
fallbackID = 1234567            ; In case we can not find a valid DMR id in the database, export this one
exportTG = 9                    ; Which TG to export
slot = 2                        ; Export slot
RemotePort = 6073 ; Port to send Gateway commands to
 
; Configure the BrandMeister connection
; Simple Terminal Feature Update
; Audio format is AMBE 72 bit
[STFU]                          ; Brandmeister Open DMR Terminal (ODMRT) Protocol
BMAddress = 3102.repeater.net   ; Brandmeister ODMRT server address
BMPort = 54006                  ; Brandmeister ODMRT port
BMPassword = passw0rd           ; Your Brandmeister password
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort  = 36100                 ; Port to send AMBE TLV frames to (export)
rxPort  = 36103                 ; Port to listen on (import)
UserID  = 123456789             ; Your DMR ID + SSID
TalkerAlias = N0CALL Name City  ; Max 27 characters
StartTG = 3166                  ; Startup talk group
LogLevel = 3                    ; STFU log level (0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error)
 
[ASL]
address = 127.0.0.1
txPort = 30100
rxPort = 30103
 


Steve N4IRS
 

It's a single instance of MB

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Todd, KB7RQQ <toddholzman@...>
Sent: Thursday, September 16, 2021 10:16:02 AM
To: main@DVSwitch.groups.io <main@DVSwitch.groups.io>
Subject: Re: [DVSwitch] P25 to DMR troubles. error at MMDVM_Bridge - Cannot bind UDP address, err: 98 -and- Cannot open listener port 34103
 
Thanks Steve (again!)   Starting to make a little more sense now.  Was following some loose instructions that didn't mention two instances of MMDVM_Bridge being needed.  And I also don't remember getting into DVSwitch.ini.  

Here is my DVSwitch.ini.

; MMDVM_Bridge export / import configuration file.
;   This file should be placed along side of MMDVM_Bridge or you can supply
;   an absolute path in the DVSWITCH environment variable, e.g:
;   DVSWITCH=/etc/MMDVM_Bridge/DVSwitch.ini
;   before executing MMDVM_Bridge
;
; Another method to set the enviorment variable is to use the systemd unit file
; by adding:
; Environment=DVSWITCH=/etc/MMDVM_Bridge/DVSwitch.ini
; to /lib/systemd/system/mmdvm_bridge.service
 
; Configure the Quantar Repeater Partner
; Note that the TX and RX ports are already reversed for MMDVM_Bridge <--> Quantar_Bridge
[QUANTAR]
address = 0.0.0.0               ; Address to send IMBE TLV frames to (export)
txPort = 34103                  ; Port to send IMBE TLV frames to (export)
rxPort = 34100                  ; Port to listen for IMBE TLV frames on (import)
quantarPort = 1994              ; HDLC frames To/From the Quantar repeater
debug = 0                       ; Debug 0 = off, 1 = on (adds lots of additional messages)
logLevel = 2                    ; Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
logFilePath = /var/log/dvswitch/Quantar_Bridge.log
 
; Configure the DMR Partner
; Audio format is AMBE 72 bit
[DMR]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 31100                  ; Port to send AMBE TLV frames to (export)
rxPort = 31103                  ; Port to listen on (import)
slot = 2                        ; Export slot
exportTG = 0                    ; Which TG to export 
hangTimerInFrames = 0 ; Use 50 for 3 seconds of hang time (3000 / 60) 
talkerAlias = %callsign %location %description ; Get callsign location and description from MMDVM_Bridge.ini
 
; Configure the D-Star Partner
; Audio format is AMBE 48 bit (DSAMBE)
[DSTAR]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 32100                  ; Port to send AMBE TLV frames to (export)
rxPort = 32103                  ; Port to listen on (import)
fallbackID = 1234567            ; In case we can not find a valid DMR id in the database, export this one
exportTG = 9                    ; Which TG to export
slot = 2                        ; Export slot
RemotePort = 54321 ; Port to send Gateway commands to
message = %location %description ; Get location and description from MMDVM_Bridge.ini
 
; Configure the NXDN Partner
; Audio format is AMBE 72 bit
[NXDN]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 33100                  ; Port to send AMBE TLV frames to (export)
rxPort = 33103                  ; Port to listen on (import)
fallbackID = 1234567            ; In case we can not find a valid DMR id in the database, export this one
nxdnFallbackID  = 12345         ; Use this ID when the input DMR ID is not found in the database
translate = 1234=4321           ; Translate NXDN TG < -- > DMR TG (bidirectional)
slot = 2                        ; Export slot
RemotePort = 6075 ; Port to send Gateway commands to
 
; Configure the P25 Partner
; Audio format is IMBE 88 bit
[P25]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 34100                  ; Port to send AMBE TLV frames to (export)
rxPort = 34103                  ; Port to listen on (import)
slot = 2                        ; Export slot
RemotePort = 6074 ; Port to send Gateway commands to
 
; Configure the Yaesu Fusion Partner
; Audio format is AMBE 72 bit
; Audio format is IMBE 88 bit
[YSF]
address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort = 35100                  ; Port to send AMBE TLV frames to (export)
rxPort = 35103                  ; Port to listen on (import)
txWidePort = 35105 ; Port to send IMBE TLV frames to for YSFw (export)
fallbackID = 1234567            ; In case we can not find a valid DMR id in the database, export this one
exportTG = 9                    ; Which TG to export
slot = 2                        ; Export slot
RemotePort = 6073 ; Port to send Gateway commands to
 
; Configure the BrandMeister connection
; Simple Terminal Feature Update
; Audio format is AMBE 72 bit
[STFU]                          ; Brandmeister Open DMR Terminal (ODMRT) Protocol
BMAddress = 3102.repeater.net   ; Brandmeister ODMRT server address
BMPort = 54006                  ; Brandmeister ODMRT port
BMPassword = passw0rd           ; Your Brandmeister password
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
txPort  = 36100                 ; Port to send AMBE TLV frames to (export)
rxPort  = 36103                 ; Port to listen on (import)
UserID  = 123456789             ; Your DMR ID + SSID
TalkerAlias = N0CALL Name City  ; Max 27 characters
StartTG = 3166                  ; Startup talk group
LogLevel = 3                    ; STFU log level (0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error)
 
[ASL]
address = 127.0.0.1
txPort = 30100
rxPort = 30103
 


Todd, KB7RQQ
 

OK... maybe I need to map this out again.  Printing off the .ini's involved so I can follow the paths again. 


Steve N4IRS
 

DVSwitch.ini defines the AMBE_audio ports AB connects to for each mode.

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Todd, KB7RQQ <toddholzman@...>
Sent: Thursday, September 16, 2021 10:32:32 AM
To: main@DVSwitch.groups.io <main@DVSwitch.groups.io>
Subject: Re: [DVSwitch] P25 to DMR troubles. error at MMDVM_Bridge - Cannot bind UDP address, err: 98 -and- Cannot open listener port 34103
 
OK... maybe I need to map this out again.  Printing off the .ini's involved so I can follow the paths again. 


Todd, KB7RQQ
 

OK... going through it again. 


Steve N4IRS
 

On 9/16/2021 10:43 AM, Todd, KB7RQQ wrote:
OK... going through it again. 


Todd, KB7RQQ
 

Great diagram! Think I saw that at one point early on and forgot about it.  I think I'm armed with the tools I need to figure this out.  Still learning and even though this is challenging (for me)... I'm having fun. Thanks again for the tools and all the help.

Todd KB7RQQ

On 9/16/2021 8:23 AM, Steve N4IRS wrote:
<https://dvswitch.groups.io/g/main/wiki/9379>

On 9/16/2021 10:43 AM, Todd, KB7RQQ wrote:
OK... going through it again. 


Steve N4IRS
 

One suggestion, DVSwitch.ini should need little to no modification. You will be editing the AB ini files so, make your changes there and leave DVswitch.ini stock.

Steve

On 9/16/2021 11:30 AM, Todd, KB7RQQ wrote:

Great diagram! Think I saw that at one point early on and forgot about it.  I think I'm armed with the tools I need to figure this out.  Still learning and even though this is challenging (for me)... I'm having fun. Thanks again for the tools and all the help.

Todd KB7RQQ

On 9/16/2021 8:23 AM, Steve N4IRS wrote:
<https://dvswitch.groups.io/g/main/wiki/9379>

On 9/16/2021 10:43 AM, Todd, KB7RQQ wrote:
OK... going through it again. 



Todd, KB7RQQ
 

OK sounds good. Thank you.

On 9/16/2021 9:18 AM, Steve N4IRS wrote:
One suggestion, DVSwitch.ini should need little to no modification. You will be editing the AB ini files so, make your changes there and leave DVswitch.ini stock.

Steve

On 9/16/2021 11:30 AM, Todd, KB7RQQ wrote:

Great diagram! Think I saw that at one point early on and forgot about it.  I think I'm armed with the tools I need to figure this out.  Still learning and even though this is challenging (for me)... I'm having fun. Thanks again for the tools and all the help.

Todd KB7RQQ

On 9/16/2021 8:23 AM, Steve N4IRS wrote:
<https://dvswitch.groups.io/g/main/wiki/9379>

On 9/16/2021 10:43 AM, Todd, KB7RQQ wrote:
OK... going through it again. 



Todd, KB7RQQ
 

Got it running! USRP audio ports were crossed on the P25 side of Analog_Bridge.  Thanks!

Todd KB7RQQ



On 9/16/2021 9:51 AM, Todd, KB7RQQ wrote:

OK sounds good. Thank you.

On 9/16/2021 9:18 AM, Steve N4IRS wrote:
One suggestion, DVSwitch.ini should need little to no modification. You will be editing the AB ini files so, make your changes there and leave DVswitch.ini stock.

Steve

On 9/16/2021 11:30 AM, Todd, KB7RQQ wrote:

Great diagram! Think I saw that at one point early on and forgot about it.  I think I'm armed with the tools I need to figure this out.  Still learning and even though this is challenging (for me)... I'm having fun. Thanks again for the tools and all the help.

Todd KB7RQQ

On 9/16/2021 8:23 AM, Steve N4IRS wrote:
<https://dvswitch.groups.io/g/main/wiki/9379>

On 9/16/2021 10:43 AM, Todd, KB7RQQ wrote:
OK... going through it again.