blob: e94a0d76b73ce2b48a015d63b1d43d81538e558f [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2019 Ericsson Telecom AB
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
// File: SGsAP_Test.ttcn
// Rev: <RnXnn>
// Prodnr: CNL 113 834
// Contact: http://ttcn.ericsson.se
// Reference: 3GPP TS 29.118 v13.2.0
//
module SGsAP_Test
{
import from SGsAP_Types all;
type component SGComponent_CT
{
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_ALERT_ACK:= {
sGsAP_ALERT_ACK:={
messageType := '00001110'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200010'H,
fillerDigit := omit
}
}
}
}
template PDU_SGsAP t_SGsAP_ALERT_REJECT:= {
sGsAP_ALERT_REJECT:={
messageType := '00001111'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
sGsCause:={
iEI:='00001000'B,
lengthIndicator:=0,
cause:=IMSI_detached_for_EPS_services
}
}
}
template PDU_SGsAP t_SGsAP_ALERT_REQUEST:= {
sGsAP_ALERT_REQUEST:={
messageType := '00001101'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200010'H,
fillerDigit := omit
}
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_DOWNLINK_UNITDATA:= {
sGsAP_DOWNLINK_UNITDATA:={
messageType := '00000111'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200009'H,
fillerDigit := omit
}
},
nAS_MessageContainer:={
iEI:='00010110'B,
lengthIndicator := 0,
nAS_MessageContainer:='0704'O
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_EPS_DETACH_ACK:= {
sGsAP_EPS_DETACH_ACK:={
messageType := '00010010'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200012'H,
fillerDigit := omit
}
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_EPS_DETACH_INDICATION:= {
sGsAP_EPS_DETACH_INDICATION:={
messageType := '00010001'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200012'H,
fillerDigit := omit
}
},
mME_Name := {
iEI := '00001001'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
iMSI_DetachFromEPS_ServiceType:={
iEI := '00010000'B,
lengthIndicator := 0,
serviceType:= UE_initiated
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_IMSI_DETACH_ACK:= {
sGsAP_IMSI_DETACH_ACK:={
messageType := '00010100'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200011'H,
fillerDigit := omit
}
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_IMSI_DETACH_INDICATION:= {
sGsAP_IMSI_DETACH_INDICATION:={
messageType := '00010011'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200011'H,
fillerDigit := omit
}
},
mME_Name := {
iEI := '00001001'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
iMSI_DetachFromNonEPS_ServiceType:={
iEI := '00010001'B,
lengthIndicator := 0,
serviceType:= explicit_UE_initiated
}
}
}
// Note: If newTMSIorIMSI==omit -> malformed packet according to wireshark
template PDU_SGsAP t_SGsAP_LOCATION_UPDATE_ACCEPT:= {
sGsAP_LOCATION_UPDATE_ACCEPT:={
messageType := '00001010'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
locationAreaId := {
iEI := '00000100'B,
lengthIndicator := 0,
locationAreaId := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
lac := '0066'O
}
},
newTMSIorIMSI:={
iEI := '00001110'B,
lengthIndicator := 0,
iD:={
typeOfIdentity:='001'B,
iD:={imsi:={
oddevenIndicator:='1'B,
digits:='240f9'H,
fillerDigit:=omit
} }
}
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_LOCATION_UPDATE_ACCEPT_2:={
sGsAP_LOCATION_UPDATE_ACCEPT := {
messageType := '00001010'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200010'H,
fillerDigit := omit
}
},
locationAreaId := {
iEI := '00000100'B,
lengthIndicator := 0,
locationAreaId := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
lac := '0065'O
}
},
newTMSIorIMSI := {
iEI := '00001110'B,
lengthIndicator := 0,
iD := {
typeOfIdentity := '100'B,
iD := {
tmsi_ptmsi := {
oddevenIndicator := '0'B,
fillerDigit := '1111'B,
octets := '35200010'O
}
}
}
}
}
}
template PDU_SGsAP t_SGsAP_LOCATION_UPDATE_REJECT:= {
sGsAP_LOCATION_UPDATE_REJECT:={
messageType := '00001011'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
rejectCause := {
iEI := '00001111'B,
lengthIndicator := 0,
cause :=IMSI_unknown_in_HLR
},
locationAreaId := {
iEI := '00000100'B,
lengthIndicator := 5,
locationAreaId := {
mccDigit1 := '2'H,
mccDigit2 := '6'H,
mccDigit3 := '2'H,
mncDigit3 := 'F'H,
mncDigit1 := '0'H,
mncDigit2 := '2'H,
lac := '0001'O } }
}
}
template PDU_SGsAP t_SGsAP_LOCATION_UPDATE_REQUEST:= {
sGsAP_LOCATION_UPDATE_REQUEST := {
messageType := '00001001'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
mME_Name := {
iEI := '00001001'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
ePS_LocationUpdateType := {
iEI := '00001010'B,
lengthIndicator := 0,
locationUpdateType := IMSI_attach
},
newLocationAreaId := {
iEI := '00000100'B,
lengthIndicator := 0,
locationAreaId := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
lac := '0066'O
}
},
oldLocationAreaId := omit,
tMSI_Status := {
iEI := '00000111'B,
lengthIndicator := 0,
status := {
tmsiFlag := '0'B,
spare := '0000000'B
}
},
iMEI_SV := {
iEI := '00010101'B,
lengthIndicator := 0,
iMEI_SV := '1234567812345612'H
},
tAI := {
iEI := '00100011'B,
lengthIndicator := 0,
iD := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
tAC := '0066'O
}
},
eCGI := {
iEI := '00100100'B,
lengthIndicator := 0,
eCGI := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
spare:='0'H,
eCI := 10
}
},
tMSI_NRI := {
iEI := '00100111'B,
lengthIndicator := 0,
nRI_containerIE := {
nRI_containerValue := '0111001000'B,
spare := '000000'B
}
},
cS_DomainOperator := {
iEI := '00011110'B,
lengthIndicator := 0,
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_LOCATION_UPDATE_REQUEST_2:= {
sGsAP_LOCATION_UPDATE_REQUEST := {
messageType := '00001001'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200010'H,
fillerDigit := omit
}
},
mME_Name := {
iEI := '00001001'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
ePS_LocationUpdateType := {
iEI := '00001010'B,
lengthIndicator := 0,
locationUpdateType := IMSI_attach
},
newLocationAreaId := {
iEI := '00000100'B,
lengthIndicator := 0,
locationAreaId := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
lac := '0065'O
}
},
oldLocationAreaId := omit,
tMSI_Status := {
iEI := '00000111'B,
lengthIndicator := 0,
status := {
tmsiFlag := '0'B,
spare := '0000000'B
}
},
iMEI_SV := {
iEI := '00010101'B,
lengthIndicator := 0,
iMEI_SV := '1111111122222233'H
},
tAI := {
iEI := '00100011'B,
lengthIndicator := 0,
iD := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
tAC := '0066'O
}
},
eCGI := {
iEI := '00100100'B,
lengthIndicator := 0,
eCGI := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
spare:='0'H,
eCI := 10
}
},
tMSI_NRI := {
iEI := '00100111'B,
lengthIndicator := 0,
nRI_containerIE := {
nRI_containerValue := '0111001000'B,
spare := '000000'B
}
},
cS_DomainOperator := {
iEI := '00011110'B,
lengthIndicator := 0,
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H
}
}
}
template PDU_SGsAP t_SGsAP_MM_INFORMATION_REQUEST:= {
sGsAP_MM_INFORMATION_REQUEST:={
messageType := '00011010'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
mM_Information := {
iEI := '00010111'B,
lengthIndicator := 0,
information := '1003'O
}
}
}
template PDU_SGsAP t_SGsAP_PAGING_REJECT:= {
sGsAP_PAGING_REJECT:={
messageType := '00000010'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
sGsCause := {
iEI := '00001000'B,
lengthIndicator := 0,
cause := IMSI_detached_for_EPS_services
}
}
}
template PDU_SGsAP t_SGsAP_PAGING_REQUEST:= {
sGsAP_PAGING_REQUEST:={
messageType := '00000001'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
vLR_Name := {
iEI := '00000010'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
serviceIndicator := {
iEI := '00100000'B,
lengthIndicator := 0,
indicator := CS_call_indicator
},
tMSI := omit,
cLI := omit,
locationAreaId := omit,
globalCN_Id := omit,
sS_Code := omit,
lCS_Indicator := omit,
lCS_ClientIdentity := omit,
channelNeeded := omit,
eMLPP_Priority := omit,
additionalPagingIndicator := {
iEI := '00100110'B,
lengthIndicator := 0,
spare := '0000000'B,
cSRI := '1'B
}
}
}
template PDU_SGsAP t_SGsAP_RESET_ACK:= {
sGsAP_RESET_ACK:={
messageType := '00010110'B,
mME_Name := {
iEI := '00001001'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
vLR_Name := {
iEI := '00000010'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
}
}
}
template PDU_SGsAP t_SGsAP_RESET_INDICATION:= {
sGsAP_RESET_INDICATION:={
messageType := '00010101'B,
mME_Name := {
iEI := '00001001'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
},
vLR_Name := {
iEI := '00000010'B,
lengthIndicator := 0,
name := "mmec19.mmegi8C33.mme.epc.mnc99.mcc240.3gppnetwork.org"
}
}
}
template PDU_SGsAP t_SGsAP_SERVICE_REQUEST:= {
sGsAP_SERVICE_REQUEST:={
messageType := '00000110'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
serviceIndicator:= {
iEI := '00100000'B,
lengthIndicator := 0,
indicator := CS_call_indicator
},
iMEI_SV := {
iEI := '00010101'B,
lengthIndicator := 0,
iMEI_SV := '1234567812345612'H
},
uE_TimeZone := {
iEI := '00100001'B,
lengthIndicator := 0,
uE_TimeZone := '00000001'B
},
mobileStationClassmark2 := {
iEI := '00100010'B,
lengthIndicator := 0,
mobileStationClassmark2 := {
mobileStationClassmark2_oct3:={
rf_PowerCapability:='000'B,
a5_1:='0'B,
esind:='0'B,
revisionLevel:='00'B,
spare1_1:='0'B
},
mobileStationClassmark2_oct4:={
fc:='0'B,
vgcs:='0'B,
vbs:='0'B,
sm_Capability:='0'B,
ss_ScreenIndicator:='00'B,
ps_Capability:='0'B,
spare2_1:='0'B
},
mobileStationClassmark2_oct5:={
a5_2:='0'B,
a5_3:='0'B,
cmsp:='0'B,
solsa:='0'B,
ucs2:='0'B,
lcsva_cap:='0'B,
spare5_7:='0'B,
cm3:='0'B
}
}
},
tAI := {
iEI := '00100011'B,
lengthIndicator := 0,
iD := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
tAC := '0066'O
}
},
eCGI := {
iEI := '00100100'B,
lengthIndicator := 0,
eCGI := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
spare:='0'H,
eCI := 10
}
},
uE_EMM_Mode:= {
iEI := '00100101'B,
lengthIndicator := 0,
mode := EMM_CONNECTED
}
}
}
template PDU_SGsAP t_SGsAP_STATUS:= {
sGsAP_STATUS:={
messageType := '00011101'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
sGsCause:={
iEI:='00001000'B,
lengthIndicator:=0,
cause:=IMSI_detached_for_EPS_services
},
erroneousMessage := {
iEI:='00011011'B,
lengthIndicator:=0,
erroneousMessage:='00000001'O
}
}
}
// from Mia Johansson
template PDU_SGsAP t_SGsAP_TMSI_REALLOCATION_COMPLETE:= {
sGsAP_TMSI_REALLOCATION_COMPLETE:={
messageType := '00001100'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200010'H,
fillerDigit := omit
}
}
}
}
template PDU_SGsAP t_SGsAP_UE_ACTIVITY_INDICATION:= {
sGsAP_UE_ACTIVITY_INDICATION:={
messageType := '00010000'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200010'H,
fillerDigit := omit
}
}
}
}
template PDU_SGsAP t_SGsAP_UE_UNREACHABLE:= {
sGsAP_UE_UNREACHABLE:={
messageType := '00011111'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
sGsCause:={
iEI:='00001000'B,
lengthIndicator:=0,
cause:=IMSI_detached_for_EPS_services
}
}
}
template PDU_SGsAP t_SGsAP_UPLINK_UNITDATA:= {
sGsAP_UPLINK_UNITDATA:={
messageType := '00001000'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 8,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200009'H,
fillerDigit := omit
}
},
nAS_MessageContainer := {
iEI := '00010110'B,
lengthIndicator := 7,
nAS_MessageContainer := '07010411111111'O
},
iMEI_SV := {
iEI := '00010101'B,
lengthIndicator := 8,
iMEI_SV := '1111111122222233'H
},
uE_TimeZone := {
iEI := '00100001'B,
lengthIndicator := 0,
uE_TimeZone := '00000011'B
},
mobileStationClassmark2 := omit,
tAI := omit,
eCGI := omit
}
}
template PDU_SGsAP t_SGsAP_RELEASE_REQUEST:= {
sGsAP_RELEASE_REQUEST:={
messageType := '00011011'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
sGsCause:={
iEI:='00001000'B,
lengthIndicator:=0,
cause:=IMSI_detached_for_EPS_services
}
}
}
template PDU_SGsAP t_SGsAP_RELEASE_REQUEST_omitSGsCause:= {
sGsAP_RELEASE_REQUEST:={
messageType := '00011011'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
sGsCause:=omit
}
}
template PDU_SGsAP t_SGsAP_SERVICE_ABORT_REQUEST:= {
sGsAP_SERVICE_ABORT_REQUEST:={
messageType := '00011011'B,
iMSI := {
iEI := '00010111'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
}
}
}
template PDU_SGsAP t_SGsAP_MO_CSFB_INDICATION := {
sGsAP_MO_CSFB_INDICATION :={
messageType := '00011000'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 0,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '240990135200303'H,
fillerDigit := omit
}
},
tAI := {
iEI := '00100011'B,
lengthIndicator := 0,
iD := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
tAC := '0066'O
}
},
eCGI := {
iEI := '00100100'B,
lengthIndicator := 0,
eCGI := {
mccDigit1 := '2'H,
mccDigit2 := '4'H,
mccDigit3 := '0'H,
mncDigit3 := 'F'H,
mncDigit1 := '9'H,
mncDigit2 := '9'H,
spare:='0'H,
eCI := 10
}
}
}
}
testcase tc_EncDec_SGsAP_ALERT_ACK() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_ALERT_ACK));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '0E01082904991053020001'O
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_ALERT_REJECT() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_ALERT_REJECT));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_ALERT_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_ALERT_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '0D01082904991053020001'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_DOWNLINK_UNITDATA() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_DOWNLINK_UNITDATA));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '070108290499105302009016020704'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_EPS_DETACH_ACK() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_EPS_DETACH_ACK));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '1201082904991053020021'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_EPS_DETACH_INDICATION() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_EPS_DETACH_INDICATION));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '110108290499105302002109356D6D656331392E6D6D656769384333332E6D6D652E6570632E6D6E6339392E6D63633234302E336770706E6574776F726B2E6F7267100102'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_IMSI_DETACH_ACK() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_IMSI_DETACH_ACK));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '1401082904991053020011'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_IMSI_DETACH_INDICATION() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_IMSI_DETACH_INDICATION));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '130108290499105302001109356D6D656331392E6D6D656769384333332E6D6D652E6570632E6D6E6339392E6D63633234302E336770706E6574776F726B2E6F7267110101'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_LOCATION_UPDATE_ACCEPT() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_LOCATION_UPDATE_ACCEPT));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_LOCATION_UPDATE_ACCEPT_2() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_LOCATION_UPDATE_ACCEPT_2));
// from Mia Johansson
var octetstring v_my_oct2:= '0A01082904991053020001040542F09900650E05F435200010'O;
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_LOCATION_UPDATE_REJECT() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_LOCATION_UPDATE_REJECT));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_LOCATION_UPDATE_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_LOCATION_UPDATE_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_LOCATION_UPDATE_REQUEST_2() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_LOCATION_UPDATE_REQUEST_2));
var octetstring v_my_oct2:= '090108290499105302000109356D6D656331392E6D6D656769384333332E6D6D652E6570632E6D6E6339392E6D63633234302E336770706E6574776F726B2E6F72670A0101040542F099006507010015081111111122222233230542F0990066240742F0990000000A270213801E0342F099'O;
/* nRI_containerValue := '0111001000'B, 00010011 10000000
spare := '000000'B */
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_MM_INFORMATION_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_MM_INFORMATION_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_PAGING_REJECT() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_PAGING_REJECT));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_PAGING_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_PAGING_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_RESET_ACK() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_RESET_ACK));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_RESET_INDICATION() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_RESET_INDICATION));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_SERVICE_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_SERVICE_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_STATUS() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_STATUS));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) } else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_TMSI_REALLOCATION_COMPLETE() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_TMSI_REALLOCATION_COMPLETE));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '0C01082904991053020001'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_UE_ACTIVITY_INDICATION() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_UE_ACTIVITY_INDICATION));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
// from Mia Johansson
var octetstring v_my_oct3:= '1001082904991053020001'O;
if ((v_my_oct == v_my_oct2) and (v_my_oct == v_my_oct3))
{ setverdict(pass) } else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_UE_UNREACHABLE() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_UE_UNREACHABLE));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) }else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_UPLINK_UNITDATA() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_UPLINK_UNITDATA));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{ setverdict(pass) } else {setverdict(fail)}
}
testcase tc_EncDec_SGsAP_RELEASE_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_RELEASE_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{
setverdict(pass)
} else {
setverdict(fail);
}
}
testcase tc_EncDec_SGsAP_RELEASE_REQUEST_artf441921() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_RELEASE_REQUEST_omitSGsCause));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{
setverdict(pass)
} else {
setverdict(fail);
}
}
testcase tc_EncDec_SGsAP_SERVICE_ABORT_REQUEST() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_SERVICE_ABORT_REQUEST));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{
setverdict(pass)
} else {
setverdict(fail);
}
}
testcase tc_EncDec_SGsAP_MO_CSFB_INDICATION() runs on SGComponent_CT {
var octetstring v_my_oct := enc_PDU_SGsAP(valueof(t_SGsAP_MO_CSFB_INDICATION));
var PDU_SGsAP v_PDU := dec_PDU_SGsAP(v_my_oct);
log("DECODED:");
log (v_PDU);
var octetstring v_my_oct2:= enc_PDU_SGsAP(v_PDU);
log(v_my_oct);
log(v_my_oct2);
if (v_my_oct == v_my_oct2)
{
setverdict(pass)
} else {
setverdict(fail);
}
}
testcase tc_HN25015() runs on SGComponent_CT {
var octetstring v_my_oct :='01010829262001030000150200200102040562F2200001'O
var PDU_SGsAP vl_PDU := dec_PDU_SGsAP(v_my_oct);
var PDU_SGsAP vl_expectedPDU:= {
sGsAP_PAGING_REQUEST := {
messageType := '00000001'B,
iMSI := {
iEI := '00000001'B,
lengthIndicator := 8,
iMSI := {
field1 := '001'B,
parity := '1'B,
digits := '262021030000051'H,
fillerDigit := omit } },
vLR_Name := {
iEI := '00000010'B,
lengthIndicator := 0,
name := "" },
serviceIndicator := {
iEI := '00100000'B,
lengthIndicator := 1,
indicator := SMS_indicator },
tMSI := omit,
cLI := omit,
locationAreaId := {
iEI := '00000100'B,
lengthIndicator := 5,
locationAreaId := {
mccDigit1 := '2'H,
mccDigit2 := '6'H,
mccDigit3 := '2'H,
mncDigit3 := 'F'H,
mncDigit1 := '0'H,
mncDigit2 := '2'H,
lac := '0001'O } },
globalCN_Id := omit,
sS_Code := omit,
lCS_Indicator := omit,
lCS_ClientIdentity := omit,
channelNeeded := omit,
eMLPP_Priority := omit,
additionalPagingIndicator := omit
}
}
if(match(vl_PDU,vl_expectedPDU))
{
setverdict(pass)
} else {
setverdict(fail, match(vl_PDU,vl_expectedPDU))
}
}
testcase FastEncDecTC () runs on SGComponent_CT {
var PDU_SGsAP sgsap:={sGsAP_ALERT_ACK:={'00001110'B, {'00000001'B, 1, {'001'B,'0'B,'D'H,omit}}}};
log (sgsap);
var octetstring enc_sgsap;
enc_PDU_SGsAP_fast (sgsap, enc_sgsap);
log (enc_sgsap);
var PDU_SGsAP dec_sgsap;
var integer success:=dec_PDU_SGsAP_backtrack(enc_sgsap, dec_sgsap);
log (dec_sgsap);
if ((dec_sgsap==sgsap) and (success==0)) {
setverdict(pass);
}
else {
setverdict(fail)
}
}
control
{
execute(tc_EncDec_SGsAP_ALERT_ACK());
execute(tc_EncDec_SGsAP_ALERT_REJECT());
execute(tc_EncDec_SGsAP_ALERT_REQUEST());
execute(tc_EncDec_SGsAP_DOWNLINK_UNITDATA());
execute(tc_EncDec_SGsAP_EPS_DETACH_ACK());
execute(tc_EncDec_SGsAP_EPS_DETACH_INDICATION());
execute(tc_EncDec_SGsAP_IMSI_DETACH_ACK());
execute(tc_EncDec_SGsAP_IMSI_DETACH_INDICATION());
execute(tc_EncDec_SGsAP_LOCATION_UPDATE_ACCEPT());
execute(tc_EncDec_SGsAP_LOCATION_UPDATE_ACCEPT_2());
execute(tc_EncDec_SGsAP_LOCATION_UPDATE_REJECT());
execute(tc_EncDec_SGsAP_LOCATION_UPDATE_REQUEST());
execute(tc_EncDec_SGsAP_LOCATION_UPDATE_REQUEST_2());
execute(tc_EncDec_SGsAP_MM_INFORMATION_REQUEST());
execute(tc_EncDec_SGsAP_PAGING_REJECT());
execute(tc_EncDec_SGsAP_PAGING_REQUEST());
execute(tc_EncDec_SGsAP_RESET_ACK());
execute(tc_EncDec_SGsAP_RESET_INDICATION());
execute(tc_EncDec_SGsAP_SERVICE_REQUEST());
execute(tc_EncDec_SGsAP_STATUS());
execute(tc_EncDec_SGsAP_TMSI_REALLOCATION_COMPLETE());
execute(tc_EncDec_SGsAP_UE_ACTIVITY_INDICATION());
execute(tc_EncDec_SGsAP_UE_UNREACHABLE());
execute(tc_EncDec_SGsAP_UPLINK_UNITDATA());
execute(tc_EncDec_SGsAP_RELEASE_REQUEST());
execute(tc_EncDec_SGsAP_RELEASE_REQUEST_artf441921());
execute(tc_HN25015());
execute(FastEncDecTC());
execute(tc_EncDec_SGsAP_MO_CSFB_INDICATION());
execute(tc_EncDec_SGsAP_SERVICE_ABORT_REQUEST());
}
}// end of module