to be sent. Some changes might cause the session to
be moved to offline state.
-Settings string Bearer [readonly]
-
- This indicates the current bearer that is used
- for this session. Or an empty string if no bearer
- if available.
-
- string ConnectionType [readwrite]
-
- This is used to indicate which connection is requested
- from the session. The state of the session will be
- updated accordingly. Values can be nothing, 'local' or
- 'internet'.
- 'local' means the session requests to be connected,
- but does not require specifically to be online.
- Therefore State property will be set to 'connected' if
- underlying service gets ready and/or online.
- 'online' means the session requests to be connected,
- and online. State property will never get 'connected'
- but instead will switch to 'online' if underlying
- service gets online.
- No value means the session requests any kind of
- connection and the state will be updated on all steps,
- 'connected' and 'online'. This is the default value.
-
- (This setting will be removed when the unique process
- identifaction problem is solved.)
-
- boolean State [readonly]
+Settings string State [readonly]
This indicates if the connection is disconnected,
connected or online. It is updated according to the
It should only be used for displaying it in the UI
and not for getting hold on session object.
+ string Bearer [readonly]
+
+ This indicates the current bearer that is used
+ for this session. Or an empty string if no bearer
+ if available.
+
+ string Interface [readonly]
+
+ Interface name used by the service object to connect.
+ This name can be used for SO_BINDTODEVICE in the
+ application.
+
+ dict IPv4 [readonly]
+
+ Current IPv4 configuration.
+
+ dict IPv6 [readonly]
+
+ Current IPv6 configuration.
+
array{string} AllowedBearers [readwrite]
A list of bearers that can be used for this session.
The services are sorted in the order of the bearer
entries in this list.
- Also "*" matches any bearer. This is usefull to prefer
- certain bearers such as Wifi with a fallback to any
+ Also "*" matches any bearer. This is useful to prefer
+ certain bearers such as 'wifi' with a fallback to any
other available bearer.
- dict IPv4 [readonly]
+ Invalid bearer names will be ignored and removed
+ from the list. And empty AllowedBearers will
+ not match to any bearer, therefore the session
+ will never go online.
- Current IPv4 configuration.
+ When a session is created and the provided settings
+ dictionary does not contain AllowedBearers, a default
+ session with "*" will be created.
- dict IPv6 [readonly]
+ string ConnectionType [readwrite]
- Current IPv6 configuration.
+ This is used to indicate which connection is requested
+ from the session. The state of the session will be
+ updated accordingly. Values can be 'local',
+ 'internet' or 'any'.
- boolean AvoidHandover [readwrite]
+ 'local' means the session requests to be connected,
+ but does not require specifically to be online.
+ Therefore State property will be set to 'connected' if
+ underlying service gets ready and/or online.
- By default this setting is false. It can be used
- to indicate that a handover is currently not a good
- idea. However no connection is guaranteed. So a
- handover can happen anyway. This is just an indication
- that the application would like to avoid it right now.
+ 'online' means the session requests to be connected,
+ and online. State property will never get 'connected'
+ but instead will switch to 'online' if underlying
+ service gets online.
- It is a bad idea to always enable this settings and
- actually it will be reset after a while to avoid
- congestion.
+ 'any' means either 'local' or 'internet'.
- Main use case it is for application that are currently
- doing a specific tasks that it prefers to finish
- before allowing handovers again. An example would
- be synchronization.
+ Invalid values will be ignored and removed. An
+ empty ConnectionType is an invalid configuration.
- Never the less application needs to be aware that
- handovers can happen at any time even if this is
- set to true.
+ When a session is created and the provided settings
+ dictionary does not contain ConnectionType, a default
+ session with 'any' will be created.
- string Interface [readonly]
+ (This setting will be removed when the unique process
+ identification problem is solved.)
- Interface name used by the service object to connect.
- This name can be used for SO_BINDTODEVICE in the
- application.
+ string AllowedInterface [readwrite] [experimental]
+
+ This field is used to bind a session to a specific
+ network interface. If this field is empty, the first
+ interface from a list of available ones will be used.
+ Also "*" string matches any interface.
+
+ Only one interface may be specified.
+
+ If a specified network interface is not available
+ (e.g. because AllowedBearers filters it out), the
+ session will not go online.
+
+ boolean SourceIPRule [readwrite] [experimental]
+
+ If set to true the session will create source IP
+ address rule in the firewall, which redirects traffic
+ to that session's routing table.
+
+ Each session maintains a dedicated routing table, with
+ a default route. When the source IP rule is enabled,
+ an application can select which session/interface to
+ send traffic on, using bind-before-connect mechanism.
+
+ string ContextIdentifier [readwrite] [experimental]
+
+ The application can provide an identifier for a
+ session. If an application runs several session
+ at the same time, the additional information
+ can be used by ConnMan to assign different
+ bearers according the identifier. For example
+ a web browser creates per tab a session. For
+ each session a different should bearer be
+ assigned.