Just a second...

Session properties

A client session has a number of properties associated with it. Properties are key-value pairs. Both the key and the value are case sensitive.

Session properties provide a powerful way for client sessions to target actions at a specific session or set of sessions whose session properties match a given criteria. Client sessions can use session filtering to select a set of client sessions upon which to perform one of the following actions: For more information, see Session filtering.

A client session with the appropriate permissions can also view all of the session properties and modify the user-defined session properties. For more information, see Working with session properties.

Fixed properties

Fixed properties are set by Diffusion Cloud when a client opens a session with it. Fixed property keys are prefixed by a dollar sign ($). The fixed session properties are:
$SessionId
The session identifier.
$Principal
The security principal the session uses to connect to Diffusion Cloud .
$Roles
Authorization roles assigned to the session, represented as quoted strings (for example "client", "topic_control"). For more information, see Role-based authorization.
$ClientType
The client type of the session. For more information, see Client types.
$ClientIP
The session's IP address represented as a string.
$Transport
The transport the client session uses to connect to Diffusion Cloud . For more information, see Client types.
$Environment
The environment in which the client is running. One of JAVA_<jvm_runtime_name>_<java_version>, BROWSER_<browser>_<browser_version>, NODE_<platform>_<node_version>, DOTNET_<operating_system>_<.net_version>, C_<architecture>_<compiler>:<compiler_version>, ANDROID_<hardware>_<version>, Apple_iOS_<ios_version>, Apple_MacOS_<macos_version>, Apple_TvOS_<tvos_version>, PYTHON_<implementation_name>_<python_version>. Clients older than version 6.11 return "UNKNOWN".
$ServerName
The name of Diffusion Cloud that the client connects to.
$Connector
The name of the connector on which the client connected to Diffusion Cloud .
$Country
The two letter country code for the country where the client's internet address is located. The value is uppercase.
$Language
The two letter language code for the most common language of the country where the client's internet address is located. The value is lowercase.
$Latitude
The client session's geographic latitude, if this can be ascertained, or 'NaN' if not.
$Longitude
The client session's geographic longitude, if this can be ascertained, or 'NaN' if not.
$StartTime
The client session's start time in milliseconds since the epoch.
$ExpiryTime
The client session's expiry time in milliseconds since the epoch. If this is not set, the session will not expire. Authenticators can set this value and the server will automatically close the session at the specified time, if the session does not re-authenticate before.
$MQTTClientId
The MQTT client identifier. Only set for MQTT sessions. If present, the value of the $ClientType session property will be MQTT.
$GatewayType
Only set for gateway adapter sessions. Identifies the gateway adapter type.
$GatewayId
Only set for gateway adapter sessions. Identifies the instance within the gateway type.

User-defined properties

An authenticator that allows a client session to connect can assign additional properties to the session. The keys of these properties are case sensitive, non-empty strings, must not start with a '$', and cannot contain any of ' ', '\t', '\r', '\n', '"', ''', '(', ')'

Client-proposed properties

A client can propose user-defined session properties when it opens a session. You can configure the system authentication handler to accept client-proposed properties. You can also write an authenticator with the Authenticator interface to accept or change client-proposed properties and apply them to the session.