YSF Cross-modes: YSF2DMR and YSF2NXDN

A Fusion radio can work DMR talkgroups and NXDN talkgroups without any vocoder hardware, and it can do the steering from the radio's own Wires-X button. That last part is what makes the Fusion side more interesting than the DMR side: the radio already has a menu built for choosing rooms, and these bridges put someone else's talkgroups into it.

Scope: this page is written from the Fusion radio's seat, and covers traffic leaving a Fusion radio for another mode. The opposite direction, a DMR radio reaching out, has its own page.


The short version

Why it is free

Fusion has two voice sub modes. DN, the narrow one, carries AMBE+2 at 2450 bits per second of speech plus 1150 bits of error correction. DMR carries exactly the same frame, and so does NXDN at 6.25 kHz. Three modes, one speech frame, three different containers.

So a bridge between them lifts the frame out of one container and drops it into another. Nothing is decoded to audio, nothing is re-encoded, and the audio that comes out the far end is bit for bit what your radio produced.

That is not true of the other directions. VW, the full rate Fusion mode, uses IMBE instead, which is a different vocoder entirely, and D-STAR and M17 are different again. Those all need real transcoding, and they are not what these two programs do.

Where the software lives

YSF2DMR and YSF2NXDN are not projects of their own. They are folders inside a single collection of cross mode utilities, alongside their opposite numbers and the transcoding ones. Searching for them as separate repositories is a dead end that costs people an afternoon.

In that same collection: YSF2DMR, YSF2NXDN, YSF2P25, DMR2YSF, NXDN2DMR, DMR2NXDN, DMR2P25, P252DMR, DMR2M17, M172DMR.

Worth noting for later: YSF2P25 exists, so Fusion reaches P25 as well, but that one is a different animal because it involves genuine transcoding. There is no Fusion to D-STAR or Fusion to M17 converter in the collection at all.

Three ways to attach it

1. Beside YSFGateway, as a room in your Wires-X list

This is the usual setup on a hotspot. The bridge runs alongside your normal Fusion gateway, and appears in the Wires-X room list as a pseudo reflector named after itself. You select it the same way you select any other room.

Your radio  →  MMDVMHost  →  YSFGateway  →  YSF2NXDN  →  NXDNGateway  →  the NXDN network

The two bridges sit on their own ports so they can coexist: the Fusion side of YSF2DMR listens on 42013 and YSF2NXDN on 42014, both talking to the gateway on 42000.

2. Straight to MMDVMHost, which is what you want for Wires-X control

Connected directly, with the Fusion ports changed to DstPort=3200 and LocalPort=4200, the bridge sees the Wires-X commands your radio sends. That is the difference that matters, because it is how you get to pick talkgroups from the radio instead of editing a config file.

3. No radio at all: bridging a Fusion reflector to a DMR network

The third arrangement surprises people. Run the bridge on the same server as a Fusion reflector, point it at that reflector's own port, and it links the entire reflector to a DMR network with no RF anywhere in the path.

YSF Reflector  →  YSF2DMR  →  any DMR network

In this mode Wires-X is switched off, since there is no radio to send commands, and the bridge's destination port is matched to the reflector's listening port.

Steering it from the radio

This is the part Fusion operators like, and it is worth setting up properly.

The XLX shortcut

YSF2DMR can also connect straight to an XLX reflector's DMR side rather than to a DMR network. Three settings name the reflector and the module, the port changes to the XLX one, and in that mode the startup talkgroup and network address settings are ignored entirely. For anyone whose home system is an XLX reflector, this is the shortest path from a Fusion radio to it.

What your callsign turns into

Fusion identifies people by callsign. DMR identifies them by a number. Something has to translate, and it is worth knowing exactly what it does.

DirectionWhat happens
Your Fusion callsign going out to DMRThe bridge looks your callsign up in the DMR ID database. If it is not found, your transmission goes out as the bridge's own configured DMR ID, not as yours
DMR stations coming back to youTheir IDs are converted to callsigns and shown on your radio's display, which is the whole reason the lookup file matters
NXDNThe same idea with its own ID file. Note that an NXDN ID is a different, shorter number than a DMR ID, and the bridge carries its own

Keep the lookup files current. On a cross mode path they are the only thing standing between a callsign and a bare number.

The three things that surprise people

1. VW mode goes nowhere

The bridge accepts DN frames only. Transmit in VW and your audio is discarded: no error on your radio, no message to the far side, nothing in the log to tell the other operator why you went quiet.

This is the single most common cause of "the bridge is broken" reports, and the fix is one setting on the radio.

2. The position on your screen may be fiction

When a DMR station calls you, your Fusion radio can show a location. That location is not coming from their radio.

The bridge builds the position field by looking their callsign up on an internet APRS service and inserting whatever position that service last recorded for it. It is optional, it is switched off in the shipped configuration, and it has its own API key, server and refresh interval when enabled.

So the position may be hours old, may belong to a different radio that person owns, and is not a measurement of where they are now. It looks exactly like live telemetry and is not.

3. Talker Alias does not arrive

DMR stations may be sending Talker Alias, and DMR software handles it properly, but the cross mode bridges make no mention of it anywhere in their code. It is dropped in transit. What you see on your display is the result of the ID lookup described above, and nothing else.

What these two are not

You wantThe toolWhat it costs
Fusion to DMR, Fusion to NXDNYSF2DMR, YSF2NXDNNothing. No vocoder, no dongle. DN mode only
Fusion to P25YSF2P25Real transcoding, because P25 uses IMBE
Fusion to D-STAR or M17No converter exists in that collectionA transcoding reflector, and in practice AMBE hardware for the D-STAR side
A DMR radio reaching Fusion or NXDNDMR2YSF, DMR2NXDNSee the DMR cross modes page

Practical notes

  1. Set your radio to DN and leave it there for anything going through a bridge.
  2. Connect the bridge directly to MMDVMHost if you want Wires-X control. Beside the gateway it still works, but the radio's room list stops being a talkgroup selector.
  3. Fill in the talkgroup list file. It is what turns the Wires-X menu into something useful rather than a list of numbers.
  4. Change the startup destination from the shipped default before you leave it running.
  5. Hang times stack. Each program in the chain holds the path open for its own period, and the tail you hear is the sum rather than the longest one.
  6. Announce yourself in words. On a bridged path the far side may be seeing a number rather than a callsign.

How the claims here were checked

ClaimChecked againstStrength
DN, DMR and NXDN 6.25 kHz share the same AMBE+2 frame at 2450 plus 1150The vocoder maker's published split, the NXDN Forum's own overview, and the shared error correction routine in the MMDVM sourceThree origins, one of them the code that does the work
VW is IMBE rather than a faster AMBE+2The MMDVM source, which routes VW through its IMBE routine; a bridge configuration file labelling the wide path as IMBE; and a hotspot manufacturer's manual stating VW is the sub mode converted to P25Three origins. No Yaesu published table was found, so this rests on implementations rather than the manufacturer
The three attachment methods, ports, Wires-X behavior, the unlink call, the startup destination, the upper case room names and the XLX shortcutThe projects' own README files and shipped configuration files, quotedPrimary
Unknown callsign falls back to the bridge's own DMR IDThe project's own README, stating it plainlyPrimary
VW frames are discarded silentlyThe bridge source, which accepts one sub mode only, plus a manufacturer's manual describing the same result in wordsTwo origins
Position comes from an internet APRS lookupThe bridge source, which writes the frame without GPS and then substitutes a looked up position, plus the configuration block with its API key and refresh intervalPrimary
Talker Alias is droppedSearched the bridges' source: no mention anywhere, while the DMR software itself handles itAbsence in the code. Stated as what it is

Prepared for n6jet.com. The reverse direction, a DMR radio reaching Fusion and NXDN, is covered on its own page. Ports, file names and defaults come from the configuration files as shipped, and a distribution may set them differently.