5.1 Standard Data types

29.198-023GPPOpen Service Access (OSA) Application Programming Interface (API)Part 2: Common data definitionsRelease 9TS

The APIs assume that the following Data types can be supported.

5.1.1 TpBoolean

Defines a Boolean data type.

5.1.2 TpInt32

Defines a signed 32-bit integer.

5.1.3 TpFloat

Defines a single precision real number.

5.1.4 TpLongString

Defines a Byte string, comprising length and data. The length shall be at least a 32-bit integer.

5.1.5 TpOctet

Defines an 8-bit quantity that is not translated during transmission.

5.1.6 TpOctetSet

Defines a Numbered List of Data elements of TpOctet. Note that this is an ordered list.

5.1.7 TpString

Defines a Byte string, comprising length and data. The length shall be at least a 16-bit integer.

5.1.8 TpAssignmentID

Defines an assignment ID with a value that is unique to an instance of an implementation of a given interface (i.e. an object), irrespective of the method invoked on it. This ID may be used, for example, to identify single or multiple event notifications enabled by an object; or by a requesting object to modify or stop functionality ( e.g. event notifications, call load control) associated with a previously supplied assignment ID.

The assignment ID is identical to a TpInt32 type.

5.1.9 TpSessionID

Defines a session ID with a value that is at least unique within the context of a specific instance of an SCF. An instance of an SCF is a single service manager instance plus the associated subordinate instances. For example, a single MultiPartyCallControlManager instance plus all associated MultiPartyCall and MultiPartyCallLeg instances. The session ID is used to identify different sessions (e.g. different call or call leg sessions) of an interface capable of handling multiple sessions.

Example 1, myCallObject may implement the IpCall interface. If so, myCallObject may handle multiple call sessions, and each call session will be identified by a call session ID value (e.g. 1, 2, 3) that is unique within the context of the SCF instance.

Example 2, myCallAndCallLegObject may implement the IpCall and IpCallLeg interfaces. If so, myCallAndCallLegObject may handle multiple call sessions and multiple call leg sessions. Each call session will be identified by a call session ID value (e.g. 1, 2, 3) that is unique within the context of the SCF instance. Similarly, each call leg session will be identified by a call leg session ID value (e.g. 1, 2, 3, 4, 5, 6) that is also unique within the context of the SCF instance. Because call session IDs and call leg session IDs are different data types, overlapping values are permitted and their uniqueness still remains.

The session ID is identical to a TpInt32 type.

5.1.10 TpSessionIDSet

Defines a Numbered Set of Data Elements of TpSessionID.

5.1.11 TpAny

Defines a type that can hold any type. This is not restricted to only the primitive types.

5.1.12 TpAttribute

This is a Sequence of Data Elements containing the attribute name and value.

Sequence Element Name

Sequence Element Type

Notes

AttributeName

TpString

The name of the attribute.

AttributeValue

TpAttributeValue

The typed value(s) for the attribute.

5.1.13 TpAttributeValue

This is a tagged choice of data elements to hold attribute values of different complexity.

Tag Element Type

TpAttributeTagInfo

Tag Element Value

Choice Element Type

Choice Element Name

P_SIMPLE_TYPE

TpSimpleAttributeValue

SimpleValue

P_STRUCTURED_TYPE

TpStructuredAttributeValue

StructuredValue

P_XML_TYPE

TpXMLString

XMLValue

5.1.14 TpAttributeList

This is a Numbered List of Data Elements of type TpAttribute.

5.1.15 TpAttributeSet

This is a Numbered Set of Data Elements of type TpAttribute.

5.1.16 TpInt64

Defines a signed 64-bit integer.

5.1.17 TpVersion

This data type is identical to TpString. It is used to uniquely identify the implemented version of the framework or an SCF. The syntax for this datatype is defined as:

P_<publishing body>_<version number>

Where:

<publishing body> is one of the strings listed in the table below.

Character String Value

Description

PARLAY

Specification released by The Parlay Group.

ETSI

Specification released by ETSI.

3GPP

Specification released by 3GPP.

<version number> consists of numbers separated by underscores (e.g. 3_1). It is recommended that not more than the two most significant numbers (major and minor version) of the version are used.

Examples of version strings are:

Character String Value

Description

P_PARLAY_3_1

Parlay v3.1

P_ETSI_2_0

ETSI v2.0

P_3GPP_4_3

3GPP Release 4.3

Note that different version strings can be aliases of each other all pointing to the same SCF/Framework version.

5.1.18 TpStringSet

Defines a Numbered Set of Data Elements of type TpString.

5.1.19 TpStringList

Defines a Numbered List of Data Elements of type TpString.

5.1.20 TpAttributeTagInfo

TpAttributeTagInfo is an enumerated type used as a discriminator for the TpAttributeValue structure, and can contain the following values:

Name

Value

Description

P_SIMPLE_TYPE

0

Simple type

P_STRUCTURED_TYPE

1

Structured type

P_XML_TYPE

2

XML type

5.1.21 TpSimpleAttributeValue

This is a tagged choice of data elements to hold attribute values of different complexity.

Tag Element Type

TpSimpleAttributeTypeInfo

Tag Element Value

Choice Element Type

Choice Element Name

P_BOOLEAN

TpBoolean

BooleanValue

P_OCTET

TpOctet

OctetValue

P_CHAR

TpChar

CharValue

P_WCHAR

TpWChar

WCharValue

P_STRING

TpString

StringValue

P_WSTRING

TpWString

WStringValue

P_INT16

TpInt16

Int16Value

P_UNSIGNED_INT16

TpUnsignedInt16

UnsignedInt16Value

P_INT32

TpInt32

Int32Value

P_UNSIGNED_INT32

TpUnsignedInt32

UnsignedInt32Value

P_INT64

TpInt64

Int64Value

P_UNSIGNED_INT64

TpUnsignedInt64

UnsignedInt64Value

P_FLOAT

TpFloat

FloatValue

P_DOUBLE

TpDouble

DoubleValue

5.1.22 TpSimpleAttributeTypeInfo

TpSimpleAttributeTypeInfo is an enumerated type used as a discriminator for the TpSimpleAttributeValue structure, and can contain the following values:

Name

Value

Description

P_BOOLEAN

0

Attribute type is type TpBoolean.

P_OCTET

1

Attribute type is type TpOctet.

P_CHAR

2

Attribute type is type TpChar.

P_WCHAR

3

Attribute type is type TpWChar.

P_STRING

4

Attribute type is type TpString.

P_WSTRING

5

Attribute type is type TpWString.

P_INT16

6

Attribute type is type TpInt16.

P_UNSIGNED_INT16

7

Attribute type is type TpUnsignedInt16.

P_INT32

8

Attribute type is type TpInt32.

P_UNSIGNED_INT32

9

Attribute type is type TpUnsignedInt32.

P_INT64

10

Attribute type is type TpInt64.

P_UNSIGNED_INT64

11

Attribute type is type TpUnsignedInt64.

P_FLOAT

12

Attribute type is type TpFloat.

P_DOUBLE

13

Attribute type is type TpDouble.

5.1.23 TpStructuredAttributeType

This data type is identical to a TpString, and is defined as a string of characters that uniquely identifies the type of a structured data type. Network operator specific capabilities may also be used, but should be preceded by the string "SP_". The pattern of values is defined, where module names and class names map to a fully specified class name.

Character String Value

Description

P_module1/module2/module3/className

An object of the specified, fully qualified class.

5.1.24 TpStructuredAttributeValue

This is a Sequence of Data Elements containing the structured attribute type tag and the value to be interpreted using that type.

Sequence Element Name

Sequence Element Type

Notes

Type

TpStructuredAttributeType

The type for the value.

Value

TpAny

The structured values for the attribute.

5.1.25 TpChar

This type is an 8-bit quantity that may undergo conversion when transmitted by the communication system.

5.1.26 TpWChar

This type is a quantity that may undergo conversion when transmitted by the communication system. The size of this type is implementation-dependent.

5.1.27 TpWString

Defines a TpWChar string, comprising length and data. The length shall be at least a 16-bit integer.

5.1.28 TpInt16

Defines a signed 16-bit integer.

5.1.29 TpUnsignedInt16

Defines an unsigned 16-bit integer.

5.1.30 TpUnsignedInt32

Defines an unsigned 32-bit integer.

5.1.31 TpUnsignedInt64

Defines an unsigned 64-bit integer.

5.1.32 TpDouble

Defines a double precision real number.

5.1.33 TpXMLString

This data type is TpString containing well-formed XML and may contain a reference to/include a DTD or Schema.

5.1.34 TpUnorderedOctetSet

Defines a Numbered Set of Data elements of TpOctet. Note that this is an un-ordered set.

Note that this type should not be removed from the present document, even if unused by any part of the OSA specifications. It is included to ensure that TpOctetSet is correctly used as a Numbered List of Data Elements, and not a Numbered Set.