We use the  Maxmind enterprise databases to geo-locate that 
you pay for.
I deduced mobile carrier IPs by their frequency.
https://github.com/arineng/nicinfo
nicinfo (a ruby gem) confirms your findings on the command line.
Mobile device types are in your logs -- see browser signatures.
Point and click web tools are just not as accurate unless someone  has done a SaaS ...
We use nosql -- elastic search for production tracking.