8.7 TTCN-2 Test suite operation definitions

34.123-33GPPPart 3: Abstract test suite (ATS)TSUser Equipment (UE) conformance specification

8.7.1 Test suite operation definitions in the common modules

Table 8.7.1.1: TSO definitions in the common modules

TSO Name

Description

o_AuthRspChk

Type of the result: BOOLEAN

Parameters:

p_AuthRsp : AuthRsp

p_AuthRspExt : AuthRspExt

p_K : BITSTRING

p_RAND : BITSTRING

p_Ext : BOOLEAN

Description

Checks the input parameter p_AuthRsp and p_AuthRspExt, both received in an Authentication Response, according to the authentication algorithm defined in the following procedure.

The extension, p_AuthRspExt, is optional. Its presence is indicated by p_Ext.

Returns TRUE if the Authentication Response contained in parameters p_AuthRsp and eventually p_AuthRspExt is correct, FALSE otherwise.

The value of tcv_Auth_n indicates whether the AuthRspExt has been provided by the UE or not (n=31, or 31 < n < 128). See 3GPP TS 34.108 [3], clause 8.1.2.

If not the parameter p_AuthRspExt is not to be used.

Algorithm (without the knowledge of tcv_Auth_n):

=========================================

if NOT p_Ext EvaluateAuthRsp else EvaluateAuthRspAndAuthRspExt

EvaluateAuthRsp:

==============

resultbitstring = o_BitstringXOR(XRES, AuthRsp)

if resultbitstring is all 0s then there is a match.

EvaluateAuthRspAndAuthRspExt:

============================

XREShigh = o_BitstringXtract(XRES, 32, 32, 0)

/* XRES divides into 2 parts: the higher part of 32 bits related to AuthRsp and the lower part related to AuthRspExt \*/

/* SourceLength of 32 is only to ensure usage of the procedure \*/

resultbitstring = o_BitstringXOR(XREShigh, AuthRsp)

if resultbitstring is all 0s then there is a match for the first 32 bits:EvaluateAuthRspExt else Authentication failed.

EvaluateAuthRspExt:

=================

/* As AuthRespExt may not be octet aligned the last octet indicated in AuthRspExt is not used for checking \*/

if (AuthRspExt.iel = 1)

then Authentication passed

/* there was only 1 possibly incomplete octet which is not used \*/

else

{

AuthRspExthigh = o_BitstringXtract(AuthRspExt.authRsp, ((AuthRspExt.iel -1)* 8), (AuthRspExt.iel -1)* 8, 0)

/* extract (AuthRspExt.iel -1)* 8 bits starting from bit 0 \*/

XRESlow = o_BitstringXtract(XRES, ((AuthRspExt.iel -1)* 8 + 32), (AuthRspExt.iel -1)* 8, 32)

/* extract (AuthRspExt.iel -1)* 8 bits starting from bit 32 \*/

resultbitstring = o_BitstringXOR(XRESlow, AuthRspExthigh, (AuthRspExt.iel -1)* 8)

if resultbitstring is all 0s then there is a match for the bits following the first 32 bits else Authentication failed

o_BitstringChange

Type of the result: BITSTRING

Parameters:

P_Str: BITSTRING

p_Len: INTEGER

p_Offset: INTEGER

Description

Performs the manipulation of a bitstring by toggling the bit identified by p_Offset. The length of the string to be manipulated is specified in p_Len. This is only provided to help ensure that the p_Offset is less than p_Len.

Returns a resulting bitstring of length p_Len.

EXAMPLE 1: o_BitstringChange(‘010101’B, 6, 5) produces ‘010100’B.

EXAMPLE 2: o_BitstringChange(‘010101’B, 6, 0) produces ‘110101’B.

o_BitstringConcat

Type of the result: BITSTRING

Parameters:

P_Str1: BITSTRING

p_Str2: BITSTRING

p_Len1: INTEGER

p_Len2: INTEGER

Description

Performs the concatenation of 2 bitstrings of possibly different lengths.

The bit significance is from left to right, i.e. the MSB is at the left-hand side.

Returns a resulting bitstring p_Str1 || p_Str2 of length p_Len1 + p_Len.

EXAMPLE: o_BitstringConcat(‘010101’B,’11’B) produces ‘01010111’B of
length 6 + 2 = 8.

o_BitstringXOR

Type of the result: BITSTRING

Parameters:

p_Str1: BITSTRING

p_Str2: BITSTRING

p_Len: INTEGER

Description

Performs an XOR operation using 2 bitstrings of the same length (p_Len).

Returns a resulting Bitstring of length p_Len.

EXAMPLE: o_BitstringXOR(‘0011’B, ‘0101’B, 4) produces ‘0110’B.

o_BitstringXtract

Type of the result: BITSTRING

Parameters:

P_Str: BITSTRING

p_SrcLen: INTEGER

p_TargetLen: INTEGER

p_Offset: INTEGER

Description

Performs the wrap around extract of a bitstring. The length of the string from which extraction is to be made is specified in p_SrcLen. The length of the bitstring to be extracted is indicated as p_TargetLen, the offset in the original string is indicated in p_Offset.

The bit position 0 is at the left side.

Returns a resulting bitstring of length p_TargetLen.

EXAMPLE 1: o_BitstringXtract(‘101010’B, 6, 2, 1) produces ’01’B.

EXAMPLE 2: o_BitstringXtract(‘101010’B, 6, 4, 3) produces ‘0101’B, wrapping around.

EXAMPLE 3: o_BitstringXtract(‘111000’B, 6, 4, 3) produces ‘0111’B, wrapping around.

o_BoolToBit

Type of the result: B1

Parameters:

p_Boolean : BOOLEAN

Description

This TSO is used to convert the given BOOLEAN into a single bit. A boolean value of TRUE will give a result ‘1’ and a boolean value of FALSE will give a result ‘0’.

o_BMC_DrxScheduling

Type of the result: BMC_ResultOfSchedulingLevel2

Parameters:

p_BMC_CBS_Message1 : BMCCBSMESSAGE

p_BMC_CBS_Message2 : BMCCBSMESSAGE

p_BMC_CB_RepPeriod : INTEGER

p_BMC_NoOfBroadcast_Req : INTEGER

p_Offset : BMC_DRX_Offset

Description

This TSO shall calculate all BMC CBS schedule Messages for the CBS messages as described in 3GPP TS 34.123-1, clause 7.4.3.1.

The TSO has to precalculate the CTCH Block SETs needed, i.e. it shall have all necessary knowledge (RLC segmentation, MAC handling, if needed) to predict the CTCH with BMC contents for the given input to be sent.

The TSO shall consider the BMC CBS Scheduling Level2 as described in 3GPP TS 25.324 [20], 3GPP TR 25.925 [44] and the description of BMC test architecture and test method in the present document, clause 6.8.

The TSO calculates the BMC CBS Schedule messages to predict its next BlockSet to be sent. In addition, a DRX scheduling Bitmap is created for each CTCH allocated TTI aligned to the pre-calculated offset in between 2 CTCH Block Sets.

The principle of DRX shall be followed by this TSO. I.e. BMC Messages shall be sent blockwise (CTCH Block Set) with predicted offset in between 2 Block Sets.

The TSO shall consider the following aspects to calculate the DRX Selection Bitmap and to create the BMC CBS Schedule messages:

1. The first CTCH Block Set consists of the first BMC CBS Schedule message predicting the offset, length and content of the following Block Set where the BMC CBS Message1 shall be send as new message.

2. The BMC CBS Message1 shall be repeated for p_BMC_CB_RepPeriod multiplied by p_BMC_NoOfBroadcast_Req times before the BMC CBS Message2 is broadcasted.

3. The BMC CBS Schedule Messages shall be the last message of a CTCH Block Set, i.e. on the end of a Block Set.

4. If no further repetition of BMC CBS Messages is needed, no further BMC CBS Schedule message shall be created.

output parameter:

DrxSelectionBitmap: The TSO creates a Bitmap as Octetstring for scheduled CTCH allocated TTI as described in 3GPP TS 34.123-3: clause 6.8.2 BMC test method and architecture.

CBS_Schedule_Message01, CBS_Schedule_Message02, CBS_Schedule_Message03:Considering the given BMC PDUs BMC_DRX_Offset and BMCCBSMESSAGE to be sent, the BMC Schedule messages have to be created according the given parameter.

o_CheckStringStartWith

Type of the result: BOOLEAN

Parameters:

p_SourceString: IA5String

p_StartString : IA5String

Description

o_CheckStringStartWith returns TRUE if the p_sourceString start with the p_StartString.

Otherwise it returns FALSE.

EXAMPLE: o_CheckStringStartWith ("+CLCC:1,0,0,2,0;", "+CLCC:1,0,0")=TRUE */.

o_ComputeSM_ContentsSpec

Type of the result: OCTETSTRING

Parameters:

p_NumOfChars: INTEGER

p_Text: IA5String

Description

This operation provides a short message’s contents with a specified number of characters ‘p_NumOfChars’, each represented by 7 bits. ‘p_Text’ is used as contents of the short message. If ‘p_Text’ contains less than ‘p_NumOfChars’ characters, ‘p_Text’ is repeated until the short message reaches the ‘p_NumOfChars’ characters long. The bits are arranged acc. to 3GPP TS 23.038 [34], clause 6.1.2.1.1.

max. 160 characters, i.e. 140 octets.

o_ConcatStrg

Type of the result: IA5String

Parameters:

P_String1: IA5String

p_String2: IA5String

Description

o_ConcatString concatenates ‘p_String1’ and ‘p_String2’ and returns the resulting string.

EXAMPLE: o_ConcatString ( "AT+CBST=0" , ",0") = "AT+CBST=0,0"

o_ConvertIMSI

Type of the result: IMSI_GSM_MAP

Parameters:

P_Imsi : HEXSTRING

The input parameter `p_Imsi` is a BCD string (subset of HEXSTRING), the result is of type IMSI_GSM_MAP.

o_ConvertTMSI

Type of the result: TMSI_GSM_MAP

Parameters:

p_Tmsi : OCTETSTRING

Description

The input parameter ‘p_Tmsi’ is an OCTETSTRING; the result is of type TMSI_GSM_MAP.

o_ConvertPTMSI

Type of the result: P_TMSI_GSM_MAP

Parameters:

p_PTMSI : OCTETSTRING

Description

The input parameter `PTMSI` is a OCTETSTRING, the result is of type P_TMSI_GSM_MAP.

o_ConvtPLMN

Type of the result: TMSI_GSM_MAP

Parameters: OCTETSTRING

p_MCC, p_MNC : HEXSTRING

Description

the functions of o_ConvtPLMN are as following:

1. The least significant HEX of p_MNC is removed from p_MNC and inserted into p_MCC in the position left to the third HEX to form a new p_MCC of 4 HEXs, then swap the first HEX (left most, most significant Hex) with the second HEX of the new p_MCC.

2. Swap the first Hex with the second HEX of the remaining part of p_MNC and append it to the new p_MCC formed in Step1 above.

EXAMPLE 1: o_ConvtPLMN(‘123’H, ‘456’H) = ‘216354’O.

EXAMPLE 2: o_ConvtPLMN (‘234’H, ’01F’H) = ’32F410’O.

o_FirstDigit

Type of the result: B4

Parameters:

p_BCDdigits : HEXSTRING

Description

The input parameter p_BCDdigits shall be a BCD string (subset of HEXSTRING), the result is a BITSTRING[4] of a binary representation of one BCD digit.

The function of the o_FirstDigit is to return the first (most significant) digit of the input parameter ‘p_BCDdigits’.

EXAMPLE 1: o_FirstDigit(‘12345’) = ‘0001’B.

EXAMPLE 2: o_FirstDigit(‘012345678’) = ‘0000’B.

o_GetBit

Type of the result: BITSTRING

Parameters:

p_Source: BITSTRING

p_DataLength: INTEGER

Description

o_GetBit returns the BITSTRING of length p_DataLength extracted from p_Source.

The extraction shall start in the bit position 0 (at the left).

o_GetLeastSignificantBits

Type of the result: BITSTRING

Parameters:

bstring : BITSTRING

lg : INTEGER

Description

o_GetLeastSignificantBits operation returns the `lg` least significant bits of the original `bstring`.

for example:

o_GetLeastSignificantBits(‘110011000101010’B, 3) = ‘010’B,

o_GetLeastSignificantBits(‘110011000101010’B, 6) = ‘101010’B.

o_GetMostSignificantBits

Type of the result: BITSTRING

Parameters:

bstring : BITSTRING

lg :INTEGER

Description

o_GetMostSignificantBits operation returns the `lg` most significant bits of the original `bstring`.

for example:

o_GetMostSignificantBits(‘110011000101010’B, 3) = ‘110’B,

o_GetMostSignificantBits(‘110011000101010’B, 6) = ‘110011’B.

o_GetMostSignificantBits_WrapAround

Type of the result: BITSTRING

Parameters:

bstring : BITSTRING

lg :INTEGER

Description

o_GetMostSignificantBits operation returns the `lg` most significant bits of the original `bstring`.

for example:

o_GetMostSignificantBits(‘110011000101010’B, 3) = ‘110’B,

o_GetMostSignificantBits(‘110011000101010’B, 6) = ‘110011’B.

If lg is greater than the length of bstring, then a bitsring of size greater than lg is created by concatenating bstring to itself (any number of times till it is size is greater than lg), and then ‘lg’ most significant bits of concatenated bstring are returned.

example

o_GetMostSignificantBits(‘1100’B, 9) = ‘110011001’B.

o_GetN_OctetsFromPRBS

Type of the result: OCTETSTRING

Parameters:

p_Start, p_N: INTEGER

Description

This operation returns N octets from a repeated pseudo random bit sequence, starting with octet position p_Start. The PRBS is the 2047 bit pseudo random test pattern defined in ITU-T Recommendation O.153 [45] for measurements at 64 kbit/s and N x 64 kbit/s

o_GetN_OctetsFromPRBS( p_Start, p_N ) generates an OCTETSTRING containing p_N octets starting from octet number p_Start in the PRBS.

Requirements

p_Start  0

p_N  1

Definition

Define the 2 047 bit PRBS sequence b(i) as an m-sequence produced by using the following primitive (over GF(2)) generator polynomial of degree 11:

X^11 + X^9 + 1

This sequence is defined recursively as:

b(i) = 1 , i = 0,1,…,10

b(i) = b(i – 2) + b(i – 11) modulo 2 , i = 11,16,…,2046

The OCTETSTRING, o(j) generated by the present TSO is produced by extracting p_N octets from the repeated sequence b(i) as follows:

o(j,k) = b( ( ( n_Start + j ) * 8 + k ) modulo 2047 )

where:

j = 0,1,..,p_N – 1

k = 0,1,..7

o(j,k) is the kth bit of the jth octet in o(j),

o(j,0) is the MSB of the jth octet in o(j),

o(j,7) is the LSB of the jth octet in o(j),

Example results:

o_GetN_OctetsFromPRBS( 0, 25 ) and o_GetN_OctetsFromPRBS( 2047, 25 ) both return:

‘FFE665A5C5CA3452085408ABEECE4B0B813FD337873F2CD1E2’O

o_GetN_OctetsFromPRBS( 255, 25 ) and o_GetN_OctetsFromPRBS( 255 + 2047, 25 ) both return

’01FFCCCB4B8B9468A410A81157DD9C9617027FA66F0E7E59A3’O

o_GetPI

Type of the result: BITSTRING

Parameters:

p_Imsi : HEXSTRING

p_Np: INTEGER

Description

PI = drx_index mod np

The drx_index is calculated as described hereafter:

drx_index = (p_Imsi / 8192))

This calculation is defined in TS 25.304 clause 8.3.

NOTE: the IMSI is passed as HEXSTRING, the relevant conversion shall be done.

o_GetSC_TimeStamp

Type of the result: TP_ServCentreTimeSt

Parameters:

p_timezone : TZONES

This operation provides the hexstring containing the Service Centre Time Stamp (SCTS) according to 3GPP TS 23.040 [35], clauses 9.2.2.1 and 9.2.3.11. The TSO reads the current time of the test systems clock and transforms the time in combination with the input parameter ‘timezone’ into a service centre time stamp.

Example:

2002 April 18, 15:32:46, timezone=4

o_GetSC_TimeStamp returns 20408151236440

TPSCTS is HEXSTRING[14]

o_HexToDigitsMCC

Type of the result: MCC

Parameters:

p_BCDdigits : HEXSTRING

Description

The input parameter p_BCDdigits shall be a BCD string (subset of HEXSTRING), the result is a SEQUENCE (SIZE(3)) OF digit (MCC).

NOTE: The length of p_BCDdigits shall be 3. User shall take the responsibility of fulfilling this requirement.

EXAMPLE 1: o_HexToDigitsMCC(‘111’H) = {1, 1, 1}.

EXAMPLE 2: o_HexToDigitsMCC(‘123’H) = {1, 2, 3}.

o_HexToDigitsMNC

Type of the result: MNC

Parameters:

p_BCDdigits : HEXSTRING

Description

The function of this operation is:

1. The least significant HEX is removed if it is ‘F’ and the operation returns SEQUENCE (SIZE(2)) OF Digit.

2. The operation returns SEQUENCE (SIZE(3)) OF Digit if all 3 HEX digits in p_BCDdigits are BCD Digit.

EXAMPLE 1: o_HexToDigitsMNC(‘123’H) = {1, 2, 3}.

EXAMPLE 2: o_HexToDigitsMNC(’13F’H) = {1, 3}.

o_HexToIA5

Type of the result: IA5String

Parameters:

p_String: HEXSTRING

Description

o_HEX_TO_IA5 converts hexadecimal string ‘p_String’ to an IA5 String

EXAMPLE: o_HEX_TO_IA5 ( ’15A’H) = "15A".

o_IA5_ToOct

Type of the result: OCTETSTRING

Parameters:

p_String : IA5String

Description

o_IA5_ToOct converts the string p_String from IA5String type to OCTETSTRING.

Each character is mapped onto an octet, and bit 8 is set to 0. This TSO shall be used to convert Access Point Numbers for example. See 3GPP TS 24008, clause 10.5.6.1

EXAMPLE: o_IA5_ToOct ( "15A") = ‘313541’O.

o_IA5_BMC_ToOct

Type of the result: OCTETSTRING

Parameters:

p_String :IA5String_BMC

p_DCS: TP_DataCodingScheme

Description

o_IA5_BMC_ToOct converts the string p_String from IA5String_BMC type to OCTETSTRING.

p_DCS determines how this is done (refer to 3GPP TS 23.038 [34] clause 5).

If a 7 bit packing is to be applied then proceed as described in 3GPP TS 23.038 [34] clause 6.1.2.2.1 and clause 6.2.1. This is the default case.

If 8bit data is to be used then proceed as described in 3GPP TS 23.038 [34] clause 6.2.2.

If UCS2is to be used then proceed as described in 3GPP TS 23.038 [34] clause 6.2.3.

The type IA5_BMC implies that the length of p_String is restricted to 1..1395 octets.

(Refer to 3GPP TS 23.041 [36], 3GPP TS 23.038 [34], 3GPP TS 25.324 [20])

This TSO will always generate a BMC encoded message of 15 page of information. If the input message stream (p_String) is less than the size of required octet, then the input message will be concatenated to generate a string of required length based on p_DCS.

o_IA5_IP_ToOct

Type of the result: OCTETSTRING

Parameters:

p_String: IA5String

p_IP_V4: BOOLEAN

Description

o_IA5_IP_ToOct converts the string p_String from IA5String type to OCTETSTRING.

In case of IPv4, p_String represents an IP address consisting of a number of fields of digits, separated by dots. Each one of the numbers of which the IP address consists is converted into one octet. The dots separating the numbers are ignored.

EXAMPLE 1: o_IA5_IP_ToOct ("200.1.1.80", TRUE) = ‘C8010150’O.

EXAMPLE 2: o_IA5_IP_ToOct ("200.1.1.80.100", TRUE) should result in an appropriate error message.

EXAMPLE 3: o_IA5_IP_ToOct ("300.1.1.80", TRUE) should result in an appropriate error message.

In case of IPv6, p_String represents an IP address consisting of a number of fields of hexadecimal digits, separated by ":".

a) In case of uncompressed IPv6 format each value separated by ";" is converted to 2 octets. The ":" separating the numbers are ignored.

EXAMPLE 1: o_IA5_IP_ToOct(FEDC:BA98:7654:3210:FEDC:BA98:7654:3210, FALSE) = ‘FEDCBA9876543210FEDCBA9876543210’O

EXAMPLE 2: o_IA5_IP_ToOct(FEDC:BA98:7654:3210:FEDC:BA98:7654, FALSE) should result in an appropriate error message.

EXAMPLE 3: o_IA5_IP_ToOct(1080:0:0:0:8:800:200C:417A,FALSE) = ‘108000000000000000080800200C417A’O

EXAMPLE 4: o_IA5_IP_ToOct(1080:0:0:0:8:800:20H:417A,FALSE) should result in an appropriate error message.

b) In case of compressed IPv6 format the use of "::" indicates multiple groups of 16-bits of zeros. The "::" can only appear once in an address.

EXAMPLE 1: o_IA5_IP_ToOct(FF01::101,FALSE) = ‘FF010000000000000000000000000101’O

EXAMPLE 2: o_IA5_IP_ToOct(FEDC::7654:3210:FEDC::BA98:7654:3210, FALSE) should result in an appropriate error message.

p_IP_V4 is a BOOLEAN. When TRUE, an IP Version 4 address is to be converted, the maximum length of which is 4 octets, otherwise an IP Version 6 address is to be converted, the maximum length of which is 16 octets. See 3GPP TS 24.008 [9], clause 10.5.6.4.

o_IA5_DigitsToOct

Type of the result: OCTETSTRING

Parameters:

p_String: IA5String

Description

o_IA5_DigitsToOct converts the string p_String from IA5String type to OCTETSTRING.

Each pair of characters is considered a pair of numbers to be mapped onto 1 octet.

Each character of p_String shall represent a digit (0..9).

In case the number of characters is odd, then a filler ‘1111’B is used to fill the last octet required to represent the digits. See 3GPP TS 24.008 [9], clause 10.5.4.7.

EXAMPLE 1: o_IA5_DigitsToOct ("0613454120") = ‘6031541402’O.

EXAMPLE 2: o_IA5_DigitsToOct ("06134541209") = ‘6031541402F9’O.

EXAMPLE 3: o_IA5_DigitsToOct ("A6134541209") should result in an appropriate error message.

o_IntToOct

Type of the result: OCTETSTRING

Parameters:

p_N : INTEGER

p_L: INTEGER

Description

o_IntToOct converts the INTEGER `p_N` into OCTETSTRING with length = ‘p_L’.

EXAMPLE 1: o_IntToOct(14,1) = ‘0E’O.

EXAMPLE 2: o_IntToOct(18,1) = ’12’O.

EXAMPLE 3: o_IntToOct(18,2) = ‘0012’O.

o_IntToIA5

Type of the result:IA5String

Parameters:

p_N : INTEGER; p_L: INTEGER

Description

o_IntToIA5 converts the INTEGER `p_N` into IA5 String with length = ‘p_L’.

EXAMPLE 1: o_IntToIA5(160,3) = "160";

EXAMPLE 2: o_IntToIA5(160,4) = " 160";

EXAMPLE 3: o_IntToIA5(160,2) = "60".

o_OctetstringConcat

Type of the result: OCTETSTRING

Parameters:

p_Str1, p_Str2: OCTETSTRING

Description

o_OctetstringConcat Performs the concatenation of 2 octetstrings of possibly different lengths.

The octet significance is from left to right, i.e. the MSB is at the lefthand side.

Returns a resulting octetstring p_Str1 || p_Str2.

EXAMPLE: o_OctetstringConcat(‘135’O, ‘9A38’O) = ‘1359A38’O.

o_OctToBit

Type of the result: BITSTRING

Parameters:

p_OctetStr: OCTETSTRING

Description

Converts an OCTETSTRING into a BITSTRING.

The size of the resulting BITSTRING is 8 times the size of the input OCTETSTRING.

o_OctToIA5

Type of the result: IA5String

Parameters:

p_String : OCTETSTRING

Description

o_Oct_ToIA5 converts the string p_String from OCTETSTRING type to IA5String.

Each octet is mapped onto a pair of characters. Nibbles 0 – F are translated into "0" – "F".

For example:

o_Oct_ToIA5 ( ‘3BF541’O) = "3BF541"

o_OctToInt

Type of the result: INTEGER

Parameters:

p_oct : OCTETSTRING

Description

Transform an OCTETSTRING of length 1 to 4 into an unsigned 32 bits IINTEGER value.

If the input octet string is larger than 4, then only the first 4 octets shall be considered.

o_OeBit

Type of the result: BITSTRING

Parameters:

p_BCDdigits: HEXSTRING

Description

The input parameter ‘p_BCDdigits’ is a BCD string (subset of HEXSTRING), the result is BITSTRING[1].

The function of the o_OeBit is as the follows:

1. It returns ‘1’B, if the length of the ‘p_BCDdigits’ is odd.

2. It returns ‘0’B, if the length of the ‘p_BCDdigits’ is even.

EXAMPLE 1: o_OeBit(‘12583’) = ‘1’B.

EXAMPLE 2: o_OeBit(‘87259957’) =’0’B.

o_OtherDigits

Type of the result: OCTETSTRING

Parameters:

p_BCDdigits : HEXSTRING

Description

The input parameter ` p_BCDdigits ` is a BCD string (subset of HEXSTRING), the result is an even string of BCD digits, with eventually a filler ‘F’H used. */

The function of the o_OtherDigits is as the follows:

1. If the number of the ‘p_BCDdigits’ is odd, the operation removes the most significant digit, and then reverses the order of each pair of digits.

2. If the number of the ‘p_BCDdigits’ is even, first the operation suffixes the `bcddigits` with ‘F’H, then removes the most significant digit, and then reverses the order of each pair of digits.

EXAMPLE 1: o_OtherDigi(‘12345’) = ‘3254’,

EXAMPLE 2: o_OtherDigi(‘12345678′) =’325476F8’.

See o_FirstDigit for the handling of the first digit.

o_RoutingParameterIMSIResponsePaging

Type of the result: RoutingParameter

Parameters:

p_IMSI : HEXSTRING

Description

The input parameter p_Imsi is a BCD string (subset of HEXSTRING), the result is of type RoutingParameter.

The tso returns the RoutingParameter, which consists of DecimalToBinary [(IMSI div 10) mod 1000]. The bits of the result are numbered from b0 to b9, with bit b0 being the least significant.

o_SIB_PER_Encoding

Type of the result: BITSTRING

Parameters:

p_SIB : SIB

Description

It returns the unaligned PER encoding (BIT STRING) of the input system information block p_SIB (without "Encoder added (1-7) bits padding"). The bits corresponding to the encoding of the CHOICE of the SIB type shall be removed.

Example:

for the following SIBType1 value:

SysInfoType1 ::=

{ cn-CommonGSM-MAP-NAS-SysInfo ’32F4100001’H,

cn-DomainSysInfoList

{ { cn-DomainIdentity ps-domain,

cn-Type gsm-MAP : ‘0000’H,

cn-DRX-CycleLengthCoeff 7},

{cn-DomainIdentity cs-domain,

cn-Type gsm-MAP : ‘0001’H,

cn-DRX-CycleLengthCoeff 7}},

ue-ConnTimersAndConstants

{ t-304 ms100,

n-304 7,

t-308 ms40,

t-309 8,

t-313 15,

n-313 s200,

t-314 s20,

t-315 s1800,

n-315 s1000},

ue-IdleTimersAndConstants

{ t-300 ms400,

n-300 7,

t-312 10,

n-312 s200},

nonCriticalExtensions { }

}

The operation returns BITSTRING:

"1000011001011110100000100000000000000000001011000100000000000000000100001000000000000000101000011001100000111110000011100111111111111111111100101111010011"

o_SIB_Segmentation

Type of the result: SegmentsOfSysInfoBlock

Parameters:

p_SIBBitString : BITSTRING

Description

The function of the o_SIB_Segmentation is as following:

1. If the p_SIBBitString is less than or equal to 226 bits, the bit string is fit into a complete segment. If the segment is less than 226 bits but more than 214 bits, the segment shall be padded to 226 bits long with padding bits set to ‘0’B.

2. If the input operand p_SIBBitString is longer than 226 bits it is segmented from left to right into segments, each segment except the last one is 222 bits. The last segment may be 222 bits or shorter. If the length of last segment is greater than 214 bits pad it to 222 bits with padding bits set to ‘0’B.

3. The number of segments is assigned to recount field of the result.

4. The first segment is assigned to seg1 field of the result, the second segment is assigned to the seg2 field of the result, the third segment is assigned to the seg3 field of the result, and so on till the last segment.

o_SIB_SegmentationFirstSpecial

Type of the result: SegmentsOfSysInfoBlock

Parameters:

p_SIB_BitString : BITSTRING

p_FirstSegLength : INTEGER

Description

The function of the o_SIB_Segmentation_FirstShort is as following:

1. If the p_SIB_BitString is less than or equal to p_FirstSegLength bits, the bit string is fit into one segment.

2. If the input operand p_SIB_BitString is longer than p_FirstSegLength bits it is segmented from left to right into segments, each segment except the first one and the last one is 222 bits . The first one is p_FirstSegLength long. The last segment may be 222 bits or shorter. If the length of last segment is greater than 214 bits pad it to 222 bits with padding bits set to ‘0’B.

3. The number of segments is assigned to segCount field of the result.

4. The first segment is assigned to seg1 field of the result, the second segment

is assigned to the seg2 field of the result, the third segment is assigned to the

seg3 field of the result, and so on till the last segment.

5. The value of parameter p_FirstSegLength shall be less than 197.

o_CheckPDUsAcknowledged

Type of the result: BOOLEAN

Parameters:

p_NackList: NackList

Contains a list of integers (possibly empty), each of which corresponds to a PDU SN. Negative acknowledgement is expected for each of these PDUs.

p_FSN: INTEGER

Contains an integer representing the first SN expected to be acknowledged.

p_LSN: INTEGER

Contains an integer representing the last SN expected to be acknowledged.

p_SUFI_List: SuperFields

This parameter contains the received SUFI list to be checked.

Description:

This TSO is used to check that the given SUFI list contains any combination of SUFIs that fulfils the following requirements:

1. Negatively acknowledges all PDUs whose sequence numbers are in p_NackList. Note that the list may be empty.

2. Positively acknowledges all other PDUs with sequence numbers greater than or equal to p_FSN, and less than or equal to p_LSN.

Output:

This TSO returns a BOOLEAN value of TRUE if the SUFI list meets all of the requirements based on the given parameters.

Otherwise the TSO returns FALSE.

8.7.1.1 Specific test suite operation for RLC defined in BasicM

This TSO is defined in BasicM, it is used by RLC and MAC ATSs.

Table 8.7.1.1.1: TSO definitions for RLC SUFI handling

TSO Name

Description

o_SUFI_Handler

Type of the result: ResAndSUFIs

Parameters:

p_SUFI_Params: SUFI_Params

p_SUFI_String: HEXSTRING

Conditions:

Inputs:

p_SUFI_Params: the list of checking criteria to be applied by the TSO

p_SUFI_String: the HEXSTRING received containing the SUFIs

Outputs:

the BOOLEAN result of the TSO:

TRUE if all checking and the filling of the SuperFields structure were successful;

FALSE otherwise; in this case the TSO shall produce sufficient output to allow problem analysis

Table 8.7.1.1.2: ResAndSUFIs type and Processing of the SUFI parameters input to the TSO

Parameter

Type

Setting

Meaning

Comment

Lower Bound

BITSTRING

OMIT

Do not use !

(LB)

[12]

AnyOrOmit

Do not use !

Upper Bound

Any

Do not use !

(UB)

Value

Use !

NackList

BITSTRING

OMIT

Do not use !

Element i

[12]

AnyOrOmit

Do not use !

(Nacki)

Any

Do not use !

Value

Use !

Check negative ack

Window Size

BOOLEAN

OMIT

Use !

Check absence

SUFI presence

AnyOrOmit

Do not use !

(WSN_

Any

Use !

Check presence

presence)

Value

Use !

Check presence

MRW SUFI

BOOLEAN

OMIT

Use !

Check absence

presence

AnyOrOmit

Do not use !

(MRW_

Any

Use !

Check presence

presence)

Value

Use !

Check presence

8.7.1.1.1 Pseudocode in a C like notation

The pseudocode defined below can be written in a more compact fashion. The code hereafter is to allow easy identification of the TSO’s tasks. All situations leading to a FALSE result must produce a log. This is not shown in the code hereafter. Possible wrap arounds are not shown in this section. These have to be accounted for at the appropriate places.

/* INITIALIZATION */

Initialize_ResAndSUFIs(); /* RESULT := TRUE, all SUFI fields are AnyOrOmit */

/* EXTRACTION OF SUFIs AND TRANSFER INTO THE TTCN SUFI STRUCUTRE */

i = 0;

if (p_SUFI_String == NULL)

{

RESULT := FALSE; /* No SUFIs -> Result is FALSE */

RETURN;

}

SUFI := Extract_SUFI(i); /* Let n SUFI be numbered from 0 to n-1 */

while (SUFI != NULL) /* TRUE when there is a SUFI */

{

Set_SUFI_ListRec(SUFI); /* Put the SUFI at the correct place in the resulting */

/* SUFI structure; overwrite if the SUFI type has */

/* already been extracted except LIST SUFIs which all are to be collected */

i++;

SUFI := Extract_SUFI(i); /* Get next SUFI */

}

/* FOR ALL SUFI TYPES: IF EXISTING, PERFORM CONSISTENCY CHECK */

if Exists_SUFI (ACK) AND NOT CheckConsistency (ACK)

RESULT := FALSE; /* ACK SUFI inconsistent -> Result is FALSE */

…..

if Exists_SUFI (WINDOW) AND NOT CheckConsistency (WINDOW)

RESULT := FALSE; /* WINDOW SUFI inconsistent -> Result is FALSE */

/* TAKE THE INDIVIDUAL CHECKING PARAMETERS & PERFORM THE EXPECTED CHECKING */

/* PART 1: EXISTENCE CHECKS */

if ((WSN_presence == Any) OR (WSN_presence == TRUE) OR (WSN_presence == FALSE)) AND NOT Exists_SUFI(WINDOW)

RESULT := FALSE; /* WINDOW not ex. but should -> Result is FALSE */

if ((MRW_presence == Any) OR (MRW_presence == TRUE) OR (MRW_presence == FALSE)) AND NOT Exists_SUFI(MRW)

RESULT := FALSE; /* MRW not ex. but should -> Result is FALSE */

/* PART 2: RANGE AND NACK CHECKS OF SUFI CONTENTS*/

/* ACK: LB <= LSN received <= UB */

if NOT (LB <= Extract_SUFI_Value(ACK) -1 AND Extract_SUFI_Value(ACK) -1 <= UB)

RESULT := FALSE; /* ACK value not in the expected range */

/* LB: first SN acceptable as LSN received */

/* UB: last SN acceptable as LSN received */

/* LSN received acks SNs upto LSN received -1 */

/* Bitmap */

/* for all SNs between LB and UB */

{

if (ExtractBitmap(FSN extracted, LENGTH extracted, Bitmap extracted, SN) == 1) AND (SN in NackList)

RESULT := FALSE; /* if the bit in the Bitmap is not 0 */

if (ExtractBitmap(FSN extracted, LENGTH extracted, Bitmap extracted, SN) == 0) AND (SN NOT in NackList)

RESULT := FALSE; /* if the bit in the Bitmap is not 0 */

}

/* LIST */

/* The (SNi,Li) pairs identify AMD PDUs which have not been correctly received. */

/* Therefore the (SNi,Li) pairs have to be consistent with the NackList. */

/* The (SNi,Li) pairs may be contained in multiple LIST SUFIs conveyed in one STATUS PDU */

/* RLIST */

/* The CWs represent the distance between the previous indicated erroneous AMD PDU */

/* up to and including the next erroneous AMD PDU, starting from the FSN contained in the RLIST SUFI. */

/* Therefore the FSN and the Codewords have to be consistent with the NackList. */

/* Error burst indicator has to be treated as a separate case. May not have to be implemented currently. */

/* MRW */

/* LENGTH = 0 */

/* 1 SN_MRWi is present and the RLC SDU to be discarded extends above the configured transmission window in the sender */

/* LENGTH = 1 … 15 */

/* 1 …15 SN_MRWi */

/* a) MRW configured  an SN_MRWi indicates the end of each discarded RLC SDU */

/* n SN_MRWs  n RLC SDUs discarded */

/* b) MRW not configured  an SN_MRWi indicates end of last RLC SDU to be discarded */

/* in the receiver */

/* To be implemented as far as required by the RLC ATS */

/* MRW ACK */

/* The SN_ACK must be consistent with the information sent in a previous MRW SUFI upon which the */

/* MRW_ACK represents the answer. */

/* NO MORE */

/* no checking required */

/* SUBFUNCTIONS USED*/

Check_Consistency (SUFI_type) /* returns TRUE when the type fulfils the */

/* requirements of the spec. TS 25.322*/

Exists_SUFI (SUFI_type) /* returns TRUE when the specified */

/* type has been extracted, therefore exists*/

ExtractBitmap(FSN extracted, LENGTH extracted, Bitmap extracted, Criterion)

/* Extract the value in the Bitmap at position Criterion */

/* Calculation based on information received in the */

/* Bitmap SUFI */

Extract_SUFI (Counter) /* returns the SUFI extracted at position counter */

/* from the input p_SUFI_String; */

/* n SUFIs from positions 0 to n-1 */

/* returns NULL if there is no further SUFI */

Extract_SUFI_Value (SUFI_type, field_type ) /* extract the value of specific field type */

/* contained in a specific SUFI type */

/* There will be several flavours depending upon the */

/* result (field) type */

Initialize_ResAndSUFIs () /* Initialize RESULT and all SUFI fields */

Set_SUFI_ListRec(SUFI) /* set return values RESULT and */

/* SUFI structure SUFI_ListRec */

8.7.2 Specific test suite operation definitions for Multi RAT Handover testing

Table 8.7.2: TSO definitions for Multi RAT handover

TSO Name

Description

o_HO_PER_Encoding

Type of the result: BITSTRING

Parameters:

p_Msg : DL_DCCH_Message

Description:

It returns the unaligned PER encoding (BIT STRING) of the input downlink DCCH message p_Msg (without "Encoder added (1-7) bits padding").

o_P_CheckClassmark3

Type of the result: BOOLEAN

Parameters:

p_FromUE : MSCLSMK3;

p_FDD, p_TDD, p_UTRAN384_TDD, p_CDMA2000, p_EUTRA_FDD: BOOLEAN

p_EUTRA_TDD, p_P_GSM_900_BAND, p_E_GSM_900_BAND: BOOLEAN

p_R_GSM_900_BAND, p_DCS_1800_BAND, p_PCS_1900_BAND: BOOLEAN

p_GSM_450_BAND, p_GSM_480_BAND, p_GSM_710_BAND: BOOLEAN

p_GSM_750_BAND, p_T_GSM_810_BAND, p_GSM_850_BAND: BOOLEAN p_Feat_A54, p_DTM_SingleSlotAllocation, p_EOTD_Assist:BOOLEAN

p_A_GPS_Assist, p_A_GPS_Based, p_Conv_GPS : BOOLEAN

p_EOTD_Based, p_GERANFeatPackage1, p_GERANFeatPackage2: BOOLEAN

p_GERANIuModeCapability : BOOLEAN

p_FLOIuCapability, p_DTMEnhancCap, p_TAOffset : BOOLEAN

p_8PSK_Struct, p_EGPRS_8PSK_uplink, p_CipherModeSetCap: BOOLEAN

p_AddPositionCap, p_EUTRA_MeasReporting: BOOLEAN

p_PriorityBasedCellReselection: B1

p_Selective_Ciphering_DL_SACCH: BOOLEAN p_UTRA_CSG_CellsReport : BOOLEAN

p_G_HSCSD, p_ECSD_MultislotClass: B5; p_SMS_Value, p_SM_Value : B4

p_AssociatedRadioCap1, p_AssociatedRadioCap2 : B4

p_GSM400_RadioCapability, p_AssociatedRadioCapGSM750: B4

p_AssociatedRadioCapGSM850, p_AssociatedRadioCapGSM1900 : B4 p_T400_RadioCapability, p_710_RadioCapability, p_T810_RadioCapability: B4

p_RGSM_RadioCapability, p_DTMGPRSHighMultiSlotClass : B3 p_DTMEGPRSHighMultiSlotClass: B3

p_DTMMultislotClass, p_DTMEGPRSMultiSlotSubClass: B2

p_ExtDTM_MultiSlotClass, p_ExtDTM_EGPRS_MultiSlotClass, p_HighMultiSlotCap : B2

p_8PSKRFPowerCap1, p_8PSKRFPowerCap2, p_GMSKPowerProfile : B2 p_8PSKPowerProfile, p_TGSM400Support : B2 p_DLAdvRxPerformance : B2

p_TIGHTERCap, p_VAMOSLevel : B2

p_ExtMeasCap, p_UCS2Treatment, p_RptACCHCap : B1

Description:

This is used when UE sends the MSCLSMK3 PDU in CLASSMARK CHANGE

To check each bit of the received octetstring from the UE against the CSN.1 format constraint.

Please Note: Due to the shared radio frequency channel numbers between DCS 1800 and PCS 1900, even if both p_DCS_1800_BAND and p_PCS_1900_BAND are set to TRUE, the UE can only ever indicate support for one of these bands.

The format of the Classmark3 IE is as follows:

<Classmark 3 Value part> ::=

< spare bit >

{ < Multiband supported : { 000 } >

< A5 bits >

| < Multiband supported : { 101 | 110 } >

< A5 bits >

< Associated Radio Capability 2 : bit(4) >

< Associated Radio Capability 1 : bit(4) >

| < Multiband supported : { 001 | 010 | 100 } >

< A5 bits >

< spare bit >(4)

< Associated Radio Capability 1 : bit(4) > }

{ 0 | 1 < R Support > }

{ 0 | 1 < HSCSD Multi Slot Capability > }

< UCS2 treatment: bit >

< Extended Measurement Capability : bit >

{ 0 | 1 < MS measurement capability > }

{ 0 | 1 < MS Positioning Method Capability > }

{ 0 | 1 < ECSD Multi Slot Capability > }

{ 0 | 1 < 8-PSK Struct > }

{ 0 | 1 < GSM 400 Bands Supported : { 01 | 10 | 11 } >

< GSM 400 Associated Radio Capability: bit(4) > }

{ 0 | 1 <GSM 850 Associated Radio Capability : bit(4) > }

{ 0 | 1 <GSM 1900 Associated Radio Capability : bit(4) > }

< UMTS FDD Radio Access Technology Capability : bit >

< UMTS 3.84 Mcps TDD Radio Access Technology Capability : bit >

< CDMA 2000 Radio Access Technology Capability : bit >

{ 0 | 1 < DTM GPRS Multi Slot Class : bit(2) >

< Single Slot DTM : bit >

{0 | 1< DTM EGPRS Multi Slot Class : bit(2) > } } 

{ 0 | 1 < Single Band Support > } — Release 4 starts here:

{ 0 | 1 <GSM 750 Associated Radio Capability : bit(4)>}

< UMTS 1.28 Mcps TDD Radio Access Technology Capability : bit >

< GERAN Feature Package 1 : bit >

{ 0 | 1 < Extended DTM GPRS Multi Slot Class : bit(2) >

< Extended DTM EGPRS Multi Slot Class : bit(2) > }

{ 0 | 1 < High Multislot Capability : bit(2) > } –Release 5 starts here.

{ 0 | 1 < GERAN Iu Mode Capabilities > }

< GERAN Feature Package 2 : bit >

< GMSK Multislot Power Profile : bit (2) >

< 8-PSK Multislot Power Profile : bit (2) >

{ 0 | 1 < T-GSM 400 Bands Supported : { 01 | 10 | 11 } > — Release 6 starts here.

< T-GSM 400 Associated Radio Capability: bit(4) > }

0 — The value ‘1’ was allocated in an earlier version of the protocol and shall not be used.

< Downlink Advanced Receiver Performance : bit (2)>

< DTM Enhancements Capability : bit >

{ 0 | 1 < DTM GPRS High Multi Slot Class : bit(3) >

< Offset required : bit>

{ 0 | 1 < DTM EGPRS High Multi Slot Class : bit(3) > } }

< Repeated ACCH Capability : bit >

{ 0 | 1 <GSM 710 Associated Radio Capability : bit(4)>} — Release 7 starts here.

{ 0 | 1 <T-GSM 810 Associated Radio Capability : bit(4)>}

< Ciphering Mode Setting Capability : bit >

< Additional Positioning Capabilities : bit >

< E-UTRA FDD support : bit > — Release 8 starts here

< E-UTRA TDD support : bit >

< E-UTRA Measurement and Reporting support : bit >

< Priority-based reselection support : bit >

< UTRA CSG Cells Reporting : bit > — Release 9 starts here

< VAMOS Level : bit(2) >

< TIGHTER Capability : bit(2) > — Release 10 starts here

< Selective Ciphering of Downlink SACCH : bit >

< spare bits > ;

< A5 bits > ::=

< A5/7 : bit > < A5/6 : bit > < A5/5 : bit > < A5/4 : bit >  ;

<R Support>::=

< R-GSM band Associated Radio Capability : bit(3) > ;

< HSCSD Multi Slot Capability > ::=

< HSCSD Multi Slot Class : bit(5) >  ;

< MS Measurement capability > ::=

< SMS_VALUE : bit (4) >

< SM_VALUE : bit (4) > ;

< MS Positioning Method Capability > ::=

< MS Positioning Method : bit(5) > ;

< ECSD Multi Slot Capability > ::=

< ECSD Multi Slot Class : bit(5) > ;

< 8-PSK Struct> : :=

< Modulation Capability : bit >

{ 0 | 1 < 8-PSK RF Power Capability 1: bit(2) > }

{ 0 | 1 < 8-PSK RF Power Capability 2: bit(2) > }

< Single Band Support > ::=

< GSM Band : bit (4) > ;

< GERAN Iu Mode Capabilities > ::=

< Length : bit (4) > — length in bits of Iu mode only capabilities and spare bits

Additions in release 6

< FLO Iu Capability : bit >

<spare bits>** ; — expands to the indicated length

may be used for future enhancements

o_PacketPagingGroupCalculate

Type of the result: INTEGER

Parameters:

IMSI : HEXSTRING

KC_Conf : INTEGER

M : INTEGER

N : INTEGER

SplitPGCycle : B8

Description:

It returns the calculated Packet Paging Group, according to:

PAGING_GROUP (0 … M-1) = ( ( (IMSI mod 1000) div (KC*N) ) * N + (IMSI mod 1000) mod N + Max((m * M) div SPLIT_PG_CYCLE, m)) mod M

for m = 0, … , Min(M, SPLIT_PG_CYCLE) -1

where

KC = number of (P)CCCH in the cell = BS_PCC_CHANS for PCCCH or BS_CC_CHANS for CCCH

M = number of paging blocks "available" on one (P)CCCH =

(12 – BS_PAG_BLKS_RES – BS_PBCCH_BLKS) * 64 for PCCCH

(9 – BS_AG_BLKS_RES) * 64 for CCCH not combined

(3 – BS_AG_BLKS_RES) * 64 for CCCH + SDCCH combined

N=1 for PCCCH

(9 – BS_AG_BLKS_RES)*BS_PA_MFRMS for CCCH not combined

(3 – BS_AG_BLKS_RES)*BS_PA_MFRMS for CCCH/SDCCH combined

SPLIT_PG_CYCLE is an MS specific parameter negotiated at GPRS attach (see 3GPP TS 04.60)

IMSI = International Mobile Subscriber Identity, as defined in 3GPP TS 03.03.

o_PagingGroupCalculate

Type of the result: INTEGER

Parameters:

p_IMSI : HEXSTRING

p_CCCH_Conf : B_3

p_N : INTEGER

Description:

Calculate the PAGING_GROUP (0 .. N?1) = ((IMSI mod 1000) mod (BS_CC_CHANS x N)) mod N

where :

N = number of paging blocks "available" on one CCCH = (number of paging blocks "available" in a 51-multiframe on one CCCH) x BS_PA_MFRMS.

IMSI = International Mobile Subscriber Identity, as defined in 3GPP TS 23.003 [6].

mod = Modulo.

div = Integer division.

o_TTCN_HO_CommandToBitstring

Type of the result: BITSTRING

Parameters:

p_PDU : PDU

Description:

The function of the o_TTCN_HOCommandToBitstring is as the follows:

– It returns the bitstring representation of the input HANDOVERCOMMAND p_PDU.

o_BitToOct

Type of the result: OCTETSTRING

Parameters:

p_Str: BITSTRING

Description:

This TSO is used to convert the given BITSTRING into an OCTETSTRING. If the bitstring length is not a multiple of 8, 1 to 7 padding bits are added at the MSB to fill the final octet.

o_KeyDerivationFunction_HMAC_SHA_256

Type of the result: B256

Parameters:

p_Key: B256

p_String: OCTETSTRING

Description:

This function is used to derive different keys used in authentication used as described in TS 33.102 [25] and TS 33.401 [67]. It is based on the function defined in TS 33.220 [68]. This TSO will always set the first parameter to the key derivation function as KDF = HMAC-SHA-256.

8.7.3 Specific test suite operation for Multi RAB testing

Table 8.7.3.1: TSO definitions for Multi RAB testing

TSO Name

Description

o_SendContinuousData

Type of the result: BOOLEAN

Parameters:

p_RAB_Tx_Info : RAB_Tx_Info

Conditions:

Inputs:

p_RAB_Tx_Info: test data, number of RBs, and RB info of each RB (RB id, SDU size and number of SDUs to be transmitted in consecutive TTIs

Outputs:

The BOOLEAN result of the TSO:

TRUE if system simulator accepts the information sent from TTCN

FALSE if system simulator rejects the information sent from TTCN.

Description

When sending the data through the TSO, after the CMAC_Restriction_REQ, the TFC under test will be one corresponding the maximum CTFC value in the Restricted list, so that SS can select the number of Transport blocks and the size of Transport blocks on individual Transport channels derived from this CTFC.

Starting from the beginning of the raw data buffer given in the TSO:

Data to be sent on a particular RbId is the first (number of SDUs * SDU_Size) bits

All calls to TSO o_sendContinuosData in a test will always specify the exact same set of RbIds.

Table 8.7.3.2: RAB_Tx_Info type

Structure Type Definition

Type Name: RAB_Tx_Info

Encoding Variation:

Comments: To provide the information to SS to send data in every TTI on each RAB. Number of RBs depends on specific requirement. SS shall take care about all kind of discard info in all RLC modes and final aim is DL TFCs under test shall be selected in downlink for each TTI.

Element name

Type Definition

Field Encoding

Comments

test data

BITSTRING

The raw test data buffer

no_of_rbs

INTEGER

No of Radio Bearers

rb_tx_info1

RB_Tx_Info

Info about RB id, SDU size and number of SDUs

rb_tx_info2

RB_Tx_Info

Info about RB id, SDU size and number of SDUs

rb_tx_info3

RB_Tx_Info

Info about RB id, SDU size and number of SDUs

rb_tx_info4

RB_Tx_Info

Info about RB id, SDU size and number of SDUs

rb_tx_info5

RB_Tx_Info

Info about RB id, SDU size and number of SDUs

rb_tx_info6

RB_Tx_Info

Info about RB id, SDU size and number of SDUs

Table 8.7.3.3: RB_Tx_Info type

Structure Type Definition

Type Name: RB_Tx_Info

Encoding Variation:

Comments:

Element name

Type Definition

Field Encoding

Comments

rb_id

INTEGER

sdu_size

INTEGER

no_of_sdus

INTEGER

8.7.4 Specific test suite operation for InterSystem Handover testing

Table 8.7.4: TSO definitions for InterSystem testing

TSO Name

Description

o_LengthofPDU

Type of the result: O1

Parameters:

p_Msg : PDU

Description:

The function of the o_LengthofPDU is as the follows:

– it returns the no. of octets of the input downlink message p_Msg

8.7.5 Specific test suite operation for RAB_HS testing

Table 8.7.5.1: TSO definitions for RAB_HS testing

TSO Name

Description

o_CalculateTestPoint656

Type of the result: HSDPA_TestPoint

Parameters:

p_PhyCat:HSDSCH_physical_layer_category

p_ModScheme:ModulationScheme

p_NumOfPDU: INTEGER

Description:

TSO implements tables 14.1.3.4.1 for category 1 to 6, 14.1.3.4.2 for category 7 and 8, 14.1.3.4.3 for category 9, 14.1.3.4.4 for Category 10 and 14.1.3.4.5 for category 11 and 12.

It accepts UE category(1 to 12), Modulation scheme(qpsk or qam16) and number of MAC-D PDU’s( 1 to 70) as input.

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisationCodes =0

tbSizeIndexOnHS_SCCH =0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisationCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

example:

if input is physical category =1,modScheme=qpsk,Num Of PDU’s =5

TSO returns

flag = TRUE

noOfChannelisationCodes =5

tbSizeIndexOnHS_SCCH =43

If input is category =1,modScheme=qpsk,Num Of PDU’s =10

TSO returns

flag = FALSE

noOfChannelisationCodes =0

tbSizeIndexOnHS_SCCH =0

o_CalculateTestPoint336

Type of the result: HSDPA_TestPoint

Parameters:

p_PhyCat:HSDSCH_physical_layer_category

p_ModScheme:ModulationScheme

p_NumOfPDU: INTEGER

Description:

TSO implements tables 14.1.3.3.1 for category 1 to 6, 14.1.3.3.2 for category 7 and 8, 14.1.3.3.3 for category 9, 14.1.3.3.4 for Category 10 and 14.1.3.3.5 for category 11 and 12.

It accepts UE category(1 to 12), Modulation scheme(qpsk or qam16) and number of MAC-D PDU’s( 1 to 70) as input.

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisationCodes =0

tbSizeIndexOnHS_SCCH =0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisationCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

example:

if input is physical category =1,modScheme=qpsk,Num Of PDU’s =10

TSO returns

flag = TRUE

noOfChannelisationCodes =5

tbSizeIndexOnHS_SCCH =45

If input is category =1,modScheme=qpsk,Num Of PDU’s =17

TSO returns

flag = FALSE

noOfChannelisationCodes =0

tbSizeIndexOnHS_SCCH =0

Table 8.7.5.2: HSDPA_TestPoint

Structure Type Definition

Type Name: HSDPA_TestPoint

Encoding Variation:

Comments: To provide the information to SS to send data in every TTI on each RAB. Number of RBs depends on specific requirement. SS shall take care about all kind of discard info in all RLC modes and final aim is DL TFCs under test shall be selected in downlink for each TTI.

Element name

Type Definition

Field Encoding

Comments

flag

BOOLEAN

TRUE if test point is applicable

noOfChannelisationCodes

INTEGER

Range 1 to 15

Valid value ifflag =TRUE

tbSizeIndexOnHS_SCCH

INTEGER

8.7.6 Specific test suite operation for Intersystem HS Testing

Table 8.7.6: TSO definitions for ISHO_HS testing

TSO Name

Description

o_TTCN_SysInfoToOctetString

Type of the result: OCTETSTRING

Parameters:

p_Type: INTEGER

p_PDU : PDU

Description:

The function of the o_TTCN_SysInfoToOctetString is as the follows:

– It returns the octetstring representation of the input System Information message p_PDU.

– The parameter p_Type details the type of SI message. Expected values: 1, 3 and 13.

8.7.7 Specific test suite operation for A-GPS testing

Table 8.7.7: TSO definitions in A-GPS

TSO Name

Description

o_PositionEstimateToGeoInfo

Type of the result: Ext_GeographicalInformation

Parameters:

p_PosEst: PositionEstimate

Description:

Converts, according to TS 23.032, clause 7, the position estimate sent by the UE in a MEASUREMENT REPORT message from type Position Estimate to type Ext_GeographicalInformation in order to be included in the FACILITY message sent by the SS in MO-LR UE-Based test cases.

The definition of the types is the following:

PositionEstimate::=

CHOICE

{

ellipsoidPoint EllipsoidPoint,

ellipsoidPointUncertCircle EllipsoidPointUncertCircle,

ellipsoidPointUncertEllipse EllipsoidPointUncertEllipse,

ellipsoidPointAltitude EllipsoidPointAltitude,

ellipsoidPointAltitudeEllipse EllipsoidPointAltitudeEllipsoide

}

with one of the following options being expected from the UE:

EllipsoidPointUncertCircle ::=

SEQUENCE

{

latitudeSign ENUMERATED {north(0), south(1)},

latitude INTEGER (0..8388607 ),

longitude INTEGER (-8388608..8388607 ),

uncertaintyCode INTEGER (0..127 )

}

or

EllipsoidPointUncertEllipse ::=

SEQUENCE

{

latitudeSign ENUMERATED {north(0), south(1)},

latitude INTEGER (0..8388607 ),

longitude INTEGER (-8388608..8388607 ),

uncertaintySemiMajor INTEGER (0..127 ),

uncertaintySemiMinor INTEGER (0..127 ),

orientationMajorAxis INTEGER (0..89 ),

confidence INTEGER (0..100 )

}

or

EllipsoidPointAltitudeEllipse ::=

SEQUENCE

{

latitudeSign ENUMERATED {north(0), south(1)},

latitude INTEGER (0..8388607 ),

longitude INTEGER (-8388608..8388607 ),

altitudeDirection ENUMERATED {height(0), depth(1)},

altitude INTEGER (0..32767 ),

uncertaintySemiMajor INTEGER (0..127 ),

uncertaintySemiMinor INTEGER (0..127 ),

orientationMajorAxis INTEGER (0..89 ),

uncertaintyAltitude INTEGER (0..127 ),

confidence INTEGER (0..100 )

}

The definition of the resulting type is:

Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))

maxExt-GeographicalInformation INTEGER ::= 20

For example:

p_PositionEstimate:=
ellipsoidPointUncertCircle
  { latitudeSign   north,
    latitude        123,
    longitude       4567,
   uncertaintyCode    8 }

o_PositionEstimateToGeoInfo (p_PositionEstimate) = ’10 00 00 7B 00 11 D7 08’O

o_IA5_ToASN1Oct

Type of the result: NameString

Parameters:

p_String: IA5String

Description:

Converts the string p_String from IA5String type to NameString according to the Data Coding Scheme ‘0F’O.

This data coding scheme is the only one used in the AGPS ATS. It packs 7bit ASCII onto 8 bit octets.

Applicable ASN.1 definitions:

LCSClientName ::= SEQUENCE {

dataCodingScheme [0] IMPLICIT USSD-DataCodingScheme,

nameString [2] IMPLICIT NameString

}

— The USSD-DataCodingScheme shall indicate use of the default alphabet through the

— following encoding

— bit 7 6 5 4 3 2 1 0

— 0 0 0 0 1 1 1 1

NameString ::= USSD-String (SIZE (1..maxNameStringLength))

maxNameStringLength INTEGER ::= 63

USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))

— The structure of the USSD-DataCodingScheme is defined by

— the Cell Broadcast Data Coding Scheme as described in

— TS 3GPP TS 23.038 [25]

USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))

— The structure of the contents of the USSD-String is dependent

— on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25].

maxUSSD-StringLength INTEGER ::= 160

The ATS uses:

lcsClientName {

dataCodingScheme ‘0F’O,

— The USSD-DataCodingScheme shall indicate use of the

— default alphabet through the following encoding

— bit 7 6 5 4 3 2 1 0

— 0 0 0 0 1 1 1 1

For example:

o_IA5_ToASN1Oct ("ERICH") = ‘4569728804’O

o_ISDN_Address_ToASN1Oct

Type of the result: ISDN_AddressString

Parameters:

p_TOA: B4

p_NPI: B4

p_String: IA5String

Description:

Converts p_TOA plus p_NPI, and string p_String to ISDN_AddressString.

TOA and NPI are mapped onto the first octet.

Each pair of characters of p_String is considered a pair of numbers to be mapped onto 1 octet.

Each character of p_String shall represent a digit (0..9).

In case the number of characters is odd, then a filler ‘1111’B is used to fill the last octet required to represent the digits. See 3G TS 24008, clause 10.5.4.7

Applicable ASN.1 definitions:

LCSClientExternalID ::= SEQUENCE {

externalAddress [0] IMPLICIT ISDN-AddressString OPTIONAL,

extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL

}

ISDN-AddressString ::= AddressString (SIZE (1..maxISDN-AddressLength))

— This type is used to represent ISDN numbers.

maxISDN-AddressLength INTEGER ::= 9

AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))

— This type is used to represent a number for addressing

— purposes. It is composed of

— a) one octet for nature of address, and numbering plan

— indicator.

— b) digits of an address encoded as TBCD-String.

— a) The first octet includes a one bit extension indicator, a

— 3 bits nature of address indicator and a 4 bits numbering

— plan indicator, encoded as follows:

— bit 8: 1 (no extension)

— bits 765: nature of address indicator

— 000 unknown

— 001 international number

— 010 national significant number

— 011 network specific number

— 100 subscriber number

— 101 reserved

— 110 abbreviated number

— 111 reserved for extension

— bits 4321: numbering plan indicator

— 0000 unknown

— 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)

— 0010 spare

— 0011 data numbering plan (ITU-T Rec X.121)

— 0100 telex numbering plan (ITU-T Rec F.69)

— 0101 spare

— 0110 land mobile numbering plan (ITU-T Rec E.212)

— 0111 spare

— 1000 national numbering plan

— 1001 private numbering plan

— 1111 reserved for extension

— all other values are reserved.

— b) The following octets representing digits of an address

— encoded as a TBCD-STRING.

maxAddressLength INTEGER ::= 20

For example:

o_ISDN_Address_ToASN1Oct (‘0011′,’0011’,"0123456") = ‘33103254F6’O

o_LengthofComponents

Type of the result: OCTETSTRING

Parameters:

p_Components: Components

Description:

The functionality of the o_LengthofComponents is as below:

It returns the length (no. of octets) of the input constraint p_Components

8.7.8 Specific test suite operation for E-DCH Testing

Table 8.7.8: TSO definitions in E-DCH

TSO Name

Description

o_CalculateE_DCH_TBSize

Type of the result: INTEGER

Parameters:

p_tti: E_DCH_TTI

p_TableInd: E_TFCI_TableIndex

p_TB_Index: INTEGER

Description:

TSO implements tables defined in 25.321 Annex B.1 (tti 2ms Index 0), Annex B.2 (tti 2ms Index 1), Annex B.3 (tti 10ms Index 0), Annex B.4 (tti 10ms Index 1).

It accepts 3 input parameters:

p_TTI: the TTI of E-DCH (2ms or 10ms)

P_TableInd: the table index (0 or 1)

p_TB_Index: the TB index in the table (0..127 for tti 2ms Index 0), (0..125 tti 2ms Index 1), (0..127 tti 10ms Index 0), (0..120 tti 10ms Index 1)

The TSO then returns the corresponding TB Size from the appropriate Table and with given table index.

The value returned is ‘0’ for any erroneous conditions (e.g. p_TB_Index out of range).

Example:

p_tti:2ms, p_TableInd:0, p_TB_Index:13 produces the result 185

8.7.9 Specific test suite operation for E-DCH/HS-ENH and MBMS testing

Table 8.7.9: TSO definitions in E-DCH/HS-ENH and MBMS

TSO Name

Description

o_CalculateE_DCH_TBSize_UL16QAM

Type of the result: INTEGER

Parameters:

p_TableInd: E_TFCI_TableIndex

p_TB_Index: INTEGER

Description:

TSO implements tables defined in 3GPP TS 25.321 [17], clauses B.2a (tti 2ms Index 0) and B.2b (tti 2ms Index 1).

It accepts 2 inputs:

p_TableInd: the table index (0 or 1)

p_TB_Index: the TB index in the table ( 0..127 for tti 2ms Index 0), (0..124 tti 2ms Index 1)

The TSO then returns the corresponding TB Size from the appropriate Table and with given table index.

The value returned is ‘0’ for any erroneous conditions (eg. p_TB_Index out of range).

Example:

p_TableInd: 0, p_TB_Index: 13 produces result 197

o_CalculateTBSize_MAC_ehs_OctetAligned

Type of the result: INTEGER

Parameters:

p_Kt : INTEGER

Description:

The TSO calculates the value of TB size L(p_Kt) as given in 3GPP TS 25.321 [17], clause 9.2.3.1, Table 9.2.3.2.

Kt valid range is from 1 to 295(both included)

If p_Kt < 40

L(p_Kt)= (14+p_Kt) * 8

else

L(p_Kt) = (Floor( Lmin * (P ** p_Kt))*8)

Lmin = 27

P= [5274/27]**[1/295]

end

Where

* represents multiplication

** represents power

o_CalculateTBSize_MAC_ehs_BitAligned

Type of the result: INTEGER

Parameters:

p_Kt : INTEGER

Description:

The TSO calculates the value of TB size L(p_Kt) as given in 3GPP TS 25.321 [17], clause 9.2.3.1, Table 9.2.3.1.

Kt valid range is from 1 to 295(both included)

If kt < 40

L(p_Kt) = 125+ 12*p_Kt

else

L(p_Kt) = (Floor(Lmin*(P ** p_Kt)))

P=2085/2048

Lmin = 296

end

Where

* represents multiplication

** represents power

o_CalculateTestPoint336_MAC_ehs

Type of the result: HSDPA_TestPoint

Parameters:

p_PhyCat: HSDSCH_physical_layer_category_ext;

p_ModScheme: ModulationScheme;

p_NumOfPDU: INTEGER

Description:

TSO implements tables 14.1.3.4b.1.1 for QPSK, 14.1.3.4b.1.2 for 16QAM and 14.1.3.4b.1.3 for 64QAM.

It accepts as input:

– UE category (1 to 20),

– Modulation scheme (qpsk, qam16 or qam64) and

– Number of MAC-d PDU’s (1 to 26)

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisatonCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

Example:

If input is:

– physical category = 13,

– modScheme = qpsk,

– Num Of PDU’s = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =11

tbSizeIndexOnHS_SCCH =4

If input is:

– physical category = 13,

– modScheme = qpsk,

– Num Of PDU’s = 50

TSO returns:

flag = FALSE

noOfChannelisatonCodes = 0

tbSizeIndexOnHS_SCCH = 0

o_CalculateTestPoint64QM

Type of the result: MIMO_TestPoint

Parameters:

p_ModScheme:ModulationScheme

p_Index: INTEGER

Description:

TSO implements tables 14.1.3.4b.2.5 (for 64QAM and QPSK) and 14.1.3.4b.2.6 (for 64QAM and 16QAM).

It accepts as input:

– Modulation scheme (qam64, qam16 or qpsk) and

– Test Point Index

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

noOfMAC-dPDUs = 0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisatonCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

noOfMAC-dPDUs = value as per relevant table (0 in the case of index 34 and 35)

Examples:

If input is:

– modScheme = qam64,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =9

noOfMAC-dPDUs = 8

If input is:

– modScheme = qpsk,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =55

noOfMAC-dPDUs = 6

If input is:

– modScheme = qam16,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =55

noOfMAC-dPDUs = 11

If input is:

– modScheme = qam16,

– Index = 36

TSO returns:

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

noOfMAC-dPDUs = 0

o_CalculateTestPoint656_MAC_ehs

Type of the result: HSDPA_TestPoint

Parameters:

p_PhyCat: HSDSCH_physical_layer_category_ext;

p_ModScheme: ModulationScheme;

p_NumOfPDU: INTEGER

Description:

TSO implements tables 14.1.3.4b.2.1 for QPSK, 14.1.3.4b.2.2 for 16QAM and 14.1.3.4b.2.3 for 64QAM.

It accepts as input:

– UE category (1 to 20),

– Modulation scheme (qpsk, qam16 or qam64) and

– Number of MAC-d PDU’s (1 to 64) when flexible MAC-d PDU size is configured, this parameter is only used to index the test points.

– Number of MAC-d PDU’s (1 to 26) when fixed MAC-d PDU is configured

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisatonCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

Example:

If input is:

– physical category = 13,

– modScheme = qpsk,

– Num Of PDU’s = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =15

tbSizeIndexOnHS_SCCH =22

If input is:

– physical category = 13,

– modScheme = qpsk,

– Num Of PDU’s = 50

TSO returns:

flag = FALSE

noOfChannelisatonCodes = 0

tbSizeIndexOnHS_SCCH = 0

o_CalculateTestPoint_TwoFlows

Type of the result: TwoFlows_TestPoint

Parameters:

p_ModScheme: ModulationScheme

p_Index: INTEGER

Description:

TSO implements table 14.1.3.4b.2.4 for QPSK and 16QAM modulations.

It accepts as input:

– Modulation scheme (qam16 or qpsk) and

– Test Point Index

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

noOfMAC-dPDUs = 0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisatonCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

noOfMAC-dPDUs = value as per relevant table (0 in the case of index 34 and 35)

Examples:

If input is:

– modScheme = qpsk,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =55

noOfMAC-dPDUs = 6

If input is:

– modScheme = qam16,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =50

noOfMAC-dPDUs = 11

If input is:

– modScheme = qam16,

– Index = 36

TSO returns:

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

noOfMAC-dPDUs = 0

o_CalculateTestPoint_TwoFlows64QAM

Type of the result: TwoFlows_TestPoint

Parameters:

p_ModScheme: ModulationScheme

p_Index: INTEGER

Description:

TSO implements tables 14.1.3.4b.2.5 (for 64QAM and QPSK) and 14.1.3.4b.2.6 (for 64QAM and 16QAM).

It accepts as input:

– Modulation scheme (qam64, qam16 or qpsk) and

– Test Point Index

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

noOfMAC-dPDUs = 0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisatonCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

noOfMAC-dPDUs = value as per relevant table (0 in the case of index 34 and 35)

Examples:

If input is:

– modScheme = qam64,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =9

noOfMAC-dPDUs = 8

If input is:

– modScheme = qpsk,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =55

noOfMAC-dPDUs = 6

If input is:

– modScheme = qam16,

– Index = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =5

tbSizeIndexOnHS_SCCH =55

noOfMAC-dPDUs = 11

If input is:

– modScheme = qam16,

– Index = 36

TSO returns:

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

noOfMAC-dPDUs = 0

o_CalculateTestPoint656_MAC_ehs_DC

Type of the result: HSDPA_TestPoint

Parameters:

p_PhyCat: HSDSCH_physical_layer_category_ext2;

p_ModScheme: ModulationScheme;

p_NumOfPDU: INTEGER

Description:

TSO implements tables 14.1.3.4b.2.1 for QPSK, 14.1.3.4b.2.2 for 16QAM and 14.1.3.4b.2.3 for 64QAM.

It accepts as input:

– UE category (21 to 24),

– Modulation scheme (qpsk, qam16 or qam64) and

– Number of MAC-d PDU’s (1 to 64) when flexible MAC-d PDU size is configured, this parameter is only used to index the test points.

– Number of MAC-d PDU’s (1 to 26) when fixed MAC-d PDU is configured.

If a test point is not defined for this combination of input, then returns

flag = FALSE

noOfChannelisatonCodes =0

tbSizeIndexOnHS_SCCH =0

If a test point is defined for the combination of inputs, it returns,

flag = TRUE

noOfChannelisatonCodes =value as per relevant table

tbSizeIndexOnHS_SCCH =TFRI value as per relevant table

Example:

If input is:

– physical category = 21,

– modScheme = qpsk,

– Num Of PDU’s = 10

TSO returns:

flag = TRUE

noOfChannelisatonCodes =15

tbSizeIndexOnHS_SCCH =22

If input is:

– physical category = 21,

– modScheme = qpsk,

– Num Of PDU’s = 50

TSO returns:

flag = FALSE

noOfChannelisatonCodes = 0

tbSizeIndexOnHS_SCCH = 0

8.7.10 Specific test suite operation for CMAS testing

Table 8.7.9: TSO definitions for CMAS testing

TSO Name

Description

o_IA5_BMC_ToOct_CMAS

Type of the result: INTEGER

Parameters:

p_String: IA5String_BMC

p_DCS: TP_DataCodingScheme

Description:

o_IA5_BMC_ToOct converts the string p_String from IA5String_BMC type to OCTETSTRING.

p_DCS determines how this is done (refer to 3GPP TS 23.038 clause 5).

If a 7 bit packing is to be applied then proceed as described in 3GPP TS 23.038 clause 6.1.2.2.1 and clause 6.2.1. This is the default case.

If 8bit data is to be used then proceed as described in 3GPP TS 23.038 clause 6.2.2.

If UCS2is to be used then proceed as described in 3GPP TS 23.038 clause 6.2.3.

The type IA5_BMC implies that the length of p_String is restricted to 1..1395 octets.

(Refer to 3GPP TS 23.041, 3GPP TS 23.038, 3GPP TS 25.324)

This TSO will always generate a BMC encoded message of 1 page of information. If the input message stream (p_String) is less than the size of required octet, then the input message will be concatenated to generate a string of required length based on p_DCS.