Hi,
Designing electronics means to take care about: voltage, current, timing, power dissipation..
There's not much information about all this in your post..but still I see a lot of issus:
Just on a quick view at the SIM900 datasheet:
* max recommended operation voltage is 4.5V but you used 5V
* max current drawn is 3A, but you provide 2.5A only
* abs max digital signal voltage is 3.1V, but many Arduino devices use 5V.
Didn't you read the datasheet? That's what you have to do....
If you knowingly violate datasheet specifications, then you should not be surprised by malfunction or killed modem.
Klaus