Setting up Analog_bridge for P25


Stephen Brown - K1LNX
 

Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX


Steve N4IRS
 

Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX



Stephen Brown - K1LNX
 

Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX



Steve N4IRS
 

Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX




Stephen Brown - K1LNX
 

Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 


On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX




Jeff Carrier
 

I can send you my config Stephen.

I'm not running OP25 because IMHO I believe the DV3000 produces better audio.

Give me a few to get logged in and grab them.

On Tue, Sep 11, 2018 at 1:13 PM Stephen Brown - K1LNX <k1lnx@...> wrote:
Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 

On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX




Steve N4IRS
 

Except the DV3000 does not do P25

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Jeff Carrier <k0jsc.jeff@...>
Sent: Tuesday, September 11, 2018 3:29:00 PM
To: main@dvswitch.groups.io
Subject: Re: [DVSwitch] Setting up Analog_bridge for P25
 
I can send you my config Stephen.

I'm not running OP25 because IMHO I believe the DV3000 produces better audio.

Give me a few to get logged in and grab them.

On Tue, Sep 11, 2018 at 1:13 PM Stephen Brown - K1LNX <k1lnx@...> wrote:
Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 

On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX




Jeff Carrier
 

ok weird, I guess i'm running OP25 and didn't know it. :O

Here are my configs.  You'll have to change calls, IP's and anything else specific to your installation.  Hopefully this will get you started.

On Tue, Sep 11, 2018 at 1:30 PM Steve N4IRS <szingman@...> wrote:
Except the DV3000 does not do P25

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Jeff Carrier <k0jsc.jeff@...>
Sent: Tuesday, September 11, 2018 3:29:00 PM
To: main@dvswitch.groups.io
Subject: Re: [DVSwitch] Setting up Analog_bridge for P25
 
I can send you my config Stephen.

I'm not running OP25 because IMHO I believe the DV3000 produces better audio.

Give me a few to get logged in and grab them.

On Tue, Sep 11, 2018 at 1:13 PM Stephen Brown - K1LNX <k1lnx@...> wrote:
Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 

On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX




Stephen Brown - K1LNX
 

Thanks Jeff! Ill take a look at these and advise... 


On Tue, Sep 11, 2018 at 3:38 PM Jeff Carrier <k0jsc.jeff@...> wrote:
ok weird, I guess i'm running OP25 and didn't know it. :O

Here are my configs.  You'll have to change calls, IP's and anything else specific to your installation.  Hopefully this will get you started.

On Tue, Sep 11, 2018 at 1:30 PM Steve N4IRS <szingman@...> wrote:
Except the DV3000 does not do P25

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Jeff Carrier <k0jsc.jeff@...>
Sent: Tuesday, September 11, 2018 3:29:00 PM
To: main@dvswitch.groups.io
Subject: Re: [DVSwitch] Setting up Analog_bridge for P25
 
I can send you my config Stephen.

I'm not running OP25 because IMHO I believe the DV3000 produces better audio.

Give me a few to get logged in and grab them.

On Tue, Sep 11, 2018 at 1:13 PM Stephen Brown - K1LNX <k1lnx@...> wrote:
Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 

On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX




Steve N4IRS
 

Just as a general FYI:
For DMR in order of quality, best to worst:
DV3000
md380-emu
OP25

OP25 does P25 well
OP25 does DMR "OK"
OP25 does D-Star "Just slightly better then not at all" Not really fair but that's me.

Steve


On 9/11/2018 3:37 PM, Jeff Carrier wrote:
ok weird, I guess i'm running OP25 and didn't know it. :O

Here are my configs.  You'll have to change calls, IP's and anything else specific to your installation.  Hopefully this will get you started.

On Tue, Sep 11, 2018 at 1:30 PM Steve N4IRS <szingman@...> wrote:
Except the DV3000 does not do P25

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Jeff Carrier <k0jsc.jeff@...>
Sent: Tuesday, September 11, 2018 3:29:00 PM
To: main@dvswitch.groups.io
Subject: Re: [DVSwitch] Setting up Analog_bridge for P25
 
I can send you my config Stephen.

I'm not running OP25 because IMHO I believe the DV3000 produces better audio.

Give me a few to get logged in and grab them.

On Tue, Sep 11, 2018 at 1:13 PM Stephen Brown - K1LNX <k1lnx@...> wrote:
Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 

On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX





Stephen Brown - K1LNX
 

Update, I got this working :) 

Turns out I had the wrong port numbers in the Analog_bridge ini file for txPort and rxPort under the [AMBE_AUDIO] section, I corrected that and now have bi-directional traffic. 

73
Stephen
K1LNX


On Tue, Sep 11, 2018 at 3:58 PM Steve N4IRS <szingman@...> wrote:
Just as a general FYI:
For DMR in order of quality, best to worst:
DV3000
md380-emu
OP25

OP25 does P25 well
OP25 does DMR "OK"
OP25 does D-Star "Just slightly better then not at all" Not really fair but that's me.

Steve


On 9/11/2018 3:37 PM, Jeff Carrier wrote:
ok weird, I guess i'm running OP25 and didn't know it. :O

Here are my configs.  You'll have to change calls, IP's and anything else specific to your installation.  Hopefully this will get you started.

On Tue, Sep 11, 2018 at 1:30 PM Steve N4IRS <szingman@...> wrote:
Except the DV3000 does not do P25

Sent via smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Jeff Carrier <k0jsc.jeff@...>
Sent: Tuesday, September 11, 2018 3:29:00 PM
To: main@dvswitch.groups.io
Subject: Re: [DVSwitch] Setting up Analog_bridge for P25
 
I can send you my config Stephen.

I'm not running OP25 because IMHO I believe the DV3000 produces better audio.

Give me a few to get logged in and grab them.

On Tue, Sep 11, 2018 at 1:13 PM Stephen Brown - K1LNX <k1lnx@...> wrote:
Thanks Steve, but still no go on this... and I noticed under the [AMBE_AUDIO] section that ambeMode = DMR, should this be set to P25 instead, or does it matter? I did set it to P25. 

Do I need to be using the emulator for P25/IMBE mode? I still feel like I might be missing something, but maybe not. 

On Tue, Sep 11, 2018 at 11:29 AM Steve N4IRS <szingman@...> wrote:
Stephen,
It looks like I need to update the RPi and the x86 versions of Analog_Bridge. I will TRY to get it done this week, but this is my first day back at work after a week. I doing catch up. In the mean time, use this as a template for your RPi AB:
; 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.

; General Section describes settings for Analog_Bridge itself.
;   For RPI, don't forget to modprobe snd_pcm_oss to get the devices populated
[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)
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 server

; Audio devices are normally not needed when in gateway service.  These devices should
; only be set when local monitor or dongle modes are required.
outputAudioDevice = /dev/null           ; Audio device /dev/null, /dev/dsp1, portaudio, etc
inputAudioDevice = /dev/null            ; Only used for dongle mode

; Below values are for using this as a local DMR dongle (no ASL needed)
useMicrophone = false                   ; Use app as just a fancy dongle for DMR
useVox = false                          ; If using dongle mode (useMicrophone), enable VOX
voxDecay = 2                            ; Hang time in seconds
voxTrigger = 200                        ; Value to trip PTT (0-32767)

; Information for xx_Bridges (Where xx is MMDVM, HB, IPSC)
[AMBE_AUDIO]
server = 127.0.0.1                      ; IP address of xx_Bridge.py
fromDMRPort = 31000                     ; AMBE frames from xx_Bridge (should match "toGatewayPort" in xx_Bridge.cfg)
toDMRPort = 31003                       ; AMBE frames from xx_Bridge (should match "fromGatewayPort" in xx_Bridge.cfg)
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW
minTxTimeMS = 2000                      ; Minimum time in MS for hang delay
gatewayDmrId = 3112138                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 311213850                  ; ID of source repeater
txTg = 9                                ; TG to use for all frames received from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames received 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 toASLPort equal to the other instance fromASLPort (crossover)
[USRP]
server = 127.0.0.1                      ; IP address of Allstar/Asterisk
toASLPort = 32001                       ; Analog_Bridge <-- ASL
fromASLPort = 34001                     ; Analog_Bridge --> ASL
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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]
server = 127.0.0.1                      ; IP address of AMBEServer
port = 2460                             ; Port of AMBEServer
; server = /dev/ttyUSB0                 ; Device of DV3000U on this machine
; port = 460800                         ; Baud rate of the dongle
; serial = true                         ; Use serial (DV3000U) or IP


On 9/11/2018 11:18 AM, Stephen Brown - K1LNX wrote:
Thanks Steve, here it is: 

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


; 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
subscriberFile = ./subscriber_ids.csv   ; DMR ID to callsign lookup data
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)

; 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

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31003                          ; Transmit TLV frames to partner on this port
rxPort = 31000                          ; 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                      ; 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 = 1234567                  ; ID to use when transmitting from Analog_Bridge
repeaterID = 123456789                  ; ID of source repeater
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 = 32001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
aslAudio = AUDIO_UNITY                  ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = -20                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_UNITY                  ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.35                          ; Gain factor of audio from ASL (0.0-1.0)

; 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


On Tue, Sep 11, 2018 at 11:16 AM Steve N4IRS <szingman@...> wrote:
Stephen,
Please post your Analog_Bridge_P25.ini 

On 9/11/2018 11:01 AM, Stephen Brown - K1LNX wrote:
Hi guys, 
    So I'm just starting to play with Analog_bridge and P25. My (limited) understanding is that transcoding to/from PCM is handled via software and the OP25 libraries. 

I think I have everything setup correctly, however I don't seem to be getting any traffic from P25 into Analog_bridge. There also seems to be some conflicts in the ini file, I see this in the debug messages when I start it up: 

root@radioserver:/opt/Analog_Bridge# ./Analog_Bridge Analog_Bridge_P25.ini 
I: 2018-09-10 23:15:23.979 Analog Bridge Version 1.1 Wed  9 May 05:56:17 EDT 2018
I: 2018-09-10 23:15:23.979 Copyright (C) 2018 DVSwitch, INAD.
I: 2018-09-10 23:15:23.979 Created by Mike N4IRR and Steve N4IRS
I: 2018-09-10 23:15:23.979 Analog Bridge comes with ABSOLUTELY NO WARRANTY
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 This software is for use on amateur radio networks only,
I: 2018-09-10 23:15:23.979 it is to be used for educational purposes only. Its use on
I: 2018-09-10 23:15:23.979 commercial networks is strictly prohibited.
I: 2018-09-10 23:15:23.979 
I: 2018-09-10 23:15:23.979 Analog Bridge is starting
M: 2018-09-10 23:15:23.980 Setting [GENERAL] logLevel -> 2
M: 2018-09-10 23:15:23.980 Setting [GENERAL] subscriberFile -> ./subscriber_ids.csv
M: 2018-09-10 23:15:23.980 Setting [GENERAL] exportMetadata -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] decoderFallBack -> true
M: 2018-09-10 23:15:23.980 Setting [GENERAL] useEmulator -> false
M: 2018-09-10 23:15:23.980 Setting [GENERAL] emulatorAddress -> 127.0.0.1:2470
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/address
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/txPort
W: 2018-09-10 23:15:23.980 Unknown section/name in .ini file: AMBE_AUDIO/rxPort
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] ambeMode -> P25
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] minTxTimeMS -> 2000
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] gatewayDmrId -> 1234567
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] repeaterID -> 123456789
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTg -> 9
M: 2018-09-10 23:15:23.980 Setting [AMBE_AUDIO] txTs -> 2
M: 2018-09-10 23:15:23.981 Setting [AMBE_AUDIO] colorCode -> 1
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/txPort
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: USRP/rxPort
M: 2018-09-10 23:15:23.981 Setting [USRP] aslAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] agcGain -> -20
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrAudio -> AUDIO_UNITY
M: 2018-09-10 23:15:23.981 Setting [USRP] dmrGain -> 0.35
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/address
W: 2018-09-10 23:15:23.981 Unknown section/name in .ini file: DV3000/rxPort
W: 2018-09-10 23:15:23.981 ioctl reset error 
W: 2018-09-10 23:15:23.981 ioctl speed error 
W: 2018-09-10 23:15:23.981 ioctl stereo error 
W: 2018-09-10 23:15:23.981 ioctl setfmt error 
M: 2018-09-10 23:15:23.981 Audio In/Out Device: /dev/null
I: 2018-09-10 23:15:23.981 Open UDP listener on 127.0.0.1:31000
I: 2018-09-10 23:15:23.981 Open USRP on 127.0.0.1:32001
M: 2018-09-10 23:15:23.982 Connecting to DV3000 hardware......
W: 2018-09-10 23:15:24.991 DV3000 not found at 127.0.0.1:2460
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@...
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
I: 2018-09-10 23:15:24.992 Subscriber IDs file not found.
I: 2018-09-10 23:15:24.992 Default extended metadata <1234567>
W: 2018-09-10 23:15:24.992 Using software MBE decoder version 1.2.3
W: 2018-09-10 23:15:24.992 Using software OP25 IMBE/AMBE vocoder
I: 2018-09-10 23:15:24.993 Starting Analog_Bridge --> USRP thread
I: 2018-09-10 23:15:24.993 Open UDP listener on 127.0.0.1:34001
I: 2018-09-10 23:15:24.993 Starting USRP --> IPSC_Bridge thread

MMDVM_bridge/P25Gateway appear to work fine, I have them pointed at a test reflector I built. All are locally hosted on the same raspberry pi, and there doesn't appear to be any firewall issues blocking anything, I allow everyting in and out on lo. I built a private node on the app_rpt side and see key/unkey events if I connect my normal node to it so that part seems to be working at least. 

I think I might be missing something, or something is potentially misconfig'd, but can't really put a finger on it. Does Analog_bridge handle P25/IMBE transcoding, or do I need something "external" for that to take place? I also will typically use a different ID on private networks such as this, and have had that sort of stuff get me in the past, so also wanted to make sure there is no ID checking? 

73
Stephen
K1LNX