AE5PL

javAPRSSrvr IGate

Melissa, TX


javAPRSSrvr IGate is an Android app designed to add APRS IGate functionality to an Android device running Oreo or later operating system. This app is not designed to be a hands-on app. It is designed to run as a foreground service and supports UI apps such as APRSDroid. The internal UI app (such as APRSDroid) connects to the server portion of javAPRSSrvr IGate as a local APRS-IS server so no modifications are necessary other than redirecting the client's APRS-IS connection. javAPRSSrvr is described at APRS-IS javAPRSSrvr. More information on APRS-IS can be found at APRS-IS Web Site

javAPRSSrvr IGate Block Diagram

Below is the Settings screen and each entry is described in detail below. Note that all SSIDs must be unique.

Settings

* indicates Required.

Available WebSocket servers at ws://srvr.aprs-is.net:8080 and wss://ametx.com:8888 Others are available, check with the individual server sysop.

Button Operation

There are 2 buttons that are very important to the operation of javAPRSSrvr IGate.

Connecting an UI App to javAPRSSrvr IGate

Because javAPRSSrvr IGate is based on javAPRSSrvr, it provides APRS-IS server ports for localhost attachment. It is limited to localhost to protect you from outside connections. javAPRSSrvr IGate supports two ports, 10152 which is a full feed of every non-dupe packet that passes through it and 14580 which is a user-defined filter port. As of version 90, the status port, 14501, is also capable of serving WebSocket and HTTP send-only local clients. You can configure your UI client to connect to either port. If you wish to connect to port 14580, please see APRS Filter Commands for information on filters you can use.

Android Recommended Settings

Permissions (vary depending on Android version)

Different versions of Android have certain settings which could adversely affect javAPRSSrvrIGate. Specifically, anything that might interfere with it running as a foreground service would cause it to cease funtioning as an IGate/server. For instance, in Android 13 you can go to Settings, Apps, javAPRSSrvrIGate and set Battery to Unrestricted and turn off "Remove permissions if app is unused." Version 83 does properly restart the service if the OS kills it due to memory exhaustion and then restarts it. The restart will fail, however, if Bluetooth or location are not enabled upon restart.

With the release of 4.3.3 v62, Notification permissions is required for Android 13 and higher. This ensures the Foreground Service notification is enabled reminding you that the service is sending your location to APRS-IS when running. That is the only notification that javAPRSSrvrIGate generates.

Kenwood TH-D74 TNC Setup

The Kenwood TH-D74 must be set to KISS 12 Mode (F-5) and Menu/Interface/KISS (983) must be set to Bluetooth for javAPRSSrvr IGate to talk to it. Of course, Bluetooth must be On and the radio must be paired to your device.

javAPRSSrvr IGate is GA released at the Google Play Store.

Privacy Policy

javAPRSSrvr does not collect any user data. Application malfunctions/errors are reported to the author. APRS-IS (APRS over the Internet Service) requires all IGates report their position on a periodic basis. This means your position and any packets gated to APRS-IS will be visible to anyone monitoring APRS-IS worldwide. javAPRSSrvrIGate generates a position packet and IGate status packet which is transmitted on RF via the Bluetooth TNC and via the Internet to the upstream server. If you do not wish this information to be sent to APRS-IS, do not use the application.