There are 2 problems here.
First of all, firmware versions 20 and 21 were released via NSU only. This means that you won't see them if you try to update over-the-air using the phone's built-in device manager.
V30, however, is in the process of being released over-the-air, so your phone should see it eventually.
The second problem is branding. If you obtained your phone through a network operator instead of getting it SIM-free then the chances are that you have a branded handset, which means that updates will only be released for your phone when the operator is good and ready. Read here:
http://linux.sgms-centre.com/nokiafaq/branded-phones/The 5800 is necessarily still under warranty (unless you've done something to void the warranty). This means that you can take it to your nearest Nokia Care Point and they'll update it to the latest available version free of charge.
Was this post helpful? If so, please click on the white "Kudos!" star to the left. Thank you!