function reconnectFritzBox() {
try {
upnpControlMessage = "ForceTermination"
var url = null;
// Get URL to FRITZ!Box UPnP Gateway.
var foxBoxPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("foxbox.");
if (foxBoxPrefs.prefHasUserValue("optUrlFritzBoxUpnpGateway")) {
url = foxBoxPrefs.getCharPref("optUrlFritzBoxUpnpGateway");
}
else {
// TODO: Get default preference value.
url = "http://fritz.box:49000/upnp/control/WANIPConn1";
}
// Send UPnP control message for reconnect.
xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.open("POST", url, true);
xmlHttpRequest.onreadystatechange = onReadyStateChange;
xmlHttpRequest.setRequestHeader("CONTENT-TYPE", "text/xml; charset=UTF-8");
xmlHttpRequest.setRequestHeader("SOAPACTION", "urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination");
// TODO: Get url from user preference else set default value.
xmlHttpRequest.send(readFileFromUrl("chrome://foxbox/content/ForceTermination.xml"));
} catch (e) {
alert("Error in reconnectFritzBox():\n" + e.message, extensionName);
}
}