What is the Pi-Star Multi-Reflector?

In the beginning...

At some time during the Pi-Star project, probably in early 2018, Craig (W1MSG) had some reflectors setup on P25 and NXDN. At the same time Craig also had TG 31672 on BrandMeister setup, for use with the Pi-Star project, for testing / discussion or pretty much anything else you could think of...

In 2019, the origional host of those reflectors, had to make some changes that involved swapping the port numbers used for connecting to the reflectors to non-standard numbers, Andy (MW0MWZ) was a little frustrated by that idea and offered to host these reflectors so that they would be at least on the standard ports.

It was not long before the idea formed that with a little work end engeering it would be possible to connent all of these disperate modes together into one single service, not only that, but it could be expanted such that we could bring together YSF, P25, NXDN and DMR into a single place.

Work began in earnest, initially with adding on the YSF reflector, the first challenge is that you dont get to pick your reflector number on YSF, you pick the name, and the number is generated from the name... Challenge accepted...
Thankfully, the algorithm used to generate the number from the name was easy to work with, a small C++ program combined with shell script can be used to itterate therough and create all the possible matches for the number you want - handy, now with a YSF reflector, all be it one with a slightly odd name "Pi-Star AMeXE", the next challenge was to link them together.


At the core of the Multi-Reflector is an instance of HBLink, we started with the older version and moved up to HBLink3 later, with this in mind, Andy (MW0MWZ) took the simple idea that if we use Andy's (CA6JAU) xxx2DMR brige code, the exact same code we use in Pi-Star, we can connect up the YSF reflector to the HBLink DMR "master", NXDN can also be connected directly and so in no time we had some of the connectivity in place.

Watching a presentation by Travis Goodspeed (KK4VCZ) about the possibility of using the software vocoder from the MD-380, in a virtual all-software environment to encode and decode digital/analogue frames, lead to the idea that it may be possible to use an all software-transcoder to be able to connect up other modes to the HBLink core of the Pi-Star Multi-Reflector.

It turns out that this is such a good idea, there are already projects that do exactly that - DVSwitch is one of them. After finding the required softwares, and there are a few, and configuring them up, now we had locally software transcoded exchange between P25 and the local DMR HBLink, bringing the reflectors together finally.

Next up we linked up the HBLink instance to BrandMeister, so that our Pi-Star TG 31672 on BrandMeister is linked with our Multi-Reflector YSF 31672, P25 31672, NXDN 31672 - amazing, one place to meet no matter what the mode, well almost...

XLX / D-Star

At this point the Multi-Reflector was only mosly multi-mode, we still lacked that D-Star goodness, but there are XLX based D-Star / DMR reflectors out there that have on-board transcoding, currently this requires hardware to transcode. Andy could have bought a transcoder and setup a local XLX instance, but instead decided to reach out to the community and seek the help of any other group wishing to take part, and connect to their XLX.

The keepers for a number of XLXs came forward and Andy chose to initially work with XLX303 and XLX587, although that may well change or be expanded later. The next problem is how to connect the core of the Multi-Reflector connect to XLX systems. Initial testing showed that the XLX protocol is MMDVM DMR, all be it with some code to handle Talk Group slection by sending special packets to the XLX host at connect, although we used a much uglier method during initial testing, laster on Andy (MW0MWZ) was able to replicate the connection packets that DMRGateway uses to connect to XLX hosts via DMR, and patch HBLink3 to do the same.


Finally we arrive in mid 2019, HBLink3 has a pivotal role in helping connect everything to everything, thank you Courtney (N0MJS) for releaseing that to the world, thank you too, to Jonathan Naylor (G4KLX) for all the reflectors for YSF/P25/NXDN, for MMDVMHost and the rest of the associate MMDVM tools, to Andy (CA6JAU) for his cross-mode software allowing the un-wrap/re-wrap of voice packets so that they can move between networks, to Travis (KK4VCZ) for his excellent work on the MD-380 HT, to the keepers of the XLXs we connect to, in order to bring in D-Star / XLX users, and to the Admins/Devs from BrandMeister for hosting TG 31672 and being supportive to the Pi-Star project.

We are finally getting to the point where anything can connect to anything, almost - there is no longer a need to seperate hams based on whatever mode you have access to, finally there are places where you can talk to your friends no matter what they have available!

Updates for 2021

Technology, does not stand still, it's no surprise then that the same is true of our Multi-Reflector. We used the old setup including HBLink for some time, but while I never had a real problem with it exactly, the custom dashboard would do many weird things that I just didnt have time to debug. Since I already had the basics well under control, converting every forign mode into DMR, I could easily move the core of the system from HBLink (a now sadly defunct project) to somthing under active development, but what?

The answer was simple, and almost staring me in the face, I was relying on external XLX reflectors to transcode to/from D-Star for me this left me with a reliance on external services, and I dont think that is fair. I had dabled with running a local XLX instance and using some software transcode to D-Star, but the audio output was aweful. There was nothing for it, I put in a call to Guss at DV-Mega and ordered up a pair of DV-3003 transcoder sticks. At around this time I also decided to move the multi-reflector system to the UK, it had been living in Canada for the early part of its life, and since I would need to do remote transcoding, the closer the multi-reflector lives to the hardware transcoders the better.

XLX672 was brought online, and each of the forign (non-DMR) reflectors were bridged accross to it in DMR mode. Once again providing YSF 31672, NXDN 31672 and P25 31672 to all link to the new REF/XRF/DCS/XLX672 E module. BrandMeister is able to talk to the XLX nativly, a ticket to the admin team to request the change from OpenBridge to XLX link and soon enough the reflector was back in business with all modes able to talk to all modes, but what of D-Star? The XLX cannot software transcode to/from D-Star, it requires some hardware. This is where the DV-3003 sticks come in, running those locally (or remote) the XLX can now transcode to/from D-Star also.

The new(er) setup using the XLX reflector at the core works well, and has a well written dashboard that does a better job than my custom dash for the HBLink instance I had run previously, it's a shame that HBLink is no more, but the code lives on in other projects.