Winlink Hybrid Question

95 views
Skip to first unread message

Justin Overfelt

unread,
Apr 16, 2024, 8:50:06 PM4/16/24
to pat-users
Hi Martin,

I'm thinking about doing a PR for this issue: https://github.com/la5nta/pat/issues/51 .

A couple questions if you wouldn't mind (some of these are really Winlink questions but I think you'd be likely to know as a client implementer):
  • In Winlink Express, you mark a particular message as "radio only", but looking at the Winlink docs and the Pat code, it seems that "radio only" is really a parameter of the connection, not the message itself. Is that the case? Pat seems to accept --radio-only as a parameter anywhere but it looks like only connect uses it.
  • A follow up to the previous question: if I were to compose two messages, one intended for radio-only and one normal one, then connect to an RMS passing --radio-only, would both messages be sent as radio-only (assume I'm using Pactor here)?
  • Following the code for what Pat does when you specify --radio-only, I get here: https://github.com/la5nta/pat/blob/823b991b25159ee6544f70bca7f9ecf0f4b802a7/connect.go#L157

    This is another area where the Winlink docs aren't very clear - is appending the "-T" to the user the way the Winlink system knows that this session is radio only? I can't seem to find the place where that's used in the wl2k-go repo so I figured it might be something the Hybrid RMS looks for?
I think it would be good to support both the Inquiry message and the online MPS update - doesn't look hard either way so I'll give it a try.

Thanks!

-Justin AB3E

Martin Hebnes Pedersen

unread,
Apr 30, 2024, 2:34:24 PM4/30/24
to Justin Overfelt, pat-users
17. apr. 2024 kl. 02:50 skrev Justin Overfelt <jove...@gmail.com>:

Hi Martin,

I'm thinking about doing a PR for this issue: https://github.com/la5nta/pat/issues/51 .

Hi Justin,

First of all, thanks for reaching out and for considering to contribute :) And secondly, apologies for the delayed response.

This issue you are referring to relates to updating a user's MPS list in the Winlink system using Pat. IIRC this list is used by the system to route messages (via RF) for later retrieval by the user. I think it’s best to discuss the implementation details as comments on that issue. Is that OK with you?


Now for the questions, which is more or less unrelated to the above mentioned issue IMO.

A couple questions if you wouldn't mind (some of these are really Winlink questions but I think you'd be likely to know as a client implementer):
  • In Winlink Express, you mark a particular message as "radio only", but looking at the Winlink docs and the Pat code, it seems that "radio only" is really a parameter of the connection, not the message itself. Is that the case? Pat seems to accept --radio-only as a parameter anywhere but it looks like only connect uses it.
Yes, as far as I know you are absolutely correct. The «radio only» feature is a way to simulate a «internet down» scenario. It forces the software to route traffic via RF only, even if the receiving RMS has internet connectivity and could relay the traffic using the normal path via CMS.


  • A follow up to the previous question: if I were to compose two messages, one intended for radio-only and one normal one, then connect to an RMS passing --radio-only, would both messages be sent as radio-only (assume I'm using Pactor here)?
Yes, this is correct. Pat doesn’t currently distinguish between a «radio only» message and other messages. It’s a property of the connection, and messages are passed either way. So there is currently no way to «force» a message to be sent only when a «radio-only» link is established, as opposed to P2P messages where we have a «P2P-only» flag that can be set when composing a message.


  • Following the code for what Pat does when you specify --radio-only, I get here: https://github.com/la5nta/pat/blob/823b991b25159ee6544f70bca7f9ecf0f4b802a7/connect.go#L157

    This is another area where the Winlink docs aren't very clear - is appending the "-T" to the user the way the Winlink system knows that this session is radio only? I can't seem to find the place where that's used in the wl2k-go repo so I figured it might be something the Hybrid RMS looks for?

Yes, this is also correct. To the best of my knowledge using SSID "-T» is the only way to enable the radio-only «simulation» when connecting to a RMS. The lack of documentation makes it hard to know for sure, but this is what we learned by reverse engingeering Winlink Express when the feature was added.


I think it would be good to support both the Inquiry message and the online MPS update - doesn't look hard either way so I'll give it a try.


I guess the "inquiry message" part is already in place with https://github.com/la5nta/pat/commit/5ff89851cd2da1c685dd471d7be7efe7505beb9a. Or did you have something else in mind?

As for issue #51 (Winlink hybrid: Update MPS list): I’d prefer to add this into CLI first, it’s always easier to prototype the core feature without worrying about layouts and such. I already have some thoughts for this, so maybe we could continue discussing this part as issue comments?

Please let me know what you think! Thank you :)

— 
73 de LA5NTA / Martin

Justin Overfelt

unread,
Apr 30, 2024, 7:37:15 PM4/30/24
to Martin Hebnes Pedersen, pat-users
Hi Martin,

Yes I'm happy to move the discussion on implementation to the Github issue. As for the inquiry message, there is a little-documented feature of Winlink that allows for calling API endpoints as part of a specially-crafted email. Winlink Express does this when you go to update the MPS list and you opt to do it via an email rather than the web service. This is useful for when you don't have internet access. The email looks like the below:

Message ID: <id here>
Date: 2024/04/16 23:31  (UTC)
From: AB3E
To: INQUIRY
Source: AB3E
Subject: CMSWEBSVC

/mps/delete?format=json&requester=AB3E&callsign=AB3E&password=<password here>&key=<pat key here>
/mps/add?format=json&requester=AB3E&callsign=AB3E&password=<password here>&MpsCallsign=K2FAM&key=<pat key here>
/mps/add?format=json&requester=AB3E&callsign=AB3E&password=<password here>&MpsCallsign=N2LEE&key=<pat key here>
/mps/add?format=json&requester=AB3E&callsign=AB3E&password=<password here>&MpsCallsign=W6IDS&key=<pat key here>

I'd like to have a similar thing in Pat that allows for either using the web service directly or crafting an email and posting it to the outbox.

-Justin AB3E
Reply all
Reply to author
Forward
0 new messages