(YSF Direct Protocol)
(Clients known to be working)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= YSF Direct Protocol =
 
= YSF Direct Protocol =
  
The target if this protocol is to allow users to connect their SystemFusion YSF-enabled hotspots and repeaters directly to BrandMeister.
+
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.
 
YSF Direct is an extension to existing YSF reflector protocol.
 
* IPv4 only
 
* IPv4 only
 
* Standard YSFD and YSFP messages (user has to ping a server)
 
* Standard YSFD and YSFP messages (user has to ping a server)
* Additional messages:
+
* Additional messages (all of them similar to MMDVM DMR's protocol):
** Login messages (YSFL / YSFK) - similar to MMDVM DMR's protocol
+
** Login messages (YSFL / YSFK)
** Configuration message (YSFO) - to assign a talk group
+
** Configuration option message (YSFO)
 
** Status messages (YSFACK / YSFNACK)
 
** Status messages (YSFACK / YSFNACK)
 +
 +
Unused characters in callsign field should be filled with NULL or space characters.
  
 
== Login procedure ==
 
== Login procedure ==
  
# User -> Server: "YSFL" <10 characters of hotspot/repeater call-sign>
+
# User -> Server: "YSFL" <10 characters of hotspot/repeater callsign>
# Server -> User:  "YSFACK" <4 bytes of salt>
+
# Server -> User:  "YSFACK" <10 characters of server callsign> <4 bytes of salt>
# User -> Server: "YSFK" <10 characters of hotspot/repeater call-sign> <32 bytes of SHA256(salt + password)>
+
# User -> Server: "YSFK" <10 characters of hotspot/repeater callsign> <32 bytes of SHA256(salt + password)>
# Server -> User:  "YSFACK" <10 characters of hotspot/repeater call-sign>
+
# Server -> User:  "YSFACK" <10 characters of server callsign>
  
In case of failure: "YSFNAK" <4 bytes of salt>
+
In case of failure: "YSFNAK" <10 characters of server callsign> <4 bytes of salt>
  
 
== Change assigned talk group ==
 
== Change assigned talk group ==
  
# User -> Server: "YSFO" <10 characters of hotspot/repeater call-sign> "group=" <string contains a talk group number>
+
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.
# Server -> User:  "YSFACK" <10 characters of hotspot/repeater call-sign>
+
 
 +
# User -> Server: "YSFO" <10 characters of hotspot/repeater callsign> "group=" <ASCII string contains a talk group number (NULL-termination is optional)>
 +
# Server -> User:  "YSFACK" <10 characters of server callsign>
 +
 
 +
In case of failure: "YSFNAK" <10 characters of server callsign>
 +
 
 +
=== Example ===
 +
 
 +
Request:
 +
<pre>YSFOMYCALLSIGNgroup=91</pre>
 +
 
 +
Response:
 +
<pre>YSFACKSERVERCALL</pre>
 +
<br>
 +
<b>=== Clients known to be working ===</b>
 +
 
 +
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.
 +
 
 +
https://github.com/stefanolande/YSFBMDirect
  
In case of failure: "YSFNAK" <10 characters of hotspot/repeater call-sign>
+
YSFBMDirect is a software that allows you to access Brandmeister as if it were a YSF reflector. The goal of this software is to build a YSF repeater that can connect to Brandmeister Talk Groups, without losing the possibility to connect to other YSF rooms.

Latest revision as of 21:09, 26 February 2023

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.

https://github.com/stefanolande/YSFBMDirect

YSFBMDirect is a software that allows you to access Brandmeister as if it were a YSF reflector. The goal of this software is to build a YSF repeater that can connect to Brandmeister Talk Groups, without losing the possibility to connect to other YSF rooms.

YSF Direct Protocol[edit]

The target if 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.

Login procedure[edit]

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

In case of failure: "YSFNAK" <4 bytes of salt>

Change assigned talk group[edit]

  1. User -> Server: "YSFO" <10 characters of hotspot/repeater call-sign> "group=" <string contains a talk group number>
  2. Server -> User: "YSFACK" <10 characters of hotspot/repeater call-sign>

In case of failure: "YSFNAK" <10 characters of hotspot/repeater call-sign>