GSM SIM800L EVB Module w/ SMA Antenna

I am using a GSM SIM800L EVB Module w/ SMA Antenna shield with a Arduino Uno and fail to get it so send a SMS.
I have read many reports on solving the problem on Youtube without finding a solution.
The Arduino is supplied from my PC via USB.
The shield is supplied with 4 V from a switching regulator and has a 2200 uF capacitor across the supply. All connections are very short.
I wonder of the Sim cards used in South Africa might cause the problem?
Running a sketch to check the shield and Sim card the card and network is recognized but an error is received when I check if the Sim card is ready.

The sketch is:

/*
  
  Sketch from https://lastminuteengineers.com/sim800l-gsm-module-
  arduino-tutorial/
  
*/
#include <SoftwareSerial.h>

//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(3, 2); //SIM800L Tx & Rx is connected to Arduino #3 & #2



void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  Serial.println("SendSmsW3b");
  //Begin serial communication with Arduino and SIM800L
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  //  mySerial.println("AT Moet OK wees"); //Once the handshake test is successful, it will back to OK
  Serial.print(" Moet OK wees - ");
  mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
  updateSerial();
  mySerial.println("AT+CSQ"); //Signal quals 0-31 , 31 is the best
  Serial.print(" Check the ‘signal strength’ 18,0 - ");
  
  updateSerial(); // lees 22,0
  mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
  Serial.print(" get the SIM card number - ");
  updateSerial();   // Error
  mySerial.println("AT+CREG?"); //Check whether it has registered in the network
  Serial.print(" Registered on the network? MOET 0,2 WEES - ");
  updateSerial();  // 0,0
  
  mySerial.println("AT+CPIN"); //Check whether it has registered in the network
  
  updateSerial();  // 0,0
  mySerial.println("AT+COPS=?"); //Check whether it has registered in the network
  Serial.print(" Return list operators on network neem 'n ruk. - ");
  Serial.println(" ");
  updateSerial();  // 0,0

}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available())
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while (mySerial.available())
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }
}

The results of running the sketch is:

Initializing...

AT

OK

RDY

+CFUN: 1

Check the ‘signal strength’ 18,0 - AT+CSQ

+CSQ: 0,0

OK

get the SIM card number - AT+CCID

89270200180082637084

OK

+CPIN: READY

Registered on the network?
AT+CREG?

+CREG: 0,2

OK

Is Sim ready -

AT+CPIN

ERROR

Return list operators on network -

AT+COPS=?

Call Ready

SMS Ready

+COPS: (3,"VodaCom","VODA","65501"),(3,"Mobile Telephone Netw

Hope someone can solve the problem.