Problem in Sending Data to HTTP server

Hello,
I m getting a problem when sending and receiving data from an HTTP server using arduino nano and SIM808.
When sending and receiving data together only receiving works. And when you skip receiving..then it can send data.

Below is the code:

void loop() {

  Serial.println("HTTP get method :");
      SIM808.println("AT"); /* Check Communication */
      delay(300);
      GetGPSData("AT+CGNSINF",1000,DEBUG);
      if (state !=0) {
      Serial.println("State  :"+state);
      Serial.println("Time  :"+timegps);
      Serial.println("Latitude  :"+latitude);
      Serial.println("Longitude  :"+longitude);
      }
    
        GetGSMTime();   // Call GetGSMTime Function

               
        SendHTTPData();    // Send GPS/Fuel/Fingerprint/Device Status Data to Server  

         
        ReceiveHTTPData();   //  Receive Engine Status from Server 
      
  if (engineflag == true) {
    digitalWrite(4, data);
    engineflag = false;
  }
}

I tried to flush the data also on SIM808.flush(); to clear data before going to SendHTTPData(); and then again clear data at SIM808.flush(); after data sending is done.