YSF Direct Protocol

The target of this protocol is to allow users to connect their SystemFusion YSF-enabled hotspots and repeaters directly to BrandMeister.

YSF Direct is an extension to existing YSF reflector protocol.

  • IPv4 only
  • Standard YSFD and YSFP messages (user has to ping a server)
  • Additional messages (all of them similar to MMDVM DMR's protocol):
    • Login messages (YSFL / YSFK)
    • Configuration option message (YSFO)
    • Status messages (YSFACK / YSFNACK)

Unused characters in callsign field should be filled with NULL or space characters.

Login procedure

  1. User -> Server: "YSFL" <10 characters of hotspot/repeater callsign>
  2. Server -> User: "YSFACK" <10 characters of server callsign> <4 bytes of salt>
  3. User -> Server: "YSFK" <10 characters of hotspot/repeater callsign> <32 bytes of SHA256(salt + password)>
  4. Server -> User: "YSFACK" <10 characters of server callsign>

In case of failure: "YSFNAK" <10 characters of server callsign> <4 bytes of salt>

Change assigned talk group

The message can be sent anytime when hotspot/repeater connected and authenticated. So main purpose for it is to change talk group. We suggest a YSF developers to add it into configuration settings as well to Wires-X menu.

  1. User -> Server: "YSFO" <10 characters of hotspot/repeater callsign> "group=" <ASCII string contains a talk group number (NULL-termination is optional)>
  2. Server -> User: "YSFACK" <10 characters of server callsign>

In case of failure: "YSFNAK" <10 characters of server callsign>

Example

Request:

YSFOMYCALLSIGNgroup=91

Response:

YSFACKSERVERCALL


Clients known to be working

https://github.com/iu5jae/YSFBMGateway

It allows C4FM hotspots and repeaters to connect directly to the Brandmeister Master Server that has the YSF Direct protocol active, logging in with the Callsign and Password set in BM self-care. Allows changing TGs using DTMF, TGs > 5 digits via DG-ID radio, classic connection to YSF rooms via DG-ID.

YSF Direct Protocol[edit]

The target of this protocol is to allow users to connect their SystemFusion YSF-enabled hotspots and repeaters directly to BrandMeister.

YSF Direct is an extension to existing YSF reflector protocol.

Unused characters in callsign field should be filled with NULL or space characters.

Login procedure[edit]

  1. User -> Server: "YSFL" <10 characters of hotspot/repeater callsign>
  2. Server -> User: "YSFACK" <10 characters of server callsign> <4 bytes of salt>
  3. User -> Server: "YSFK" <10 characters of hotspot/repeater callsign> <32 bytes of SHA256(salt + password)>
  4. Server -> User: "YSFACK" <10 characters of server callsign>

In case of failure: "YSFNAK" <10 characters of server callsign> <4 bytes of salt>

Change assigned talk group[edit]

The message can be sent anytime when hotspot/repeater connected and authenticated. So main purpose for it is to change talk group. We suggest a YSF developers to add it into configuration settings as well to Wires-X menu.

  1. User -> Server: "YSFO" <10 characters of hotspot/repeater callsign> "group=" <ASCII string contains a talk group number (NULL-termination is optional)>
  2. Server -> User: "YSFACK" <10 characters of server callsign>

In case of failure: "YSFNAK" <10 characters of server callsign>

Example[edit]

Request:

YSFOMYCALLSIGNgroup=91

Response:

YSFACKSERVERCALL


Clients known to be working[edit]

https://github.com/iu5jae/YSFBMGateway

It allows C4FM hotspots and repeaters to connect directly to the Brandmeister Master Server that has the YSF Direct protocol active, logging in with the Callsign and Password set in BM self-care. Allows changing TGs using DTMF, TGs > 5 digits via DG-ID radio, classic connection to YSF rooms via DG-ID.