now i can use this amount to call or i can send it again to a friend using my phone
OK, I get the general idea... there is a "fee" associated with the 1st transaction that represents a "cost" and after that cost, you could then subsequently send all or part of the amount to another number...
So, for example, if your SIM had a 100 credit, you could send a portion of this amount, maybe 20, to another SIM leaving you with a net of 80 to use or resell.Interesting.
I suspect that the SIM card ID number is the being used something like this: https://www.xoom.com/
Or, like this: https://www.getbankingdone.com/#surepay
I have no experience with this technology, previous B2B was between businesses using encryption. My "feeling" is that an applicaton will be required on the GSM side (smartphone) to broker the transfer and ensure that the receiving side is credited and the sending side is debited and all the time ensuring that this is done via a smooth hand-off of funds... that is, one certainly WOULD NOT want the receiving side to be credited PRIOR to the sending side being debited ... that would be like printing money! In the same thought, one would NOT want the sending side to be debited unless the receiving side was credited. Thus, an application must be doing the handshake.
In my belief, such a complex application is unfit for an Arduino. However, an Arduino could be used to simulate the user input (security code, amounts, etc.) in an automated fashion so that the Arduino would be acting like a typist ... to the cellphone software. I just do not believe the Arduino can broker such a complex session to the GSM modem directly. Much more would need to be known before a final decision could be made, however.