Parameter Values (PV)

class icspacket.proto.iso_ses.values.PI_Code(*values)[source]

Common Parameter Identifier (PI) codes — X.225 8.3

Note

  • Not all PI codes are mapped to PV implementations here; only those with common, structured bitfield encodings are represented.

  • Other PIs may be treated as raw byte values in other parts of the parser.

class icspacket.proto.iso_ses.values.PV_VersionNumber(reserved: int = 0, version2: bool = True, version1: bool = False)[source]

Version Number PV — X.225

Indicates which protocol versions are proposed for use over this session connection.

version2: bool = True

True if Protocol Version 2 is proposed.

version1: bool = False

True if Protocol Version 1 is proposed.

class icspacket.proto.iso_ses.values.PV_TokenSettingPairType(*values)[source]

Enumerated meaning of a token-setting bit pair

Each token position is indicated using a 2-bit value:

  • 0 — Token initially with the initiator

  • 1 — Token initially with the responder

  • 2 — Token location decided by the SS-user (“user’s choice”)

  • 3 — Reserved

class icspacket.proto.iso_ses.values.PV_TokenSetting(release: PV_TokenSettingPairType = PV_TokenSettingPairType.INITIATOR, activity: PV_TokenSettingPairType = PV_TokenSettingPairType.INITIATOR, sync: PV_TokenSettingPairType = PV_TokenSettingPairType.INITIATOR, data: PV_TokenSettingPairType = PV_TokenSettingPairType.INITIATOR)[source]

Token Setting Item PV — X.225

If present, indicates the initial position of the protocol’s tokens.

release: PV_TokenSettingPairType = 0

Initial position of the release token.

activity: PV_TokenSettingPairType = 0

Initial position of the activity token.

sync: PV_TokenSettingPairType = 0

Initial position of the synchronization token.

data: PV_TokenSettingPairType = 0

Initial position of the data token.

class icspacket.proto.iso_ses.values.PV_TokenItem(_reserved_1: bool = 0, release_token: bool = False, _reserved_2: bool = 0, activity_token: bool = False, _reserved_3: bool = 0, sync_minor_token: bool = False, _reserved_4: bool = 0, data_token: bool = False)[source]

Token Item PV — X.225

Indicates which tokens are requested by the called SS-user.

release_token: bool = False

Request for the release token.

activity_token: bool = False

Request for the activity token.

sync_minor_token: bool = False

Request for the minor sync token.

data_token: bool = False

Request for the data token.

class icspacket.proto.iso_ses.values.PV_SessionRequirements(_reserved: int = 0, data_separation: bool = False, symmetric_sync: bool = False, typed: bool = False, exceptions: bool = False, capability_data_exchange: bool = False, negotiated_release: bool = False, activity_management: bool = False, resync: bool = False, major_sync: bool = False, minor_sync: bool = False, expedited: bool = False, duplex: bool = False, half_duplex: bool = False)[source]

Session Requirements PV — X.225

Indicates the functional units proposed by the calling SS-user.

data_separation: bool = False

Functional unit: Data separation

symmetric_sync: bool = False

Functional unit: Symmetric synchronization

typed: bool = False

Functional unit: Typed data

exceptions: bool = False

Functional unit: Exceptions

capability_data_exchange: bool = False

Functional unit: Capability data exchange

negotiated_release: bool = False

Functional unit: Negotiated release

activity_management: bool = False

Functional unit: Activity management

resync: bool = False

Functional unit: Resynchronization

major_sync: bool = False

Functional unit: Major synchronization

minor_sync: bool = False

Functional unit: Minor synchronization

expedited: bool = False

Functional unit: Expedited data

duplex: bool = False

Functional unit: Full-duplex

half_duplex: bool = False

Functional unit: Half-duplex

class icspacket.proto.iso_ses.values.PV_EnclosureItem(_reserved: int = 0, end: bool = False, start: bool = False)[source]

Enclosure Item PV — X.225

Indicates whether this SPDU is the start and/or end of an SSDU.

end: bool = False

True if this SPDU is the end of the SSDU.

start: bool = False

True if this SPDU is the start of the SSDU.

class icspacket.proto.iso_ses.values.PV_ProtocolOptions(_reserved: int = 0, extended: bool = False)[source]

Protocol Options PV — X.225 §8.3.19

Indicates whether the initiator can receive extended concatenated SPDUs.

extended: bool = False

True if extended concatenated SPDUs are supported.

icspacket.proto.iso_ses.values.PV_TYPES = {PI_Code.TOKEN_ITEM: <class 'icspacket.proto.iso_ses.values.PV_TokenItem'>, PI_Code.PROTOCOL_OPTIONS: <class 'icspacket.proto.iso_ses.values.PV_ProtocolOptions'>, PI_Code.SESSION_REQUIREMENT: <class 'icspacket.proto.iso_ses.values.PV_SessionRequirements'>, PI_Code.TSDU_MAXIMUM_SIZE: <int32>, PI_Code.VERSION_NUMBER: <class 'icspacket.proto.iso_ses.values.PV_VersionNumber'>, PI_Code.ENCLOSUREITEM: <class 'icspacket.proto.iso_ses.values.PV_EnclosureItem'>, PI_Code.TOKEN_SETTING_ITEM: <class 'icspacket.proto.iso_ses.values.PV_TokenSetting'>}

Mapping from PI codes to their associated Parameter Value types.

This table is used during SPDU parameter decoding to instantiate the right PV object.