Set up an Arduino Cellular Shield SM5100B
/*
 Band Management

 This sketch, for the Arduino GSM shield, checks the band
 currently configured in the modem and allows you to change 
 it.

 Please check http://www.worldtimezone.com/gsm.html
 Usual configurations:
 Europe, Africa, Middle East: E-GSM(900)+DCS(1800)
 USA, Canada, South America: GSM(850)+PCS(1900)
 Mexico: PCS(1900)
 Brazil: GSM(850)+E-GSM(900)+DCS(1800)+PCS(1900)


 Circuit:
 * GSM shield 

 created 12 June 2012
 by Javier Zorzano, Scott Fitzgerald

 This example is in the public domain.
 */
 // libraries
 #include &lt;GSM.h&gt;

 // initialize the library instance
 GSMBand band;

 void setup()
 {
   // initialize serial communications and wait for port to open:
   Serial.begin(9600);
   while (!Serial) {
     ; // wait for serial port to connect. Needed for Leonardo only
   }

   // Beginning the band manager restarts the modem
   Serial.println("Restarting modem...");
   band.begin();
   Serial.println("Modem restarted.");

 };


 void loop()
 {
   // Get current band 
   String bandName = band.getBand(); // Get and print band name
   Serial.print("Current band:");
   Serial.println(bandName);
   Serial.println("Want to change the band you’re on?");
   String newBandName;
   newBandName = askUser();
   // Tell the user what we are about to do…
   Serial.print("\nConfiguring band "); 
   Serial.println(newBandName); 
   // Change the band 
   boolean operationSuccess; 
   operationSuccess = band.setBand(newBandName); 
   // Tell the user if the operation was OK 
   if(operationSuccess)
   { 
     Serial.println("Success");
   } 
   else
   { 
     Serial.println("Error while changing band");
   } 

   if(operationSuccess)
   { 
     while(true); 
   } 
 }

 // This function offers the user different options
 // through the Serial interface
 // The user selects one
 String askUser()
 {
   String newBand; 
   Serial.println("Select band:"); 
   // Print the different options 
   Serial.println("1 : E-GSM(900)"); 
   Serial.println("2 : DCS(1800)"); 
   Serial.println("3 : PCS(1900)"); 
   Serial.println("4 : E-GSM(900)+DCS(1800) ex: Europe"); 
   Serial.println("5 : GSM(850)+PCS(1900) Ex: USA, South Am."); 
   Serial.println("6 : GSM(850)+E-GSM(900)+DCS(1800)+PCS(1900)"); 

   // Empty the incoming buffer 
   while(Serial.available()) 
   Serial.read(); 

   // Wait for an answer, just look at the first character 
   while(!Serial.available()); 
   char c= Serial.read(); 
   if(c=='1')
     newBand=GSM_MODE_EGSM; 
   else if(c=='2')
     newBand=GSM_MODE_DCS; 
   else if(c=='3')
     newBand=GSM_MODE_PCS; 
   else if(c=='4')
     newBand=GSM_MODE_EGSM_DCS; 
   else if(c=='5')
     newBand=GSM_MODE_GSM850_PCS; 
   else if(c=='6')
     newBand=GSM_MODE_GSM850_EGSM_DCS_PCS; 
   else
     newBand="GSM_MODE_UNDEFINED";
   return newBand;
 }