[aprssig] mDNS DNS-SD service discovery of KISS TNCs on TCP ports

spam8mybrain spam8mybrain at yahoo.com
Tue Jan 26 11:23:52 EST 2021

The next upcoming build of YAAC ("Yet Another APRS Client") will also support mDNS service discovery for KISS-over-TCP TNCs, including the new DireWolf version.

-------- Original message --------
From: Heikki Hannikainen <hessu at hes.iki.fi> 
Date: 1/26/21  02:47  (GMT-05:00) 
To: TAPR APRS Mailing List <aprssig at lists.tapr.org> 
Subject: [aprssig] mDNS DNS-SD service discovery of KISS TNCs on TCP ports 

Hi,Introductory video: Here's how you can attach the aprs.fi iPhone app to a Dire Wolf 1.7 (not released yet) that's running on a Linux or Mac computer somewhere on the same wifi/lan segment:https://twitter.com/aprsfi/status/1343652123452575744Note: no IP addresses or TCP port numbers involved. Pick from list and it works. This is how it should happen in 2021. Ok, maybe a little authentication would be good too!Many devices and pieces of software support KISS TNCs on TCP ports without authentication.  Connect to a TCP port, send/receive KISS encapsulated AX.25 frames, and it just works.  Dire Wolf has it, the Microsat WX3in1 has some level of support, aprx igate can connect to these.  If you have a classic KISS TNC on a serial port of Linux device, you can run ser2net on a Raspberry Pi to expose it on a TCP port.Many users of my aprs.fi iPhone/iPad app wanted to use these. But I personally have started to hate looking for IP addresses and ports, especially on while on the road with a wifi access point and dynamic IPs which didn't stay the same over a reboot of the system.  And I suspect many others feel the same: the processes of interconnecting ham software (wsjt-x, fldigi, logging programs, etc) are unnecessary complicated.It turns out it's quite easy to implement automatic service discovery these days, thanks to good operating system and library support. DNS-SD, defined in RFC 6763, is the protocol used by iPhones and Androids, Windows and Mac computers alike, to locate printers and televisions and other common household items, on local networks. So I just went and did this, DNS-SD, for KISS TNCs on TCP ports.Version 2.2.0 of my aprs.fi iOS app, which got released yesterday, supports KISS over TCP/IP with mDNS DNS-SD. I also implemented the server side for this on Linux and Mac and submitted it to Dire Wolf as a pull request. WB2OSZ has kindly merged it in the dev branch and it will come out in the next release, version 1.7: https://github.com/wb2osz/direwolf/pull/307Note that I didn't do a Windows implementation, as I don't have a windows development environment and haven't done windows development since 1996 or so. But it shouldn't be too hard to do on Windows 10.Here's a second video, with a little demo of the initial iGate implementation:https://twitter.com/aprsfi/status/1352653897769357312Here's a specification proposal, with debugging and testing commands:https://github.com/hessu/aprs-specs/blob/master/TCP-KISS-DNS-SD.mdOn Linux you can also configure avahi to announce a port like this by simply placing a file in /etc/avahi/services (see "man avahi.service"). One device can also do a proxy announcement on behalf of another device on the same segment, if that other device is not yet capable of DNS-SD.I'd like to ask appliance/hardware/software vendors with KISS TCP support to implement DNS-SD. It's quite easy, just find and use a library that works in your environment. Your customers will love it. It's usually not many lines of code, just look at this MacOS implementation: https://github.com/wb2osz/direwolf/blob/dev/src/dns_sd_macos.cAprsdroid has support for it planned, too:https://twitter.com/karrots/status/1344000609519771648   - Hessu, OH7LZB/AF5QT_______________________________________________aprssig mailing listaprssig at lists.tapr.orghttp://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/aprssig_lists.tapr.org/attachments/20210126/1e49668b/attachment.html>

More information about the aprssig mailing list