Probleme beim Web-Zugriff mit SIM7600

Hallo zusammen,

ich habe ein Waveshare SIM7600E-H Shield am Arduino Due "laufen", habe aber Probleme Daten auf einen Webserver zu schicken bzw. erst einmal irgendeine Verbindung zum Web herzustellen.
SMS-Versand und Anrufen funktioniert problemlos. Zum testen der Verbindung habe ich ein Code aus dem Netz mit der Tiny-GSM Library leicht umgeschrieben.

#define TINY_GSM_MODEM_SIM7600
#define SerialMon Serial
//HardwareSerial Serial1(1);

#if !defined(TINY_GSM_RX_BUFFER)
#define TINY_GSM_RX_BUFFER 650
#endif
#define TINY_GSM_YIELD() { delay(2); }
const char apn[]  = "internet.telekom"; // Change this to your Provider details
const char gprsUser[] = "congstar";
const char gprsPass[] = "cs";
const char server[] = "ptsv2.com"; // Change this to your selection
const char resource[] = "/t/51f7c-1630711879/post";
const int  port = 443;
unsigned long timeout;

const int trigPin = 25;  
const int echoPin = 26; 
long duration;
int distance;

#include <TinyGsmClient.h>
TinyGsm modem(Serial1);
TinyGsmClient client(modem);

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  
  SerialMon.begin(115200);
  delay(10);
  SerialMon.println("Wait...");
  Serial1.begin(9600);
  delay(600);
  SerialMon.println("Initializing modem...");
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;

  modem.restart();
  SerialMon.print("Waiting for network...");
  if (!modem.waitForNetwork()) {
    SerialMon.println(" fail");
    delay(1000);
    return;
  }
  SerialMon.println(" success");
  if (modem.isNetworkConnected()) {
    SerialMon.println("Network connected");
  }

  SerialMon.print(F("Connecting to "));
  SerialMon.print(apn);
  if (!modem.gprsConnect(apn, gprsUser, gprsPass)) {
    SerialMon.println(" fail");
    delay(1000);
    return;
  }
  SerialMon.println(" success");

  if (modem.isGprsConnected()) {
    SerialMon.println("GPRS connected");
  }

  if (!client.connect(server, port)) {
    SerialMon.println(" fail");
  }
  SerialMon.println("Performing HTTP POST request...");
  String httpRequestData = "key=a@4K%3&distance="+ String(distance) +"";
  client.print(String("POST ") + resource + " HTTP/1.1\r\n");
  client.print(String("Host: ") + server + "\r\n");
  client.println("Connection: close");
  client.println("Content-Type: application/x-www-form-urlencoded");
  client.print("Content-Length: ");
  client.println(httpRequestData.length());
  client.println();
  client.println(httpRequestData);
  timeout = millis();
  while (client.connected() && millis() - timeout < 10000L) {
    while (client.available()) {
      char c = client.read();
      SerialMon.print(c);
      timeout = millis();
    }
  }
  SerialMon.println();
  client.stop();
  SerialMon.println(F("Server disconnected"));
  modem.gprsDisconnect();
  SerialMon.println(F("GPRS disconnected"));
}

Im Serial Monitor kommt folgendes als Antworten:

01:35:26.814 -> Wait...
01:35:27.425 -> Initializing modem...
01:36:34.535 -> Waiting for network... success
01:36:35.936 -> Network connected
01:36:35.936 -> Connecting to internet.telekom success
01:36:36.916 -> GPRS connected
01:37:29.290 ->  fail
01:37:29.290 -> Performing HTTP POST request...
01:37:30.734 -> 
01:37:30.874 -> Server disconnected
01:37:30.921 -> GPRS disconnected

Wenn ich das richtig verstehe läuft alles ohne Probleme - bis der connect Befehl die fail Rückmeldung gibt.
Wo könnte der Fehler liegen?
Habe auch schon verschiedene SIM-Karten getestet - ohne, dass sich etwas geändert hat.

Bin für alle Ideen dankbar.

Grüße
Julius