Problem with Arduino Uno and SIM900 shield logical communication (rx & tx)
Use a logic level converter.

A logic level converter is a small device that converts between different logic levels, for example between 5V and 3.3V.

I am not affiliated with Sparkfun, I just think they are the most informative source.