====== Winlink ====== This section outlines how to send and receive messages with [[https://winlink.org/WinlinkExpress |Winlink Express]]. More information about how to configure the hardware can be found on the [[signalink|Signalink How-To]]. ===== Operating Modes ===== When composing a new message, you must choose how the message will be sent: {{ :howto:winlinkmessagemode.png }} * **Winlink Message**: Your station makes a radio connection to a Radio Message Server (RMS). The RMS makes an Internet connection to a Common Message Server (CMS) that is the central message repository. Your messages are sent via radio to the RMS and then through the Internet to the CMS until the recipient connects and downloads messages addressed to themselves. This mode is efficient and highly reliable. Winlink operates multiple CMS that synchronize with each other frequently to provide completely redundancy. If an RMS is down and unable to receive a connection, the client can connect to a different RMS. Since all messages are stored in the central CMS database, it doesn’t matter which RMS the sender and recipient connect to. * **Radio-Only Message**: Where as the previous mode relies on an Internet connection between the RMS and a CMS, the Radio-Only mode does away with the CMS and the internet connection it relies on. Instead, messages are sent to a designated RMS for storage until it is retrieved by the recipient. This mode of operation can operate with local and total Internet outages. * **Peer-To-Peer Message**: This mode of operation transfers messages directly from the sender to the recipient without going through an RMS or a CMS and without the Internet. This is like a "simplex" mode, which requires: * Both stations to be on the air at the same time and on the same frequency. * Both stations to use the same transmission protocol (Packet, Winmor, Pactor, etc). So the steps to compose a message are to: - Select how the message will be sent as. - Enter the recipient's address (usually their callsign, which may or may not require an [[/howto/ssid |SSID]]) - And lastly, after the message is written, **Post to Outbox**, which saves the message locally and marks it to be sent. Before initiating a connection (section below), you can write and post multiple messages to the outbox first. ===== SSID ===== Before going into more details, it might be worth taking a small detour to learn about SSIDs (the dash number after the callsign) since it has a different meaning depending on whether it's for APRS or Winlink. See the [[/howto/ssid |SSID How-To]] for more info. ===== Winlink Messages ===== {{ :howto:opensessionwinlink.png}}The type of connection needed is chosen from the **Open Session** drop down menu. Messages that are marked to be sent as Winlink Messages require a Winlink connection: * **Telnet Winlink** sends the message directly to the CMS via the Internet, by-passing the RMS. It's pretty much like sending an email and doesn't require a radio connection. * **Packet Winlink** is typically a VHF or UHF connection to an RMS, which will then connect to a CMS via the internet. * **Pactor Winlink** is an HF connection to an RMS. It requires an expensive [[wp>PACTOR]] TNC between the radio and computer. * **Winmor Winlink** Winmor is deprecated. See [[/blog/2020-09-15/no_more_winmor |here]] for more info. * **Ardop Winlink** is another HF connection to an RMS that doesn't necessarily require a TNC. The IC-7300, for example, can connect to the computer directly with a simple USB cable. The connection is slower than PACTOR however. For more details, see the [[howto/winlink_ardop |Winlink Ardop]] page. For Winlink connections, the address and frequency of the session must match that of a RMS chosen (not that of the recipient). A list of RMS can be found in the **Channel Selection** table: {{ :howto:channelselection.png }} Once the table is updated, select an RMS near you, and ensure that the frequency of your radio matches that of the RMS listed in the table and press **''Start''**. At this point, two things will happen: - All the Winlink messages in your Outbox will be sent to the RMS and forwarded to the CMS, and - All the messages that the CMS has for you will be sent to your Inbox. A few things to note about Winlink Messages: * You can send a message to a station callsign (mine for example is ''VA7FI'') * You can send a message to a regular email address since the RMS has access to the internet. * You can retrieve messages sent to your station callsign * You can retrieve emails sent to ''CALLSIGN@winlink.org'' (mine for example is ''va7fi@winlink.org'') ===== Peer-to-Peer (P2P) Messages ===== {{ :howto:p2popensession.png}}Messages that are marked to be sent as Peer-to-Peer Messages require a P2P connection: * **Packet P2P** is a direct VHF or UHF connection between the two stations exchanging messages. * **Pactor P2P** is a direct HF connection between the two stations exchanging messages using the PACTOR protocol. * **Winmor P2P** Winmor is deprecated. See [[/blog/2020-09-15/no_more_winmor |here]] for more info. * **Ardop P2P** is a direct HF connection between the two stations exchanging messages using the Ardop protocol. ==== Direct ==== For a ''Direct'' P2P connections, the address and frequency of the session must match that of a recipient (there is no RMS): {{ :howto:p2pstart.png }} * Ensure that the frequency of your radio matches that of the recipient. * Ensure that the recipient has a P2P session open. * There are two different transmit speeds: 1200 Baud and 9600 Baud. You can only use 9600 Baud if your radio can transmit at that speed AND if the other station is also equipped for 9600 Baud and listening at 9600. Otherwise, use 1200 Baud. A rule of thumb if you're unsure what the other station is using is to: * Set to transmit at 1200 Baud (the other station will be able to receive you at either 1200 Baud or 9600 Baud) * Set your standby receive mode to 9600 baud (so you'll be able to receive stations transmitting at 1200 Baud or 9600 Baud). * press **''Start''** At this point, two things will happen: - All the P2P messages in your Outbox addressed to the recipient will be sent to them, and - All the messages that the recipient might have in their outbox addressed to you will be sent to your Inbox. This second point is worth highlighting: the session sends //and// receives messages. This can be useful in the case if the station you're trying to contact is off the air, but you expect that they'll try to connect to you in the near future. In that case, you can write them a message, post it in your outbox, and wait for them to initiate the connection. ==== Script ==== It's possible to connect to a station out of reach using a digipeater. On Vancouver Island, multiple digipeaters are setup on 144.970 MHz with an [[/howto/ssid |SSID]] of ''-8'' and require a ''Script'' to access. For example, for ''VE7HZF'' to send a message to ''VE7SCE'' via ''VE7LSO-8'', all three stations need to be on 144.970 MHz: * The first step is to create a script: {{ :howto:p2pscript.png }} * In this example, I named it ''SCE (LSO)'' so I can reuse it easily later: {{ :howto:p2pscript2.png?425 }} * Once saved, select it and press **''Start''**: {{ :howto:p2pscript3.png?560 }} If you monitor the traffic as you connect to the digipeater, you'll notice a few things: * Everything you send to ''VE7LSO-8'' is being repeated by the digipeater for ''VE7SCE'' * Your callsign (in this case ''VE7HZF''), is being retransmitted by the digipeater as ''VE7HZF-15''. See the [[/howto/ssid |SSID How-To]] page for more info. * The exchange takes more than twice the time of a direct connection because unlike a voice repeater that repeats in real time, a digipeater waits for you to stop transmitting before it repeats it. As Robert pointed out (see email with ''Subject: BPQ'' from Nov 4, 2023), some digipeater require adding a port number (but some don't). Here is a short list of scripts that work as of Nov 5, 2023 (replace ''[callsign]'' with the destination callsign): c ve7lso-8 conn c [callsign] conn c ve7wod-8 conn c [callsign] conn c ve7spr-8 conn c 2 [callsign] conn Note the ''2'' on the third line of the last script. Failing to add the port number there will give the following error: VE7SPR-8} DOWNLINK CONNECT NEEDS PORT NUMBER - C P CALLSIGN Found script connection response CONNECT NEEDS PORT NUMBER - C P CALLSIGN ==== Digipeaters ==== From Roberts Creek, VA7FI is able to hear the following digipeater (''-8'') and RMS (''-10'') stations on 144.970 MHz: {{pdfjs 800px,600px>/howto/mheard.pdf}} **Important Caveat:** My knowledge of these stations is minimal. For more information, see: * [[http://www.gorse.ca/crdarea/vhf.html]] * [[http://www.ve7ed.com/projects.html]] * [[https://winlink.org/RMSChannels]] ===== Winlink Message via Digipeater ===== If a Winlink station (-10) is too far to be reached directly, a digipeater station (-8) can be used to relay the message. * Write your message as a ''Winlink Message'' (not ''P2P Message'') * Open a ''Packet Winlink'' session (not ''Packet P2P'') * Connection type: ''Script'' * Add a script like this one: c ve7lso-8 conn c ve7gn-10 conn * Select your script and start. In this example, my message will be sent to VE7LSO-8, which will repeat it to VE7GN-10, which will then send it to the CMS via the internet. ===== Message Templates ===== Templates are a way to send complex pre-formatted ''html'' forms while keeping the bandwidth low. The basic idea is to: * Select a template from Winlink, which opens a form in your web browser. * Use the web browser to fill out the form and "Submit" it back to Winlink. * The attachment that's actually sent via Winlink is an ''xml'' file that contains the information you entered in the form without any of the fancy formatting (thus keeping the size small). * Once the receiver opens the message, Winlink uses that ''xml'' file and puts it into its **local** ''html'' form to re-constitute the fancy formatting. The result is that both the sender and the receiver see the fancy form, but only the actual information is transmitted (not the formatting). Of course, this only works if both stations have the same local template, which is why it's important to keep Winlink templates up-to-date. If you use the same template often, there are two things you can do to expedite the process. ==== Template Shortcut ==== The first is to set a template shortcut: * Click on ''Message'' and select ''Set favorite tempates...'' \\ {{ .winlink:winlinktemplate01.png }} * Click on ''Browse'', select the form you want to save, and give it a name. \\ {{ .winlink:winlinktemplate02.png }} * To use it, open a new message and click on the name you entered earlier. \\ {{ .winlink:winlinktemplate03.png }} ==== Save Message Data ==== Many templates allow you to save the message body so you can quickly reload it later. In my example: * I first wrote the message I want to save **without the date** * Then ''Save Quick Message Data'', which will save a basic ''txt'' file. When it's time to use it: * I click on ''Load Quick Message Data'' and * Click in the ''Date/Time:'' field to populate it. * Then click ''Submit'' to send it back to Winlink. {{ winlinktemplate04.png }} ===== EasyTerm by UZ7HO ===== I'm still learning lots about this so please consider this section to be vastly incomplete and probably wrong. --- //[[va7fi@rbox.me|Patrick, VA7FI]] 2020/01/01 07:45// An easy way to connect a radio to a computer using a Signalink is to use the UZ7HO Soundmodem program (see the [[howto:signalink|Signalink How-To]] for more information). But another really good program by UZ7HO is [[http://uz7.ho.ua/packetradio.htm | EasyTerm]], which allows you to connect to another station and send specific commands to it. For example, VE7HZF connected to ''VE7LSO-8'' and typed ''H'': *** Connected to station VE7LSO-8 2019-09-02 6:33:56 AM :>H 497LSO:VE7LSO-8} TYPE 'HELP' OR ? FOLLOWED BY COMMAND FOR MORE INFORMATION BYE CONNECT CQ HELP INFO LINKS MHEARD NODES PORTS ROUTES STATS USERS SYSOP This is the list of commands that this station accepts. For example, to learn what ''MHEARD'' does, type ''?MHEARD''. To use it, type ''MHEARD''. ==== Setup ==== {{ :howto:easytermsetup.png }} |< 100% 50% 50% >| ^ EasyTerm Setup screen. ^ SoundModem Settings screen. | |I used ''-11'' for the ''Terminal Callsign'' because Winlink Express is already using ''-0''. |The ''KISS Server Port 8100'' had already been enabled for Winlink. \\ Now we need to enable ''AGWPE Server Port 8000'' for EasyTerm. | ===== Sources ===== * [[https://winlink.org/content/overview_winlink_hybrid_network |Overview of the Winlink Hybrid Network]] * [[http://www.choisser.com/packet/ |Introduction to Packet Radio]] By Larry Kenney, WB9LOZ