If the SIM300 SMS and call commands are not working then make sure you are sending the correct commands, and you have provided the right power supply for the modem.
Follow the steps given below to debug the CALL/SMS problem,
SIM300 SMS Not Working:
1) Give a ring to the number/SIM which you have put in the modem and check whether its ringing or not, this way you can confirm that the MODEM is up and its getting proper network. If its not ringing then put the SIM card properly and disconnect and connect the power to the modem.
2) Before sending any SMS command make sure you are sending the AT+CMGF=1; command to set the GSM modem into text mode.
3) Make sure your inbox is not full so that you can receive new messages. So whenever the microcontroller reboots add a code in the start of the main program to delete all messages in the inbox of SIM card memory.
4) Turn ON the delivery reports service in your handset using which you are sending SMS to the GSM modem so that you will know that the messages are getting delivered.
5) If you are sending commands in messages then add some standard headers or identifying characters like $ or # so that you can search for the terms which are appended with these characters instead of only keywords.
SIM300 Calls not working:
1) Follow the same step 1 of SMS not working section and give a ring to the modem and check the modem is powered up or not.
2) In addition to connecting the modem TX and RX to microcontroller, connect the TX line of MODEM to PC and check the messages in the hyper terminal. Verify that your modem is not giving those reboot messages like "Call Ready""+CPIN 1" and all. If its giving those messages then the modem is getting reset. If you are getting CALL READY messages again and again when you dial a call or send SMS, then your modem is getting reset because your power supply is not able to provide the stable current needed by the modem while making a call or sending SMS. Use a 2A current rating SIM300 Power Supply circuit to cope for the high current needs of the modem.
3) Always add sufficient delay in the microcontroller code so that on power on reset the microcontroller doesn't send any command to the GSM modem until the modem is ready to take them. Add around 2 minutes of delay. And i always use a Vodafone SIM card as it gives better results than other service providers since Vodafone network boots up fast and SMS don't take long to be delivered.
Check the below articles also,