So, here's an interesting programming / reading comprehension challenge that seems really easy at first glance. It's only 11 bytes after all. How hard can it be?

Given the specification below, write a decoder that takes a number of bytes as input and

  1. Determines the type of network currently connected to (GERAN, UTRAN, E-UTRAN) or any of the special cases.
  2. Extracts the information contained in the structure relevant to each case.

If, for some reason, the type or some value can not be reliably determined, this should also be indicated.

Referred specifications can be downloaded at the ETSI download site.