At some point in time, you will be faced with a complex requirement to control your robot using SMS or make the robot trigger an automated call or SMS on the event of a TRUE event or reaching a threshold.
Think of this project.
You have devised a robotic water channel where you are monitoring water flow in a huge irrigation set-up. This set up is connected to multiple relays which trigger water pumps.
So you need your robotic channels to be smart enough to provide you with a call or SMS when there is little water or excess water.
Or you may send pre-coded SMS to start to stop a robot's relay connect to a pump - All these fancy things needs a GSM capability to be built into your robot.
The most common GSM board is based on SIM900/SIM900A which also works very well with microcontrollers like Arduino. These boards work with AT cellular protocols and support interfacing with serial, I2C, analogue audio, speaker output, single external antenna, GPIO (general purpose input output), PWM (pulse width modulation).
So you can technically configure it to make and receive calls and send/receive SMS. Please note that SIM900 is a quad band module and SIM900A is a cheaper dual band for Asian markets. For INDIA only SIM 900A will work.
The interfacing with Arduino and SIM900A is very straight forward. Since this acts as a module you need to map the Rx and Tx's together. But the most common mistake made by starters is the not looking at the data sheet and not providing for the peak current value.
Most of the module we have played with have a peak current need of 2A which can not be provided by Arduino. So please make sure you have a separate power source for the module.
One word of caution - please follow all local rules and restrictions as applicable for the bandwidth.