6 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Microsoft Office 2010 suites

  • Microsoft Office Groove 2007

  • Microsoft Office Groove Server 2007

  • Microsoft Groove Server 2010

  • Microsoft SharePoint Workspace 2010

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.2.1.1:  The Office Groove 2007 and SharePoint Workspace 2010 applications set this to space delimited set of tokens indicating "<vendor> <product> <version> <build>". Examples of this string for Office Groove 2007 and SharePoint Workspace 2010, respectively, are as follows:

  • Groove Client 4.2 2623

  • Groove Client 14.0 4006

The Office Groove Server 2007 Relay and Groove Server 2010 Relay applications set this to space delimited set of tokens indicating "<vendor> <product> <version> <build>". Examples of this string for Office Groove Server 2007 and Groove Server 2010, respectively, are as follows:

  • Groove Relay 12.0 1336

  • Groove Relay 14.0 4006

<2> Section 2.2.1.1:  The Office Groove 2007 application, Office Groove Server 2007 Relay application, SharePoint Workspace 2010 application, and Groove Server 2010 Relay application all set this field to an empty string: 0x00.

<3> Section 2.2.5.1:  [MS-GRVWDPP] specifies that a WAN DPP device presence session specifies a ResourceURL of "grooveWANDPP".

The Office Groove 2007 application and Microsoft SharePoint Workspace 2010 application use this ResourceURL value.

The Office Groove Server 2007 Relay Application and Microsoft Groove Server 2010 Relay application use this ResourceURL value.

<4> Section 2.2.5.1:  [MS-GRVWDPP] specifies that the Open command IdentityURL field is set to 0x00 for a WAN DPP device presence session.

The Office Groove 2007 application and SharePoint Workspace 2010 application use this IdentityURL field value.

The Office Groove Server 2007 Relay Application and Groove Server 2010 Relay application use this IdentityURL field value.

<5> Section 2.2.5.1:  If set to 1, this value indicates this is a session for transmitting identity targeted messages.

The Office Groove 2007 application and SharePoint Workspace 2010 application do not set this bit.

The Office Groove Server 2007 Relay application and Groove Server 2010 Relay application set this bit only for relay server originated sessions with an empty DeviceURL.

<6> Section 2.2.6.1:  If set to 1, this value indicates this is a session for transmitting identity targeted messages.

The Office Groove 2007 application and SharePoint Workspace 2010 applications do not set this bit.

The Office Groove Server 2007 Relay application and Groove Server 2010 Relay application set this bit only for relay server originated sessions with an empty DeviceURL.

<7> Section 2.2.6.1:  The Office Groove 2007 and SharePoint Workspace 2010 application sends a FanoutOpen command with an empty DeviceURL to indicate an identity-targeted session.

<8> Section 2.2.6.1:  The Office Groove Server 2007 Relay application and Groove Server 2010 Relay application require that the RelayURL scheme [RFC3986] is of the form "grooveDNS://".

<9> Section 2.2.8.1:  Office Groove 2007 and SharePoint Workspace 2010 applications can detect redundant failed endpoints, in case the same index is sent multiple times in multiple SessionStatus commands.

<10> Section 3.1.1.3:  Identity URLs start with the "grooveIdentity://" prefix and the length of the URL after the prefix does not exceed 80 characters for the Office Groove 2007 application and SharePoint Workspace 2010 application and for the Office Groove Server 2007 Relay Application and the Groove Server 2010 Relay application.

<11> Section 3.1.2:  Although there are no additional mandatory protocol-defined timeouts applicable to connection establishment or session open protocol exchanges, an application can implement specific timers to compensate for unacceptable response times.

Transport Connection Timer

A timer used to detect when a ConnectReponse is not received within 3 minutes during a connection of the underlying transport layer for a requested SSTP connection. If an application implements this timeout, the application can retry the connection attempt to correct the condition. The higher-layer application determines the duration for this timer.

The value of this timer MUST exceed the value of any inherent connection timer used by the underlying transport.

Upon expiry of this timer, the application retries the connection.

The Office Groove 2007 client application and SharePoint Workspace 2010 client application implement this as a 10 minute timer.

The Groove Server 2010 relay server implements this as a 3 minute timer.  This timer is in effect for relay-to-relay single-hop fanout connections.

Connection Establishment Timer

A timer used to detect excessive delays in initial SSTP connection, following connection of the underlying transport layer and the transition to the SSTP established state. This timer is in effect only for the time span between a Connect command and receipt of the ConnectResponse command. If an application implements this timeout, the only possible corrective action is to terminate the connection. The duration for this timer is application-dependent.

Upon expiry of this timer, the application closes the connection with ReasonId ResponseTimeout and closes the transport layer connection.

Authentication Timer

A timer used to detect excessive delays in initial connection authentication and registration. This timer can be restarted upon any change in SSTP Security protocol [MS-GRVSSTPS] state. If an application implements this timeout, the only possible corrective action is to terminate the connection. The duration for this timer is application-dependent.

Upon expiry of this timer, the application closes the connection with ReasonId ResponseTimeout and closes the transport layer connection.

Session Establishment Timer

A timer used to detect excessive delays in session creation and the transition between session states. This timer is started by the session originator upon transmission of the session Open or FanoutOpen command, and cancelled upon receipt of the corresponding OpenResponse command.

Upon expiry of this timer, the application issues a session Close command. The Groove Server 2010 relay server implements this as a 3 minute timer. This timer is in effect for relay-to-relay single-hop fanout connections.

Outbound Idle Timer

A timer used to detect periods of inactivity on an SSTP connection. This timer can be restarted upon transmission of any outbound SSTP command.

Upon expiry of this timer, the application can send a Noop command to the remote device, with a MessageCount field of zero. This is useful for detecting broken transport connections when SSTP is hosted on a transport that cannot detect loss of network connectivity.

The Office Groove 2007 client application, SharePoint Workspace 2010 client application, and Office Groove Server 2007 relay server implement this as a 10 minute timer. The Groove Server 2010 relay server implements this as a 4 minute timer on relay-to-relay single-hop fanout connections.

Inbound Idle Timer

A timer used to detect periods of inactivity on an SSTP connection. This timer can be restarted upon detection of any inbound SSTP command.

Upon expiry of this timer, the application can send a Noop command to the remote device, with a MessageCount field of zero. This is useful for detecting broken transport connections when SSTP is hosted on a transport that cannot detect loss of network connectivity.

The Office Groove 2007 and SharePoint Workspace 2010 applications implement this as a 10 minute timer.

<12> Section 3.1.2.1:  The Office Groove 2007 and SharePoint Workspace 2010 applications implement this as a 5 second timer.

<13> Section 3.1.4.3.2:  The Office Groove 2007, Office Groove Server 2007 Relay, SharePoint Workspace 2010, and Groove Server 2010 Relay support a strict-naming convention by default. When the strict-naming convention is in effect, the following session addressing entry schemes are enforced:

  • The IdentityURL scheme is of the form "grooveIdentity://".

§ If the DeviceURL field is non-empty, the DeviceURL scheme is of the form "dpp://".

<14> Section 3.1.4.3.3:  The Office Groove 2007, Office Groove Server 2007 Relay, SharePoint Workspace 2010, and Groove Server 2010 Relay support a strict-naming convention by default. When the strict-naming convention is in effect, the following fanout session addressing schemes are enforced:

§ Each FanoutEntry IdentityURL scheme is of the form "grooveIdentity://".

§ Each FanoutEntry DeviceURL scheme is of the form "dpp://".

§ For each FanoutEntry RelayURL field that is non-empty, the RelayURL scheme is of the form "grooveDNS://".

<15> Section 3.1.4.7:  In the Office Groove 2007 and SharePoint Workspace 2010 products, if any session has a Message command to be sent as specified in section 3.1.4.6 at the time that a resource handler completion notification is received, the message sequence acknowledgment count as determined by the process specified in section 3.1.4.2.1 will be set in the MessageCount field value of that Message command.

<16> Section 3.2.5.8:  The behavior of each version in this condition is as follows:

§ SSTP 1.6 SharePoint Workspace 2010 clients will always send a Close.

§ SSTP 1.5 Office Groove 2007 clients will never send a Close.

§ SSTP 1.5 Office Groove Server 2007 relays will always send a Close following generation of a SessionStatus, which results in removal of all OutboundFanoutAddressingList members.

§ SSTP 1.6 Groove Server 2010 relays will always defer the sending of a Close in this case by 60 seconds; it is expected that the receiving client will respond to such a SessionStatus with a Close prior to timeout of that session-close timer.

<17> Section 3.3.2.1:  The Office Groove Server 2007 and Groove Server 2010 Relay Servers implement this as 5 minute timer.

<18> Section 3.3.4.1.2:  If target destinations on a remote relay server fail during single-hop fanout, the remote relay server sends multiple SessionStatus commands, specifying the addressing entry of each failed target, to the originating home relay. SSTP 1.6 Groove Server 2010 relays can aggregate these SessionStatus commands and send a single SessionStatus command containing a list of indices of the failed targets back to the session originator.

<19> Section 3.3.5.6:  The Groove Server 2010 Relay Application sends an OpenResponse command as specified. The Office Groove Server 2007 Relay Application sends a SessionStatus command and Close command.

<20> Section 4.2.5:  This example uses SSTP 1.5 as used by the Office Groove 2007 and SharePoint Workspace 2010 applications and the Office Groove Server 2007 and Groove Server 2010 Relay applications.  An SSTP 1.6 example would be similar except that the FanoutEntries inside the FanoutOpen commands would include additional FailoverDeviceURLs field.