On an Android phone, how much call data (who called, who was called, when, from where, etc.) is stored? I've read "recent" data, but how much or how recent?

Also, is this data writable? Could the "location" data, for example, be changed, so that a phone call from Athens, GA could be made to look like it was Athens, Greece?

I know SOMEBODY could probably do this, but I mean: is writing such data a permission that could be granted by Android and the handset user?