WURFL is a great resource for this. You can configure what values you need (no need to take all of its arguments). I think if you want to create your own solution-
1) You can take WURFL XML
2) Shortlist arguments as per your needs
3) Use XML Reader to read its xml and put values in your database.
This way you can have your own solution. (aLthough one issue is that new devices that register later on WURFL will not be updated automatically, so you have to later on update it yourself)