Topics

Adding P25 to existing YSF and DMR bridge


Gary, KE8O
 

I currently have a test system where I have bridged YSF and DMR using MMDVM_Bridge.  I have the P25Reflector  installed on the same system running as a standalone reflector. I would like to add P25 to the existing YSF / DMR bridge.  I searched the existing message and found a discussion on bridging P25 to DMR that involved using Analog_Bridge. I'm just not sure on how to add a third mode into the mix.  Any guidance would be appreciated.


 

On 27/11/20 4:03 pm, Gary, KE8O wrote:
I currently have a test system where I have bridged YSF and DMR using
MMDVM_Bridge.  I have the P25Reflector  installed on the same system
running as a standalone reflector. I would like to add P25 to the
existing YSF / DMR bridge.  I searched the existing message and found
a discussion on bridging P25 to DMR that involved using Analog_Bridge.
I'm just not sure on how to add a third mode into the mix.  Any
guidance would be appreciated.
You would need a second instance of MMDVM-Bridge, which is sitting on
the same DMR TG as the original bridge.  The way I see it is:

DMR - MMDVM-Bridge - Analog_Bridge (1) - Analog_Bridge (2) -
MMDVM_Bridge - P25Gateway - P25 Reflector.

Analog_Bridge (1) would be configured to use the md380-emulator for DMR
AMBE encoding, while Analog_Bridge (2) needs to use the software IMBE
vocoder from op25.  Of course, hardware vocoders can be used instead of
the software options I've given, but the software vocoders are excellent
for DMR and P25.

So at the end of the day, you're running 3 instances of MMDVM_Bridge
(including the existing DMR - YSF instance), plus 2 instances of
Analog_Bridge.

--
73 de Tony VK3JED/VK3IRL
http://vkradio.com


Steve N4IRS
 

Close.
A DMR <-> P25 bridge would be one instance of MB and 2 instances of AB.

DMR Network <-> MB <-> AB_DMR <-> AB_P25 <-> MB <-> P25Gateway <-> P25 Reflector.

Here is the port map <https://dvswitch.groups.io/g/main/wiki/9379>

Steve N4IRS

On 11/27/20 12:54 AM, Tony Langdon wrote:
On 27/11/20 4:03 pm, Gary, KE8O wrote:
I currently have a test system where I have bridged YSF and DMR using
MMDVM_Bridge.  I have the P25Reflector  installed on the same system
running as a standalone reflector. I would like to add P25 to the
existing YSF / DMR bridge.  I searched the existing message and found
a discussion on bridging P25 to DMR that involved using Analog_Bridge.
I'm just not sure on how to add a third mode into the mix.  Any
guidance would be appreciated.
You would need a second instance of MMDVM-Bridge, which is sitting on
the same DMR TG as the original bridge.  The way I see it is:

DMR - MMDVM-Bridge - Analog_Bridge (1) - Analog_Bridge (2) -
MMDVM_Bridge - P25Gateway - P25 Reflector.

Analog_Bridge (1) would be configured to use the md380-emulator for DMR
AMBE encoding, while Analog_Bridge (2) needs to use the software IMBE
vocoder from op25.  Of course, hardware vocoders can be used instead of
the software options I've given, but the software vocoders are excellent
for DMR and P25.

So at the end of the day, you're running 3 instances of MMDVM_Bridge
(including the existing DMR - YSF instance), plus 2 instances of
Analog_Bridge.


Gary, KE8O
 

Thanks Tony and Steve for the information. I will give this a try later tonight.


Gary, KE8O
 

OK, I think I have my head wrapped around the AB side but I'm not sure on the number of MB instances.  Below is how I currently have my /opt folder setup.

According to Steve's response and the port flow I need two AB instances for the DMR<--> P25 and one MB instance. Is that one MB instance my existing YSF/DMR instance or in addition ? 



Steve N4IRS
 

Gary,
Think of it this way. What modes do you need? MB can do each of the modes, once.
You have a YSF <-> DMR
You want to do P25 <-> DMR

A P25 to DMR Bridge is one instance of MB and 2 instances of AB (the transcoder)

In you YSF <-> DMR bridge, you cross connected the TLV ports. In you P25 <-> DMR bridge that cross connect needs to go through a transcoder.
Think if it as 2 networks. P25 <-> AB and DMR <-> AB This is a single instance of MB and 2 instances of AB. Now, connect the 2 AB together at the USRP ports.
You have a transcoder.

On 11/28/20 6:43 AM, Gary, KE8O wrote:
OK, I think I have my head wrapped around the AB side but I'm not sure on the number of MB instances.  Below is how I currently have my /opt folder setup.

According to Steve's response and the port flow I need two AB instances for the DMR<--> P25 and one MB instance. Is that one MB instance my existing YSF/DMR instance or in addition ? 




Gary, KE8O
 

I really tried to solve this without coming back asking for more help, but I am stumped.  I configured according to the P25 to DMR flow diagram with the following exceptions. In my second MB instance I ran into port conflicts using TX 33100 & RX 33103 on DMR so I  added 1 to second digit using 3311x. I also had to change DMR local port from 62032 to 62033 to clear up error when trying to login to DMR master.  For P25Gateway I add my private P25 reflector privateP25Host.txt and set it as started up TG.  When I TX on P25 it is not bridging to DMR. However, I see the activity in my DMR and P25 AB log. What I find interesting is if someone is on DMR I see start and end of transmission on my P25 reflector log but nothing is heard on P25 side. I pulled the logs showing my port setup from both AB instances and my DMR to P25 MB. I also included my P25gateway log showing the start-up TG and my P25Reflector log showing the incoming TX from DMR side.

Maybe someone else looking at my setup will find something I've overlooked.

P25 AB1 Log

[AMBE_AUDIO] address -> 127.0.0.1

[AMBE_AUDIO] txPort -> 34103

[AMBE_AUDIO] rxPort -> 34100

[AMBE_AUDIO] ambeMode -> P25

[AMBE_AUDIO] minTxTimeMS -> 2500

[AMBE_AUDIO] gatewayDmrId -> 1139360

[AMBE_AUDIO] repeaterID -> 113936033

[AMBE_AUDIO] txTg -> 9

[AMBE_AUDIO] txTs -> 2

[AMBE_AUDIO] colorCode -> 1

[USRP] address -> 127.0.0.1

[USRP] txPort -> 34001

[USRP] rxPort -> 32001

[USRP] usrpAudio -> AUDIO_UNITY

[USRP] usrpGain -> 1.10

[USRP] usrpAGC -> -20,10,100

[USRP] tlvAudio -> AUDIO_UNITY

[USRP] tlvGain -> 0.35

 

DMR AB2 Log

[AMBE_AUDIO] address -> 127.0.0.1

[AMBE_AUDIO] txPort -> 31113

[AMBE_AUDIO] rxPort -> 31110

[AMBE_AUDIO] ambeMode -> DMR

[AMBE_AUDIO] minTxTimeMS -> 2500

[AMBE_AUDIO] gatewayDmrId -> 1139360

[AMBE_AUDIO] repeaterID -> 113936022

[AMBE_AUDIO] txTg -> 9

[AMBE_AUDIO] txTs -> 2

[AMBE_AUDIO] colorCode -> 1

[USRP] address -> 127.0.0.1

[USRP] txPort -> 32001

[USRP] rxPort -> 34001

[USRP] usrpAudio -> AUDIO_UNITY

[USRP] usrpGain -> 1.10

[USRP] usrpAGC -> -20,10,100

[USRP] tlvAudio -> AUDIO_UNITY

[USRP] tlvGain -> 0.35

 

 

MMDVM2 Log

MMDVM_Bridge-20201129_V1.6.2 is starting

Built 16:43:40 Nov 29 2020 (GitID #89f8998)

General Parameters

Callsign: KE8O

Id: 1139360

Duplex: no

Timeout: 180s

D-Star: disabled

DMR: enabled

YSF: disabled

P25: enabled

NXDN: disabled

Modem Parameters

Port: /dev/null

RX Invert: no

TX Invert: no

PTT Invert: no

TX Delay: 100ms

RX Offset: 0Hz

TX Offset: 0Hz

RX DC Offset: 0

TX DC Offset: 0

RF Level: 100.0%

DMR Delay: 0 (0.0ms)

RX Level: 50.0%

CW Id TX Level: 50.0%

D-Star TX Level: 50.0%

DMR TX Level: 50.0%

YSF TX Level: 50.0%

P25 TX Level: 50.0%

NXDN TX Level: 50.0%

RX Frequency: 222340000Hz (222340000Hz)

TX Frequency: 224940000Hz (224940000Hz)

Opening the MMDVM

Display Parameters

Type:

DMR Network Parameters

Address: tgif.network

Port: 62031

Local: 62033 ß changed from 62032 to clear DMR master login errors

Jitter: 360ms

Slot 1: disabled

Slot 2: enabled

Mode Hang: 3s

Info Parameters

Callsign: KE8O

RX Frequency: 222340000Hz

TX Frequency: 224940000Hz

Power: 1W

Latitude: 41.733299deg N

Longitude: -50.399899deg E

Height: 0m

Location: "Iceberg, North Atlantic"

Description: "MMDVM_Bridge2 "

URL: "https://groups.io/g/DVSwitch"

DMR, Opening DMR Network

P25 Network Parameters

Gateway Address: 127.0.0.1

Gateway Port: 42020

Local Port: 32010

Mode Hang: 3s

P25, Opening INI file: DVSwitch.ini

P25, Setting [P25] address -> 127.0.0.1

P25, Setting [P25] txPort -> 34100

P25, Setting [P25] rxPort -> 34103

P25, Setting [P25] slot -> 2

P25, Setting [P25] RemotePort -> 6074

P25, Transmitting on 127.0.0.1:34100, and listening on port 34103.  Result = 1

Opening P25 network connection

RSSI

Mapping File: /dev/null

Loaded 0 RSSI data mapping points from /dev/null

Id Lookups

File: /var/lib/mmdvm/DMRIds.dat

Reload: 24 hours

Loaded 179777 Ids to the DMR callsign lookup table

DMR RF Parameters

Id: 1139360

Color Code: 1

Self Only: no

Embedded LC Only: yes

Dump Talker Alias Data: no

Prefixes: 0

Call Hang: 3s

TX Hang: 3s

Mode Hang: 10s

DMR, Opening INI file: DVSwitch.ini

DMR, Setting [DMR] address -> 127.0.0.1

DMR, Setting [DMR] txPort -> 31110 <-changed avoid conflict with MB1

DMR, Setting [DMR] rxPort -> 31113 <-changed avoid conflict with MB1

DMR, Setting [DMR] slot -> 2

DMR, Setting [DMR] exportTG -> 0

DMR, Setting [DMR] hangTimerInFrames -> 0

DMR, Setting [DMR] talkerAlias -> %callsign %location %description

DMR, Transmitting on 127.0.0.1:31110, and listening on port 31113.  Result = 1

P25 RF Parameters

Id: 1139360

NAC: $293

UID Override: no

Self Only: no

Remote Gateway: no

Mode Hang: 10s

MMDVM_Bridge-20201129_V1.6.2 is running

 

 

P25 Gateway Log

Starting P25Gateway-20200824

Linked at startup to reflector 27715 <- added in privateP25HOST.TXT

 

P25 Reflector Log

Transmission started from KE8O     

Transmission from KE8O at KE8O       to TG 27715

Received end of transmission

Transmission started from KE8O <- KWH is on DMR side    

Transmission from W8KWH at KE8O       to TG 27715

Received end of transmission

Transmission started from KE8O     

Transmission from KE8O at KE8O       to TG 27715

Received end of transmission




Gary, KE8O
 

A little more background on my setup. I built this bridge using the DVSwitch-Server-RPI image as an experiment. However, I never ran the DVS script to configure for use with DVSM. I installed YSFReflector and P25Reflector on the same system. I'm using the original MB for my YSF to DMR bridge which works fine. I then added a second instance of MB for my P25 to DMR bridge. My original AB is configure for P25, and my second AB instance is configured for DMR. 

Everything is set to start at boot, and I recently added the new logs into the nightly logrotate process. I'm also planning to add the new instances to monit.

I just can't get the P25 to DMR bridge working and it is driving me crazy. I'm spending every free moment thinking about this and rechecking my settings.

Below are the log files for one transmission on the P25/DMR bridge side with my YSF/DMR bridge stopped..


MMDVM DMR / P25 Instance

M: 2020-12-07 00:31:35.940 DMR Slot 2, received network voice header from KE8O to TG 27715

M: 2020-12-07 00:31:36.456 P25, TX state = ON

I: 2020-12-07 00:31:36.456 P25, Begin TX: src=1139360 rpt=113936033 dst=9 slot=2 cc=1 metadata=KE8O

M: 2020-12-07 00:31:36.528 DMR Talker Alias (Data Format 1, Received 6/27 char): 'KE8O D'

M: 2020-12-07 00:31:37.255 DMR Talker Alias (Data Format 1, Received 13/27 char): 'KE8O Delaware'

M: 2020-12-07 00:31:37.971 DMR Talker Alias (Data Format 1, Received 20/27 char): 'KE8O Delaware, OH US'

M: 2020-12-07 00:31:38.691 DMR Talker Alias (Data Format 1, Received 27/27 char): 'KE8O Delaware, OH USA MMDVM'

M: 2020-12-07 00:31:40.341 DMR Slot 2, received network end of voice transmission, 4.8 seconds, 0% packet loss, BER: 0.0%

M: 2020-12-07 00:31:40.424 P25, TX state = OFF

 

P25Reflector log

M: 2020-12-07 00:31:36.464 Transmission started from KE8O     

M: 2020-12-07 00:31:36.500 Transmission from KE8O at KE8O       to TG 27715

M: 2020-12-07 00:31:40.430 Received end of transmission

 

AB P25 Log

I: 2020-12-07 00:31:35.941 USRP packet type: USRP_TYPE_TEXT (KE8O) -> 1139360

M: 2020-12-07 00:31:36.451 PTT on

M: 2020-12-07 00:31:40.419 PTT off (keyed for 3968 ms)

 

AB DMR Log

I: 2020-12-07 00:31:35.941 Begin TX: src=1139360 rpt=113936022 dst=27715 slot=2 cc=0 call=KE8O


Steve N4IRS
 

Gary,
To get the bridge working, forget all the extra stuff to start. Tun off the reflectors, turn off the dashboards. Stop all DVswitch services starting at boot.
Start at one end of the bridge and work to the middle. If you don't see the traffic, stop and fix before moving on.

Start MB in the foreground. Is it logging into the master? Do you see traffic?
While MB is running, start the connected AB. Do you see the traffic?
Once you have this working, go from P25 in. Same thing, do you see inbound P25 traffic? Does the traffic transfer to the connected AB?
When that all works, cross connect the instances of AB.

When you post logs or config files for someone to look at, post them as separate files. That way we can open both files side by side, having to scroll up and down make it hard to troubleshoot. Same for the log files.

 Steve N4IRS

On 12/6/20 8:57 PM, Gary, KE8O wrote:
A little more background on my setup. I built this bridge using the DVSwitch-Server-RPI image as an experiment. However, I never ran the DVS script to configure for use with DVSM. I installed YSFReflector and P25Reflector on the same system. I'm using the original MB for my YSF to DMR bridge which works fine. I then added a second instance of MB for my P25 to DMR bridge. My original AB is configure for P25, and my second AB instance is configured for DMR. 

Everything is set to start at boot, and I recently added the new logs into the nightly logrotate process. I'm also planning to add the new instances to monit.

I just can't get the P25 to DMR bridge working and it is driving me crazy. I'm spending every free moment thinking about this and rechecking my settings.

Below are the log files for one transmission on the P25/DMR bridge side with my YSF/DMR bridge stopped..


MMDVM DMR / P25 Instance

M: 2020-12-07 00:31:35.940 DMR Slot 2, received network voice header from KE8O to TG 27715

M: 2020-12-07 00:31:36.456 P25, TX state = ON

I: 2020-12-07 00:31:36.456 P25, Begin TX: src=1139360 rpt=113936033 dst=9 slot=2 cc=1 metadata=KE8O

M: 2020-12-07 00:31:36.528 DMR Talker Alias (Data Format 1, Received 6/27 char): 'KE8O D'

M: 2020-12-07 00:31:37.255 DMR Talker Alias (Data Format 1, Received 13/27 char): 'KE8O Delaware'

M: 2020-12-07 00:31:37.971 DMR Talker Alias (Data Format 1, Received 20/27 char): 'KE8O Delaware, OH US'

M: 2020-12-07 00:31:38.691 DMR Talker Alias (Data Format 1, Received 27/27 char): 'KE8O Delaware, OH USA MMDVM'

M: 2020-12-07 00:31:40.341 DMR Slot 2, received network end of voice transmission, 4.8 seconds, 0% packet loss, BER: 0.0%

M: 2020-12-07 00:31:40.424 P25, TX state = OFF

 

P25Reflector log

M: 2020-12-07 00:31:36.464 Transmission started from KE8O     

M: 2020-12-07 00:31:36.500 Transmission from KE8O at KE8O       to TG 27715

M: 2020-12-07 00:31:40.430 Received end of transmission

 

AB P25 Log

I: 2020-12-07 00:31:35.941 USRP packet type: USRP_TYPE_TEXT (KE8O) -> 1139360

M: 2020-12-07 00:31:36.451 PTT on

M: 2020-12-07 00:31:40.419 PTT off (keyed for 3968 ms)

 

AB DMR Log

I: 2020-12-07 00:31:35.941 Begin TX: src=1139360 rpt=113936022 dst=27715 slot=2 cc=0 call=KE8O



k7wby@...
 

I think the clue here is when Steve said, "Is it logging into the master". If DMR is logging into Bradmeister as it's master then your repeater id is probably your DMR id + 01. Your P25 Gateway has no clue what to do with that. Go to RadioID.net and get yourself a second DMR Id. In the AB.ini for P25 set the DMR ID to your normal DMRid and the Gateway DMRid to your new DMRid.


Gary, KE8O
 

Steve, 

As suggested I stopped all services except my P25Reflector and then started MB2 (P25/DMR instance) in the foreground. I confirmed that it logged into the DMR master server (see attached). I then started the P25 AB instance in the foreground (see attached). When coming in on  P25 I showed no activity in the P25 AB or MB2 terminal windows. I know you said to stop all services but without my P25Reflector running I don't have anyway to test unless I can point to one of the DVS P25 test reflector?  If yes which one. 


While I had all of the services stopped and before I restarted all of the services. I did start up the DMR AB instances in the foreground and observer activity in the MB2, DMR AB, and P25 AB terminal windows when coming in on DMR. (see attached). So it appears my P25 side is broken. 


Steve N4IRS
 

Do you have P25Gateway running? Is the startup set to connect to your p25 Reflector?

On 12/7/20 9:59 PM, Gary, KE8O wrote:
Steve, 

As suggested I stopped all services except my P25Reflector and then started MB2 (P25/DMR instance) in the foreground. I confirmed that it logged into the DMR master server (see attached). I then started the P25 AB instance in the foreground (see attached). When coming in on  P25 I showed no activity in the P25 AB or MB2 terminal windows. I know you said to stop all services but without my P25Reflector running I don't have anyway to test unless I can point to one of the DVS P25 test reflector?  If yes which one. 


While I had all of the services stopped and before I restarted all of the services. I did start up the DMR AB instances in the foreground and observer activity in the MB2, DMR AB, and P25 AB terminal windows when coming in on DMR. (see attached). So it appears my P25 side is broken. 


Gary, KE8O
 

Steve,

Last night when I tested the P25Gateway was one of the services I forgot to start. In all of my previous attempts it was running. It is set to startup on 27715 my P25 reflector #. I'm using privateP25Host.txt to define my P25Reflector (attached).

Tonight I tested again with the GW started and I'm seeing activity in my terminal windows for MB, AB, and AB2. I've attached the logs from each of those terminal windows.  I also included my P25Reflector log, and my P25GW ini.

There has to be something I'm overlooking. 

Thank you !



Gary, KE8O
 

Stephen, 

Would I see an error if the gateway was getting confused over DMRID’s?


I posted some of my logs the other night. I’m not seeing anything obvious. I did try using my wife’s DMR ID  for one of the MMDVM instances but the outcome was unchanged. I also compared my bridge  AB log against my mobile server AB log and they look similar. I might change my setup and try using a YSF to P25 bridge. At least with that configuration I can see end to end. 


Steve N4IRS
 

I don't see how the DMR ID would confuse the gateway. I'll look at your files in the morning.

On 12/11/20 6:25 PM, Gary, KE8O wrote:

Stephen, 

Would I see an error if the gateway was getting confused over DMRID’s?


I posted some of my logs the other night. I’m not seeing anything obvious. I did try using my wife’s DMR ID  for one of the MMDVM instances but the outcome was unchanged. I also compared my bridge  AB log against my mobile server AB log and they look similar. I might change my setup and try using a YSF to P25 bridge. At least with that configuration I can see end to end. 



Steve N4IRS
 

Post your MB.ini, dvswitch.ini and the 2 AB.ini

On 12/11/20 6:25 PM, Gary, KE8O wrote:

Stephen, 

Would I see an error if the gateway was getting confused over DMRID’s?


I posted some of my logs the other night. I’m not seeing anything obvious. I did try using my wife’s DMR ID  for one of the MMDVM instances but the outcome was unchanged. I also compared my bridge  AB log against my mobile server AB log and they look similar. I might change my setup and try using a YSF to P25 bridge. At least with that configuration I can see end to end. 



Gary, KE8O
 

Here's the requested files.

Thanks


Steve N4IRS
 

DVS.ini.txt is a second copy of your MB.

On 12/11/20 7:51 PM, Gary, KE8O wrote:
Here's the requested files.

Thanks


Gary, KE8O
 

Sorry. The correct file is attached this time.


Steve N4IRS
 

What TG on TGIF are you trying to bridge to?

On 12/12/20 8:53 AM, Gary, KE8O wrote:
Sorry. The correct file is attached this time.