GPRS HTTP GET using SIM800L

I just received my SIM800L module from aliexpress and I would like to do a simple GET Request and print the response. So let’s say I want to go to http://canihazip.com/s which prints/returns the IP. How can I print the response (the IP) in Serial monitor? I tried several tutorials with no success.
I use my sim card that already worked on my mobile phone and I disabled the PIN prompt, so PIN verification is not needed anymore.

I use a 5V/40A external power supply that is attached to my breadboard. For powering the SIM800L module I use a voltage regulator (adjusted to 4.0V) that can handle up to 2A. GND and 4V goes directly to the SIM800L module. SIM800L-TX goes to my arduino nano pin 8 and SIM800L-RX goes to nano pin 7.
My arduino nano is grounded with the 5V/40A power supply and connected over USB to my computer.

I used the “Simple Serial Communication” code snipped found here that makes use of SoftwareSerial:

#include <SoftwareSerial.h>
 
//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8
 
//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7
 
//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
 
void setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  while(!Serial);
   
  //Being serial communication witj Arduino and SIM800
  serialSIM800.begin(9600);
  delay(1000);
   
  Serial.println("Setup Complete!");
}
 
void loop() {
  //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
  if(serialSIM800.available()){
    Serial.write(serialSIM800.read());
  }
  //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800
  if(Serial.available()){    
    serialSIM800.write(Serial.read());
  }
}

I opened Serial Monitor and started typing “AT” which returns “OK”. AT+CFUN=1 works too. AT+CREG? shows me that I am not registered. I tried to set my APN “pinternet.intercom.de” manually (no username/password needed) but it didn’t work. Anyone can help me making it work? Any help is appreciated.

EDIT:
Some additional information:

The SIM800L LED is flashing constantly every second.

AT+CGATT=?

+CGATT: (0,1) //means the modem is attached to GPRS

AT+SAPBR=3,1,"Contype","GPRS"

OK
AT+SAPBR=2,1

+SAPBR: 1,3,"0.0.0.0 // no IP"

OK
AT+CSQ

+CSQ: 0,0

OK

I restarted the arduino/SIM800L and did the following that shows that GPRS connection is not working:

Setup Complete!
AT

OK
AT+SApBR=3,1,"Contype","GPRS"

OK
AT+SAPBR=3,1,"APN","pinternet.interkom.de"

OK
AT+SAPBR=1,1

ERROR

EDIT:
Here is the solution:
AT+CBAND=“EGSM_DCS_MODE”
For anybody that is living in Europe. Use that line… and everything will work fine! :slight_smile: