SeeedStudio GPRS Shield

I’m trying to send an SMS and/or make a phone call from my GPRS shield to my telephone. Here is the model I’m using: http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0#SoftwareSerial_library_Notes
I went out and purchased a SIM card and a phone plan from T-Mobile. I bought the same plan that this guy did: http://rwsdev.net/2013/02/arduino-and-seeed-quad-band-gprs-shield-review-and-tutorial-with-examples/ It’s activated, and the SIM card is inserted in the shield. Shield is turned on, drawing power from the Arduino.

I tried using the following code to send a phone call:

/* place call example */
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(7, 8);
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);               // the GPRS baud rate   
  delay(2000);
  mySerial.println("ATDxxxxxxxxxx;"); // xxxxxxxxx is the number you want to dial.  
 
  if(mySerial.available())
  {
    Serial.print((unsigned char)mySerial.read());
  }  
 
  delay(30000); // wait 30 seconds then end call
 
  mySerial.println("ATH"); //End the call.
  if(mySerial.available())
  {
    Serial.print((unsigned char)mySerial.read());
  }    
}
 
void loop()
{
  //Do nothing
}

and this code to send an SMS:

/* send sms example */
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(7, 8);
 
void setup()
{
  mySerial.begin(19200);  //Default serial port setting for the GPRS modem is 19200bps 8-N-1
  mySerial.print("\r");
  delay(1000);                    //Wait for a second while the modem sends an "OK"
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(1000);
 
  //mySerial.print("AT+CSCA=\"+xxxxxxxxxx\"\r");  //Setting for the SMS Message center number,  
  //delay(1000);                                  //uncomment only if required and replace with
                                                  //the message center number obtained from
                                                  //your GSM service provider.
                                                  //Note that when specifying a tring of characters
                                                  // " is entered as \"
 
  mySerial.print("AT+CMGS=\"xxxxxxxxxx\"\r");     // xxxxxxxxxx is number to text
						  //Start accepting the text for the message
                                                  //to be sent to the number specified.
                                                  //Replace this number with the target mobile number.
  delay(1000);
  mySerial.print("I'm sending this from the arduino and GPRS shield!\r");   //The text for the message
  delay(1000);
  mySerial.write(0x1A);  //Equivalent to sending Ctrl+Z 
}
 
void loop()
{
      //We just want to send the SMS only once, so there is nothing in this loop.
      //If we put the code for SMS here, it will be sent again and again and cost us a lot.
}

where “xxxxxxxxxx” is replaced with the phone number I’m trying to text/call.

Any ideas? Thanks.

After doing some scanning on the Wiki (http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0#SoftwareSerial_library_Notes), I noticed that neither the status nor the netlight LEDs are on. The netlight LED occasionally blinks if I keep hitting the power button on and off, though. Could it be a problem with the SIM card? Maybe it isn't getting detected?

Turns out that the issue was I wasn't holding down the power button on the GPRS shield long enough. Once I had held it down for several seconds, both the status and netlight LEDs turned on, and everything worked smoothly. I managed to succeed in sending text messages and making phone calls from my Arduino.

However, if anybody could please help me figure out how to receive texts and phone calls on my Arduino, that would be great. Thanks.