protected void sendTelnetNegotiationParameters() {
        try {
            byte[] commands = new byte[3];

            commands[0] = (byte) TrekTelnet.IAC;
            commands[1] = (byte) TrekTelnet.WILL;
            commands[2] = (byte) TrekTelnet.SUPPRESS_GOAHEAD;
            out.write(commands);

            commands[0] = (byte) TrekTelnet.IAC;
            commands[1] = (byte) TrekTelnet.WILL;
            commands[2] = (byte) TrekTelnet.ECHO;
            out.write(commands);

            commands[0] = (byte) TrekTelnet.IAC;
            commands[1] = (byte) TrekTelnet.DONT;
            commands[2] = (byte) TrekTelnet.LINEMODE;
            out.write(commands);

            // For the Microsoft Telnet client
            commands[0] = (byte) TrekTelnet.IAC;
            commands[1] = (byte) TrekTelnet.WONT;
            commands[2] = (byte) TrekTelnet.TIMING_MARK;
            out.write(commands);
        } catch (Exception e) {
            TrekLog.logException(e);
        }
    }