 
 // Send a SOAP request
 bool sendSoapReq(
-    char *host, 
+    const char *host, 
     uint16_t port, 
     const __FlashStringHelper *path, 
     const __FlashStringHelper *action, 

// Get the current tx and rx bandwidth from the fritzbox router
bool getBandwidth(uint32_t *rxRate, uint32_t *txRate, char *date, int dateSize)
{
    if (!sendSoapReq("192.168.1.1", 49000, F("/upnp/control/WANIPConn1"), 
	F("urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetAddonInfos"),
	F("<?xml version=\"1.0\" encodin=\"utf-8\"?>\n"
	  "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" "
	  "xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
	  "<s:Body>\n"
	  "<u:GetAddonInfos xmlns:u=\"urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1\" />\n"
	  "</s:Body>\n</s:Envelope>"))) {
	return false;
    }

    uint32_t now=millis();

    if (date != NULL) {
	if (!wifly.match(F("DATE: "),5000)) {
	    Serial.println(F("failed to find DATE:"));
	    return false;
	}

	wifly.println('"');
	wifly.println(F("Content-Type: text/xml; charset=\"utf-8\""));
	wifly.print(F("Content-Length: "));
	wifly.println(strlen_P((const char *)xmlreq));
	wifly.println();
	wifly.println(xmlreq);
	wifly.println();
    } else {
        Serial.println(F("Failed to connect"));
        return false;
    }
    return true;
}
