2.2.9.1 Close Command Fields

The Close command fields are defined as shown in the following table.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

CommandId

CommandLength

SessionId

...

ReasonId

CommandId (1 byte): The command identifier. This field MUST be set to 0x11.

CommandLength (2 bytes): The total length of the command, in bytes.

SessionId (4 bytes): The identifier for the SSTP session, as specified in section 3.1.1.3.

ReasonId (1 byte): This field MUST be one of the reason identifiers described in the following table indicating the reason for closing the session.

Value

Mnemonic

Description

0x00

NoReason

This is the default value.

0x02

Idle

The sending device higher-layer has detected that the session is idle and is closing the session.

0x03

ProtocolError

The sending device has detected an SSTP Security message protocol violation and is closing the session.

0x04

DeviceAuthenticationFailed

The sending device was unable to authenticate the receiving client device.

0x05

UserAuthenticationFailed

The sending device was unable to authenticate the account specified in a previous Attach command.

0x07

StaleAttachAuthenticate

The receiving client device did not respond with a correct AttachAuthenticate command to the security challenge provided in a previous AttachResponse command.

0x0b

QuotaWouldBeExceeded

The identity’s message quota has been exceeded on the relay server.

0x0d

InternalError

The sending device encountered an unexpected condition and is closing the connection (1).

0x15

EmptySession

The relay server will not accept data sent by the receiving device for this session because all the remote relay servers or local recipients of the fanout session are either unavailable or can no longer accept data.