GCC (Global Country Code) Library
The GCC (Global Country Code) is a mandatory component of a RadioDNS Lookup for FM, DAB, DAB+
The RadioDNS Hybrid Radio Lookup specification requires the use of GCC to complete a lookup. Without a GCC, lookup can’t take place, and the IP connection can’t be made. GCC is constructed from a combination of the ECC code and PI code of FM-RDS or SId code of DAB/DAB+ transmissions. However in some circumstances the ECC may not be available quickly, which delays making the lookup and access to functionality.
The ECC was defined because the originally specified values for Country Code are too limiting to create a unique value for each country in the world. The ECC extends the namespace to allow for global uniqueness, however it’s transmission is not mandatory, and not as frequent as Country Code (which is always the first nibble of the FM-RDS PI code or DAB/DAB+ 16 bit SID code).
This library provides an alternative method, based on Geolocation information (GeoIP, GPS etc.) to calculate the GCC code of the currently received station, taking into account border conditions (that is, receiving a radio station from country B whilst being located in country A). It uses as reference Tables 3,4,6,7 from TS 101 756 ‘Digital Audio Broadcasting (DAB); Registered Tables’ v1.6.1 (2014-05)
It is strongly recommended that device clients implement this library.
The source code (in Java), with example code for Android, can be downloaded here.
Note about Android Devices: Android provides a method for ge0-location of the device which relies on the Google Location Services. Google Location Services are only available if the device is associated with a valid Google Account. Without a valid Google Account, geo-location may be inaccurate.