if (!msg.contains('Sky telnet process')) {
  return;
}

ipAddress = "172.16.1.0";
osName = java.lang.System.getProperty("os.name").toLowerCase();
if (osName.startsWith("win")) {
  pingCmd = "ping -n 10 " + ipAddress;
} else {
  pingCmd = "ping -c 10 " + ipAddress;
}
replyMsg = "from " + ipAddress;

ok = global.get('started_ping');
if (ok == true) {
  //log.log("ping already started\n");
  return;
}
global.put('started_ping', true);
global.put('replies', "");

var runnableObj = new Object();
runnableObj.run = function() {
  pingProcess  = new java.lang.Runtime.getRuntime().exec(pingCmd);
  log.log("cmd> " + pingCmd + "\n");

  stdIn = new java.io.BufferedReader(new java.io.InputStreamReader(pingProcess.getInputStream()));
  while ((line = stdIn.readLine()) != null) {
    log.log("> " + line + "\n");
    if (line.contains(replyMsg)) {
      global.put('replies', global.get('replies') + "1");
      //log.log("reply #" + global.get('replies').length() + "\n");
    }
  }
  pingProcess.destroy();

  if (global.get('replies').length() > 5) {
    log.testOK(); /* Report test success and quit */
  } else {
    log.log("Only " + global.get('replies').length() + "/10 ping replies was received\n");
    log.testFailed();
  }
}
var thread = new java.lang.Thread(new java.lang.Runnable(runnableObj));
thread.start();