As of December 15th 2018, a new version of the call sign look up service was released and can be found here
The new service is built ground up using technologies such as Docker, Docker Swarm, REDIS and few more. The hardware infrastructure is what’s described below.
On Nov 29th 2015, I had launched a new web service facility to look up HAM Radio License Call Signs details. The service offers a simple, no-nonsense, free service that folks can get to w/o cluttered look and feel. Additionally, the service offers an output format that is easily parse-able, and consumable from other services. Below here you will find some more details about this service facility.
How to get to and use the service:
FOUR formatted views are possible:
- DEFAULT view
- Example: http://call.n0agi.com/?c=N0AGI
- this will produce a tabular, formatted output like the one below pictures.
- No Lat/Lon coordinates are generated in this view
- SHORT view ((with the [&f=s] switch)
- Example: http://call.n0agi.com/?c=N0AGI&f=s
- this will produce a single line, concise view w/ bare bones information
- typically used for lookup services for smaller footprint endpoints such as APRS enabled devices such as radios
- No Lat/Lon coordinates are generated in this view
- this is the fastest of the four views
- Coords view (with the [&f=2] switch)
- Piped view (with the [&f=0] switch)
- Call Sign
- Class: (disambiguation verbiage, Technician, General, Extra, etc)
- Group: (call sign group call out)
- Region: (call sign region code)
- Prev.Call: (previous call sign)
- Prev.Class: (previous call class. disambiguation verbiage, Technician, General, Extra, etc)
- Licensee: (Last, First Name)
- Address: (Street address or PO Box classification)
- City: (City)
- State: (State Abbreviated Code)
- Zip: (5 digit zip code)
- Map: Link to the address for map disambiguation (uses google maps)
- Coords: (you must call the url w/ the [&f=2] switch to get lat/lon coords. This generates a fully searchable Lat/Lon coordinates comma separated for search engines
- Status: (Disambiguation verbiage. Active, Expired, Cancelled)
- Grant Date: (date when license was granted mm/dd/yyyy)
- Expiration Date: (date when current license will expire mm/dd/yyyy)
- Cancellation Date: (date when license was cancelled if applicable – mm/dd/yyyy or “n/a”)
- Effective Date: (date when license has been activate since mm/dd/yyyy)
- Last Action Date: (date when an FCC action was taken last – changes to status that is. mm/dd/yyyy)
Speed and Response:
- Approximate speeds ranged btwn 2sec to 3sec response time when multiple tests were done.
- this was primarily due to added lat/lon coordinates discovery logic. Which will be decoupled as an optional param driven request in the future
- Caching and Performance
- As of Dec 4th 2015 early morning, I had rolled out an update to the facility to take advantage of the RASPI NGINX/PHP server stack’s Caching features. The following features are active:
- should make consecutive calls to the page w/ previously looked up call signs much faster.
- cache is active for up to 15m of inactivity per call sign
- cache is large enough to store up to 2500 calls and then it tumbles over to refresh
- server is still running on one RASPI behind the cluster. Soon to be upgraded to multi-RASPIs for redundancy
- Load Balancing and Redundancy
- As of Dec 5th 2015 early morning, I had rolled out a load balancing frame sitting behind the facility. This should not only provide load balancing capability, but, also provide a good redundancy platform.
- Currently, the frame is designed as follows:
- The main entry point node to the facility/service is a “broker” RASPI that coordinates the backend “worker” nodes
- There are currently 3 worker nodes Node-2 thru Node-4
- The load balancing is currently defined using “round-robin” mode using NGINX built in capabilities
- The responding service output identifies the node that serviced the request.
- The caching memory is server specific.
- Meaning, if a call-sign was never processed within the last timeout threshold, the servicing node will do a fresh ‘get’ of details of that call-sign.
Current Limitations (ver 1.0):
- this ver 1.0 is for the US market only (primarily due to restrictions on data availability from other regions)
- Plans to extend to other regions is always in the play as the data becomes available from regions’ data sources (akin to FCC in other countries)
Project User Group:
Services from other HAMs using the call.n0agi.com service:
- I am excited to see the following 3rd party HAMs’ services using my service in their backend:
- APRS Weather Lookup Service by KI6WJP – Martin Nile uses my service to lookup zip codes of those call signs that currently don’t exist in the APRS-IS database. An example YouTube video of Martin’s weather service can be found here
- APRS Call-Sign LookUp Service by KI6WJP – Martin Nile uses my service to lookup call sign details. The following is how to use Martin’s APRS callsign lookup service:
- Send an APRS message addressed to KI6WJP with one of the following message texts:
- whois <callsign>
- info <callsign>
- who-is <callsign>
- First off, thanks to the FCC for offering the data as publicly available source for us for the US Market.
- Secondly, I want to thank a *few people* for their help in testing the facility and sharing their invaluable feedback to making this service better. here they go and the list keeps growing (in no particular order):