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.
- array{string} AllowedBearers [readwrite]
+ string Bearer [readonly]
- A list of bearers that can be used for this session.
- In general this list should be empty to indicate that
- any bearer is acceptable.
+ This indicates the current bearer that is used
+ for this session. Or an empty string if no bearer
+ if available.
- The order of the entries in AllowedBearers matters.
- The services are sorted in the order of the bearer
- entries in this list.
+ string Interface [readonly]
- Also "*" matches any bearer. This is usefull to prefer
- certain bearers such as Wifi with a fallback to any
- other available bearer.
+ Interface name used by the service object to connect.
+ This name can be used for SO_BINDTODEVICE in the
+ application.
dict IPv4 [readonly]
Current IPv6 configuration.
- boolean AvoidHandover [readwrite]
-
- 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.
+ array{string} AllowedBearers [readwrite]
- It is a bad idea to always enable this settings and
- actually it will be reset after a while to avoid
- congestion.
+ A list of bearers that can be used for this session.
+ In general this list should be empty to indicate that
+ any bearer is acceptable.
- 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.
+ The order of the entries in AllowedBearers matters.
+ The services are sorted in the order of the bearer
+ entries in this list.
- Never the less application needs to be aware that
- handovers can happen at any time even if this is
- set to true.
+ Also "*" matches any bearer. This is useful to prefer
+ certain bearers such as 'wifi' with a fallback to any
+ other available bearer.
- boolean StayConnected [readwrite]
+ 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.
- This disables the idle timeout for this session. There
- is no guarantee and this should be used with care.
+ When a session is created and the provided settings
+ dictionary does not contain AllowedBearers, a default
+ session with "*" will be created.
- If the system is not online yet this value is ignored.
+ string ConnectionType [readwrite]
- boolean EmergencyCall [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 'local',
+ 'internet' or 'any'.
- Boolean representing the emergency mode of the
- modem. The Emergency is true if an emergency call or
- related operation is currently active.
+ '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.
- If the emergency application sets this setting to true
- all other session will be informed about the emergency
- situation with setting it also to true. Only the
- emergency application can set back to false.
+ '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.
- As long the EmergencyCall is true no new session can
- be created.
+ 'any' means either 'local' or 'internet'.
- Only one application is supposed to write this setting
- and therefore it will be protected by additional
- PolicyKit rule so that only the emergency application
- can write.
+ Invalid values will be ignored and removed. An
+ empty ConnectionType is an invalid configuration.
- The emergency application is expected to call Connect()
- after setting this setting true. If the emergency
- situation is over the application should call
- Disconnect() and also set the EmergencyCall to false
- afterward.
+ When a session is created and the provided settings
+ dictionary does not contain ConnectionType, a default
+ session with 'any' will be created.
- Note only services matching the AllowedBearers rule
- will be considered.
+ (This setting will be removed when the unique process
+ identification problem is solved.)
- string RoamingPolicy [readwrite]
+ string AllowedInterface [readwrite] [experimental]
- The allowed roaming behavior.
+ 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.
- Valid policies are "national", "international",
- "default", "always" and "forbidden".
+ Only one interface may be specified.
- "national" allows roaming within a country.
- "international" allows roaming in a country and
- between countries.
+ If a specified network interface is not available
+ (e.g. because AllowedBearers filters it out), the
+ session will not go online.
- "default" is used to tell the Session to use
- the global roaming setting.
+ boolean SourceIPRule [readwrite] [experimental]
- "always" will overwrite the default "forbidden"
- value which is useful for emergency application.
- This value will be protected by additional PolicyKit
- rule.
+ If set to true the session will create source IP
+ address rule in the firewall, which redirects traffic
+ to that session's routing table.
- Default value is "forbidden".
+ 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 Interface [readonly]
+ string ContextIdentifier [readwrite] [experimental]
- Interface name used by the service object to connect.
- This name can be used for SO_BINDTODEVICE in the
- application.
+ 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.