I want to start working with cell-phones and SIM cards. I searched a lot in the internet but still I have some problem!
I want to know :
1. What is the difference between (U)SIM cards and Smart Cards?
As I know, SIM and USIM, both are a kind of smart cards. right? If so, if there any specific hardware difference between regular Smart cards and SIM cards? or all the difference is a specific application (Containing IMSI,KI, so on) on the SIM Cards that there is not available on the regular smart cards?
2. What is the difference between SIM cards and USIM Cards?
As you see below (from here), it mentioned that SIM is for 2G and USIM is for 3G, But It said also SIM is 3G compatible, and USIM is backward compatible to 2G! So what is the difference? A single specific application that there is in USIM cards and there is not in SIM cards? or something else?
3. Supporting or not supporting 3G or 4G is a feature of the (U)SIM card or is a feature of Telecommunication-System or is a feature of my Cell-phone? or All?
In the other world, if I have a 2G SIM card, Using 3G protocol needs to changing the SIM card? and also, If I have a SIM for 3G, I neet to change it for using 4G communication? or I just need to install an applet on it?
Or a cellphone that doesn't support 3G or 4G for example, it needs only an application? or It needs a hardware element?
4. For getting started with smart cards, you recommend me to read Java card specifications, ISO 7816 and Global Platform Spec. Now, for (U)SIM cards, what specifications I must search for? What shall I know and learn to developing them?
And the last one!
5. Are all the new 3G/4G (U)SIM cards, a kind of Java Cards? (Does they all have JCVM inside?)