From: ToddAndMargo on
Hi All,

On my WS08 x32 Terminal Server (TS), I have sessions set
to disconnect at 6 hours of inactivity.

Problem: if the user minimizes the session or walks
away from his computer for ~ 10 minutes, he gets
disconnected. If he tries getting back in, he gets
the blue screen says it is reconnecting and he
gets right back where he left off.

This is causing havoc with a few of the customers as
they have to wait to reconnect to write invoice, etc..

By the way, all it takes is a mouse over to keep
from disconnecting.

How do I stop this behavior? The users are about
to kill me and, of course, it is all my fault (like
I write Windows Server).

Many thanks,
-T


From: Rob on
ToddAndMargo <ToddAndMargo(a)invalid.com> wrote:
> Hi All,
>
> On my WS08 x32 Terminal Server (TS), I have sessions set
> to disconnect at 6 hours of inactivity.
>
> Problem: if the user minimizes the session or walks
> away from his computer for ~ 10 minutes, he gets
> disconnected. If he tries getting back in, he gets
> the blue screen says it is reconnecting and he
> gets right back where he left off.

Maybe your users connect via a NAT router that has a 10
minute lifetime on idle TCP sessions?
From: ToddAndMargo on
On 05/12/2010 12:59 PM, Rob wrote:
> ToddAndMargo<ToddAndMargo(a)invalid.com> wrote:
>> Hi All,
>>
>> On my WS08 x32 Terminal Server (TS), I have sessions set
>> to disconnect at 6 hours of inactivity.
>>
>> Problem: if the user minimizes the session or walks
>> away from his computer for ~ 10 minutes, he gets
>> disconnected. If he tries getting back in, he gets
>> the blue screen says it is reconnecting and he
>> gets right back where he left off.
>
> Maybe your users connect via a NAT router that has a 10
> minute lifetime on idle TCP sessions?

Happens both on the LAN and the WAN. Buy, does not happen with
"rdesktop". Only with MSTSC.

From: ToddAndMargo on
On 05/12/2010 11:45 PM, ToddAndMargo wrote:
> On 05/12/2010 12:59 PM, Rob wrote:
>> ToddAndMargo<ToddAndMargo(a)invalid.com> wrote:
>>> Hi All,
>>>
>>> On my WS08 x32 Terminal Server (TS), I have sessions set
>>> to disconnect at 6 hours of inactivity.
>>>
>>> Problem: if the user minimizes the session or walks
>>> away from his computer for ~ 10 minutes, he gets
>>> disconnected. If he tries getting back in, he gets
>>> the blue screen says it is reconnecting and he
>>> gets right back where he left off.
>>
>> Maybe your users connect via a NAT router that has a 10
>> minute lifetime on idle TCP sessions?
>
> Happens both on the LAN and the WAN. Buy, does not happen with
> "rdesktop". Only with MSTSC.
>

New information: the disconnects only happen when using
published appliations. When running from the desktop,
no problems with disconnects.
From: ToddAndMargo on
On 05/12/2010 10:18 AM, ToddAndMargo wrote:
> Hi All,
>
> On my WS08 x32 Terminal Server (TS), I have sessions set
> to disconnect at 6 hours of inactivity.
>
> Problem: if the user minimizes the session or walks
> away from his computer for ~ 10 minutes, he gets
> disconnected. If he tries getting back in, he gets
> the blue screen says it is reconnecting and he
> gets right back where he left off.
>
> This is causing havoc with a few of the customers as
> they have to wait to reconnect to write invoice, etc..
>
> By the way, all it takes is a mouse over to keep
> from disconnecting.
>
> How do I stop this behavior? The users are about
> to kill me and, of course, it is all my fault (like
> I write Windows Server).
>
> Many thanks,
> -T

Vera: maybe you should consider putting this up
on your web site. (Leave off the jab at M$.)

To answer my own question. Turn on "Keep Alives"
(directions below). Please note that Keep Alives is
*not* part of the Terminal Services Configuration
dialog.

First off, all traffic to my TS is considered
WAN traffic, even those computers in the same physical
location. This is because my TS is on its own
LAN with its own network.

First, the only decent description of the problem
I could find was: http://www.managemore.com/faq/faq-ts.htm

Section 2: Keep Alives:

In the registry at [w2k3 server only] HKLM\SYSTEM\
CurrentControlSet \Control\Terminal Server, create
or edit the DWORD value of KeepAliveEnable and set
it to 1. This will turn Keep Alives on. This will serve
to stabilize the connection by sending 'heartbeat'
packets to the client every so often. This will cause
an idle connection to be probed every so often just to
be sure that the connection is still alive and that the
client is still listening on the other side. This will
also help prevent disconnects by preventing network
devices from killing off sockets that it assumes to be
idle. Because terminal services is such a low bandwidth
protocol, when a user is idle, no network activity will
occur. Some network devices will interpret a connection
that is in the idle state for an extended period of time
to be a dead connection, and thus will terminate the
socket. However, when the user comes out of the idle state,
the terminal services client can no longer contact the
terminal server because the socket is dead. By turning on
Keep Alives, the connection will not appear idle, and
therefore the network device will not attempt to terminate
the socket.


My Solution:

Open the Local Group Policy Editor: <win><r> gpedit.msc

Go to the follow tree:

Computer Configuration\Administrative Templates\Windows
Components\Terminal Services\Terminal Server\Connections

Locate: Configure keep-alive connection interval.
1) Set it to "Enables"
2) Set the ping interval (in minutes)
I set mine to 2 minutes

Reboot

I know of no other persistent Internet software that
does not implement Keep Alive by default. Microsoft:
if you are listening *WHAT AMATEUR HOUR*! (Yes, I am
pissed!)

Anyway, I hope this help someone else.

-T