// This C++ source file was generated by the TTCN-3 compiler
// of the TTCN-3 Test Executor version 9.0.0
// The generation of user and time information were disabled by the -D flag.

// Copyright (c) 2000-2023 Ericsson Telecom AB

// Do not edit this file unless you know what you are doing.

/* Including header files */

#include "SCCP_Emulation.hh"

namespace SCCP__Emulation {

/* Literal string constants */

const unsigned char bs_1_bits[] = { 0 },
bs_8_bits[] = { 0 },
bs_3_bits[] = { 0 },
bs_9_bits[] = { 0 },
bs_4_bits[] = { 0 },
bs_7_bits[] = { 0 },
bs_10_bits[] = { 0, 0 },
bs_6_bits[] = { 128 },
bs_11_bits[] = { 8 },
bs_2_bits[] = { 4 },
bs_0_bits[] = { 1 },
bs_5_bits[] = { 1 };
extern const BITSTRING bs_1(1, bs_1_bits),
bs_8(2, bs_8_bits),
bs_3(4, bs_3_bits),
bs_9(5, bs_9_bits),
bs_4(7, bs_4_bits),
bs_7(8, bs_7_bits),
bs_10(16, bs_10_bits),
bs_6(8, bs_6_bits),
bs_11(4, bs_11_bits),
bs_2(4, bs_2_bits),
bs_0(1, bs_0_bits),
bs_5(4, bs_5_bits);
const unsigned char os_2_octets[] = { 0 },
os_0_octets[] = { 0, 0, 0 },
os_7_octets[] = { 1 },
os_8_octets[] = { 2 },
os_6_octets[] = { 3 },
os_4_octets[] = { 67 },
os_3_octets[] = { 131 },
os_5_octets[] = { 195 };
extern const OCTETSTRING os_1(0, NULL),
os_2(1, os_2_octets),
os_0(3, os_0_octets),
os_7(1, os_7_octets),
os_8(1, os_8_octets),
os_6(1, os_6_octets),
os_4(1, os_4_octets),
os_3(1, os_3_octets),
os_5(1, os_5_octets);
const unsigned char module_checksum[] = { 0xa0, 0x13, 0x97, 0x66, 0x67, 0x37, 0x5c, 0xf3, 0xdc, 0x7c, 0xc7, 0x86, 0x25, 0x55, 0xe8, 0xa0 };

/* Global variable definitions */

FLOAT modulepar_tsp__maxLocalReference;
const FLOAT& tsp__maxLocalReference = modulepar_tsp__maxLocalReference;
FLOAT modulepar_tsp__max__ConnectionId;
const FLOAT& tsp__max__ConnectionId = modulepar_tsp__max__ConnectionId;
INTEGER modulepar_tsp__force__xudt;
const INTEGER& tsp__force__xudt = modulepar_tsp__force__xudt;
INTEGER modulepar_tsp__SIF__MaxLength;
const INTEGER& tsp__SIF__MaxLength = modulepar_tsp__SIF__MaxLength;
BOOLEAN modulepar_tsp__override__called__address;
const BOOLEAN& tsp__override__called__address = modulepar_tsp__override__called__address;
INTEGER const_cg__SSN__notKnown;
const INTEGER& cg__SSN__notKnown = const_cg__SSN__notKnown;
INTEGER const_cg__SSN__sCCPmanagement;
const INTEGER& cg__SSN__sCCPmanagement = const_cg__SSN__sCCPmanagement;
INTEGER const_cg__SSN__reservedForITU;
const INTEGER& cg__SSN__reservedForITU = const_cg__SSN__reservedForITU;
INTEGER const_cg__SSN__iSUP;
const INTEGER& cg__SSN__iSUP = const_cg__SSN__iSUP;
INTEGER const_cg__SSN__oMAP;
const INTEGER& cg__SSN__oMAP = const_cg__SSN__oMAP;
INTEGER const_cg__SSN__mAP;
const INTEGER& cg__SSN__mAP = const_cg__SSN__mAP;
INTEGER const_cg__SSN__hLR;
const INTEGER& cg__SSN__hLR = const_cg__SSN__hLR;
INTEGER const_cg__SSN__vLR;
const INTEGER& cg__SSN__vLR = const_cg__SSN__vLR;
INTEGER const_cg__SSN__mSC;
const INTEGER& cg__SSN__mSC = const_cg__SSN__mSC;
INTEGER const_cg__SSN__eIC;
const INTEGER& cg__SSN__eIC = const_cg__SSN__eIC;
INTEGER const_cg__SSN__aUC;
const INTEGER& cg__SSN__aUC = const_cg__SSN__aUC;
INTEGER const_cg__SSN__isdnSS;
const INTEGER& cg__SSN__isdnSS = const_cg__SSN__isdnSS;
INTEGER const_cg__SSN__reservedForIntUse;
const INTEGER& cg__SSN__reservedForIntUse = const_cg__SSN__reservedForIntUse;
INTEGER const_cg__SSN__bISDNe2e;
const INTEGER& cg__SSN__bISDNe2e = const_cg__SSN__bISDNe2e;
INTEGER const_cg__SSN__tCtestResponder;
const INTEGER& cg__SSN__tCtestResponder = const_cg__SSN__tCtestResponder;
INTEGER const_cg__SSN__rANAP;
const INTEGER& cg__SSN__rANAP = const_cg__SSN__rANAP;
INTEGER const_cg__SSN__bSSAP;
const INTEGER& cg__SSN__bSSAP = const_cg__SSN__bSSAP;
BITSTRING const_cg__route__on__SSN;
const BITSTRING& cg__route__on__SSN = const_cg__route__on__SSN;
BITSTRING const_cg__route__on__GT;
const BITSTRING& cg__route__on__GT = const_cg__route__on__GT;
INTEGER const_cg__Rel__endUserOrig;
const INTEGER& cg__Rel__endUserOrig = const_cg__Rel__endUserOrig;
INTEGER const_cg__Rel__endUserCong;
const INTEGER& cg__Rel__endUserCong = const_cg__Rel__endUserCong;
INTEGER const_cg__Rel__endUserFailure;
const INTEGER& cg__Rel__endUserFailure = const_cg__Rel__endUserFailure;
INTEGER const_cg__Rel__sCCPUserOrig;
const INTEGER& cg__Rel__sCCPUserOrig = const_cg__Rel__sCCPUserOrig;
INTEGER const_cg__Rel__remProcError;
const INTEGER& cg__Rel__remProcError = const_cg__Rel__remProcError;
INTEGER const_cg__Rel__inconsConnData;
const INTEGER& cg__Rel__inconsConnData = const_cg__Rel__inconsConnData;
INTEGER const_cg__Rel__accessFailure;
const INTEGER& cg__Rel__accessFailure = const_cg__Rel__accessFailure;
INTEGER const_cg__Rel__accessCongestion;
const INTEGER& cg__Rel__accessCongestion = const_cg__Rel__accessCongestion;
INTEGER const_cg__Rel__subsystFailure;
const INTEGER& cg__Rel__subsystFailure = const_cg__Rel__subsystFailure;
INTEGER const_cg__Rel__subsystCongest;
const INTEGER& cg__Rel__subsystCongest = const_cg__Rel__subsystCongest;
INTEGER const_cg__Rel__mTPFailure;
const INTEGER& cg__Rel__mTPFailure = const_cg__Rel__mTPFailure;
INTEGER const_cg__Rel__networkCongest;
const INTEGER& cg__Rel__networkCongest = const_cg__Rel__networkCongest;
INTEGER const_cg__Rel__expResetTimer;
const INTEGER& cg__Rel__expResetTimer = const_cg__Rel__expResetTimer;
INTEGER const_cg__Rel__expRecInacTimer;
const INTEGER& cg__Rel__expRecInacTimer = const_cg__Rel__expRecInacTimer;
INTEGER const_cg__Rel__reserved;
const INTEGER& cg__Rel__reserved = const_cg__Rel__reserved;
INTEGER const_cg__Rel__unqualified;
const INTEGER& cg__Rel__unqualified = const_cg__Rel__unqualified;
INTEGER const_cg__Rel__sCCPFailure;
const INTEGER& cg__Rel__sCCPFailure = const_cg__Rel__sCCPFailure;
INTEGER const_cg__Ret__noTransl4AddrNature;
const INTEGER& cg__Ret__noTransl4AddrNature = const_cg__Ret__noTransl4AddrNature;
INTEGER const_cg__Ret__noTransl4SpecifAddr;
const INTEGER& cg__Ret__noTransl4SpecifAddr = const_cg__Ret__noTransl4SpecifAddr;
INTEGER const_cg__Ret__subsystemCongestion;
const INTEGER& cg__Ret__subsystemCongestion = const_cg__Ret__subsystemCongestion;
INTEGER const_cg__Ret__subsystemFailure;
const INTEGER& cg__Ret__subsystemFailure = const_cg__Ret__subsystemFailure;
INTEGER const_cg__Ret__unequippedUser;
const INTEGER& cg__Ret__unequippedUser = const_cg__Ret__unequippedUser;
INTEGER const_cg__Ret__mTPFailure;
const INTEGER& cg__Ret__mTPFailure = const_cg__Ret__mTPFailure;
INTEGER const_cg__Ret__networkCongestion;
const INTEGER& cg__Ret__networkCongestion = const_cg__Ret__networkCongestion;
INTEGER const_cg__Ret__unqualified;
const INTEGER& cg__Ret__unqualified = const_cg__Ret__unqualified;
INTEGER const_cg__Ret__errorMessageTransport;
const INTEGER& cg__Ret__errorMessageTransport = const_cg__Ret__errorMessageTransport;
INTEGER const_cg__Ret__errorLocalProcessing;
const INTEGER& cg__Ret__errorLocalProcessing = const_cg__Ret__errorLocalProcessing;
INTEGER const_cg__Ret__destNoReassembly;
const INTEGER& cg__Ret__destNoReassembly = const_cg__Ret__destNoReassembly;
INTEGER const_cg__Ret__sCCPFailure;
const INTEGER& cg__Ret__sCCPFailure = const_cg__Ret__sCCPFailure;
INTEGER const_cg__Ret__hopCounterViolation;
const INTEGER& cg__Ret__hopCounterViolation = const_cg__Ret__hopCounterViolation;
INTEGER const_cg__Ret__segmeNotSupported;
const INTEGER& cg__Ret__segmeNotSupported = const_cg__Ret__segmeNotSupported;
INTEGER const_cg__Ret__segmentationFailure;
const INTEGER& cg__Ret__segmentationFailure = const_cg__Ret__segmentationFailure;
INTEGER const_cg__Res__endUserOrig;
const INTEGER& cg__Res__endUserOrig = const_cg__Res__endUserOrig;
INTEGER const_cg__Res__sCCPUserOrig;
const INTEGER& cg__Res__sCCPUserOrig = const_cg__Res__sCCPUserOrig;
INTEGER const_cg__Res__messOutOfOrder__incPs;
const INTEGER& cg__Res__messOutOfOrder__incPs = const_cg__Res__messOutOfOrder__incPs;
INTEGER const_cg__Res__messOutOfOrder__incPr;
const INTEGER& cg__Res__messOutOfOrder__incPr = const_cg__Res__messOutOfOrder__incPr;
INTEGER const_cg__Res__remProcErr__messOutOfWindow;
const INTEGER& cg__Res__remProcErr__messOutOfWindow = const_cg__Res__remProcErr__messOutOfWindow;
INTEGER const_cg__Res__remProcErr__IncPsAfterReinit;
const INTEGER& cg__Res__remProcErr__IncPsAfterReinit = const_cg__Res__remProcErr__IncPsAfterReinit;
INTEGER const_cg__Res__remProcErr__general;
const INTEGER& cg__Res__remProcErr__general = const_cg__Res__remProcErr__general;
INTEGER const_cg__Res__remEndUserOperational;
const INTEGER& cg__Res__remEndUserOperational = const_cg__Res__remEndUserOperational;
INTEGER const_cg__Res__networkOperational;
const INTEGER& cg__Res__networkOperational = const_cg__Res__networkOperational;
INTEGER const_cg__Res__accessOperational;
const INTEGER& cg__Res__accessOperational = const_cg__Res__accessOperational;
INTEGER const_cg__Res__networkCongestion;
const INTEGER& cg__Res__networkCongestion = const_cg__Res__networkCongestion;
INTEGER const_cg__Res__reserved;
const INTEGER& cg__Res__reserved = const_cg__Res__reserved;
INTEGER const_cg__Res__unqualified;
const INTEGER& cg__Res__unqualified = const_cg__Res__unqualified;
INTEGER const_cg__Err__unassignedDestinationLRN;
const INTEGER& cg__Err__unassignedDestinationLRN = const_cg__Err__unassignedDestinationLRN;
INTEGER const_cg__Err__inconsistentSourceLRN;
const INTEGER& cg__Err__inconsistentSourceLRN = const_cg__Err__inconsistentSourceLRN;
INTEGER const_cg__Err__pointCodeMismatch;
const INTEGER& cg__Err__pointCodeMismatch = const_cg__Err__pointCodeMismatch;
INTEGER const_cg__Err__serviceClassMismatch;
const INTEGER& cg__Err__serviceClassMismatch = const_cg__Err__serviceClassMismatch;
INTEGER const_cg__Err__unqualified;
const INTEGER& cg__Err__unqualified = const_cg__Err__unqualified;
INTEGER const_cg__Ref__endUserOrigin;
const INTEGER& cg__Ref__endUserOrigin = const_cg__Ref__endUserOrigin;
INTEGER const_cg__Ref__endUserConges;
const INTEGER& cg__Ref__endUserConges = const_cg__Ref__endUserConges;
INTEGER const_cg__Ref__endUserFailure;
const INTEGER& cg__Ref__endUserFailure = const_cg__Ref__endUserFailure;
INTEGER const_cg__Ref__sCCPUserOrigin;
const INTEGER& cg__Ref__sCCPUserOrigin = const_cg__Ref__sCCPUserOrigin;
INTEGER const_cg__Ref__destAddrUnkn;
const INTEGER& cg__Ref__destAddrUnkn = const_cg__Ref__destAddrUnkn;
INTEGER const_cg__Ref__destInaccess;
const INTEGER& cg__Ref__destInaccess = const_cg__Ref__destInaccess;
INTEGER const_cg__Ref__qOSNotAvail__nonTransient;
const INTEGER& cg__Ref__qOSNotAvail__nonTransient = const_cg__Ref__qOSNotAvail__nonTransient;
INTEGER const_cg__Ref__qOSNotAvail__transient;
const INTEGER& cg__Ref__qOSNotAvail__transient = const_cg__Ref__qOSNotAvail__transient;
INTEGER const_cg__Ref__accessFailure;
const INTEGER& cg__Ref__accessFailure = const_cg__Ref__accessFailure;
INTEGER const_cg__Ref__accessCongestion;
const INTEGER& cg__Ref__accessCongestion = const_cg__Ref__accessCongestion;
INTEGER const_cg__Ref__subsystemFailure;
const INTEGER& cg__Ref__subsystemFailure = const_cg__Ref__subsystemFailure;
INTEGER const_cg__Ref__subsystemCongest;
const INTEGER& cg__Ref__subsystemCongest = const_cg__Ref__subsystemCongest;
INTEGER const_cg__Ref__expConnEstTimer;
const INTEGER& cg__Ref__expConnEstTimer = const_cg__Ref__expConnEstTimer;
INTEGER const_cg__Ref__incomUserData;
const INTEGER& cg__Ref__incomUserData = const_cg__Ref__incomUserData;
INTEGER const_cg__Ref__reserved;
const INTEGER& cg__Ref__reserved = const_cg__Ref__reserved;
INTEGER const_cg__Ref__unqualified;
const INTEGER& cg__Ref__unqualified = const_cg__Ref__unqualified;
INTEGER const_cg__Ref__hopCounterViol;
const INTEGER& cg__Ref__hopCounterViol = const_cg__Ref__hopCounterViol;
INTEGER const_cg__Ref__sCCPFailure;
const INTEGER& cg__Ref__sCCPFailure = const_cg__Ref__sCCPFailure;
INTEGER const_cg__Ref__noTransl4address;
const INTEGER& cg__Ref__noTransl4address = const_cg__Ref__noTransl4address;
INTEGER const_cg__Ref__unequippedUser;
const INTEGER& cg__Ref__unequippedUser = const_cg__Ref__unequippedUser;
INTEGER const_cg__Undefined;
const INTEGER& cg__Undefined = const_cg__Undefined;
INTEGER const_cg__NSU;
const INTEGER& cg__NSU = const_cg__NSU;
INTEGER const_cg__NSP;
const INTEGER& cg__NSP = const_cg__NSP;
INTEGER const_cg__CREF__endUserOrig;
const INTEGER& cg__CREF__endUserOrig = const_cg__CREF__endUserOrig;
INTEGER const_cg__CREF__endUserCong;
const INTEGER& cg__CREF__endUserCong = const_cg__CREF__endUserCong;
INTEGER const_cg__CREF__endUserFailure;
const INTEGER& cg__CREF__endUserFailure = const_cg__CREF__endUserFailure;
INTEGER const_cg__CREF__SCCPUserOrig;
const INTEGER& cg__CREF__SCCPUserOrig = const_cg__CREF__SCCPUserOrig;
INTEGER const_cg__CREF__destAddrUnknwn__NT;
const INTEGER& cg__CREF__destAddrUnknwn__NT = const_cg__CREF__destAddrUnknwn__NT;
INTEGER const_cg__CREF__destInaccg__T;
const INTEGER& cg__CREF__destInaccg__T = const_cg__CREF__destInaccg__T;
INTEGER const_cg__CREF__QOSUnavail__NT;
const INTEGER& cg__CREF__QOSUnavail__NT = const_cg__CREF__QOSUnavail__NT;
INTEGER const_cg__CREF__QOSUnavail__T;
const INTEGER& cg__CREF__QOSUnavail__T = const_cg__CREF__QOSUnavail__T;
INTEGER const_cg__CREF__accessFailure;
const INTEGER& cg__CREF__accessFailure = const_cg__CREF__accessFailure;
INTEGER const_cg__CREF__accessCong;
const INTEGER& cg__CREF__accessCong = const_cg__CREF__accessCong;
INTEGER const_cg__CREF__destInaccg__NT;
const INTEGER& cg__CREF__destInaccg__NT = const_cg__CREF__destInaccg__NT;
INTEGER const_cg__CREF__subsystCong;
const INTEGER& cg__CREF__subsystCong = const_cg__CREF__subsystCong;
INTEGER const_cg__CREF__unspec__T;
const INTEGER& cg__CREF__unspec__T = const_cg__CREF__unspec__T;
INTEGER const_cg__CREF__incompInfo;
const INTEGER& cg__CREF__incompInfo = const_cg__CREF__incompInfo;
INTEGER const_cg__CREF__unspec__NT;
const INTEGER& cg__CREF__unspec__NT = const_cg__CREF__unspec__NT;
INTEGER const_cg__CREF__undef;
const INTEGER& cg__CREF__undef = const_cg__CREF__undef;
INTEGER const_cg__CREF__hopCntrViolation;
const INTEGER& cg__CREF__hopCntrViolation = const_cg__CREF__hopCntrViolation;
INTEGER const_cg__DISC__normal;
const INTEGER& cg__DISC__normal = const_cg__DISC__normal;
INTEGER const_cg__DISC__endUserCong;
const INTEGER& cg__DISC__endUserCong = const_cg__DISC__endUserCong;
INTEGER const_cg__DISC__endUserFailure;
const INTEGER& cg__DISC__endUserFailure = const_cg__DISC__endUserFailure;
INTEGER const_cg__DISC__SCCPUserOrig;
const INTEGER& cg__DISC__SCCPUserOrig = const_cg__DISC__SCCPUserOrig;
INTEGER const_cg__DISC__abnormal__T;
const INTEGER& cg__DISC__abnormal__T = const_cg__DISC__abnormal__T;
INTEGER const_cg__DISC__accessFailure;
const INTEGER& cg__DISC__accessFailure = const_cg__DISC__accessFailure;
INTEGER const_cg__DISC__accessCong;
const INTEGER& cg__DISC__accessCong = const_cg__DISC__accessCong;
INTEGER const_cg__DISC__abnormal__NT;
const INTEGER& cg__DISC__abnormal__NT = const_cg__DISC__abnormal__NT;
INTEGER const_cg__DISC__subsystCong;
const INTEGER& cg__DISC__subsystCong = const_cg__DISC__subsystCong;
INTEGER const_cg__DISC__undef;
const INTEGER& cg__DISC__undef = const_cg__DISC__undef;
INTEGER const_cg__DISC__incompInfo;
const INTEGER& cg__DISC__incompInfo = const_cg__DISC__incompInfo;
INTEGER const_cg__DISC__abnormal;
const INTEGER& cg__DISC__abnormal = const_cg__DISC__abnormal;
INTEGER const_cg__RESET__userSynch;
const INTEGER& cg__RESET__userSynch = const_cg__RESET__userSynch;
INTEGER const_cg__RESET__unspec;
const INTEGER& cg__RESET__unspec = const_cg__RESET__unspec;
INTEGER const_cg__RESET__netCong;
const INTEGER& cg__RESET__netCong = const_cg__RESET__netCong;
INTEGER const_cg__RESET__undef;
const INTEGER& cg__RESET__undef = const_cg__RESET__undef;
VALUE_ARRAY<INTEGER, 20, 0> const_cg__Mapping__RefCause__Orig;
const VALUE_ARRAY<INTEGER, 20, 0>& cg__Mapping__RefCause__Orig = const_cg__Mapping__RefCause__Orig;
VALUE_ARRAY<INTEGER, 20, 0> const_cg__Mapping__RefCause__Reason;
const VALUE_ARRAY<INTEGER, 20, 0>& cg__Mapping__RefCause__Reason = const_cg__Mapping__RefCause__Reason;
VALUE_ARRAY<INTEGER, 17, 0> const_cg__Mapping__RelCause__Orig;
const VALUE_ARRAY<INTEGER, 17, 0>& cg__Mapping__RelCause__Orig = const_cg__Mapping__RelCause__Orig;
VALUE_ARRAY<INTEGER, 17, 0> const_cg__Mapping__RelCause__Reason;
const VALUE_ARRAY<INTEGER, 17, 0>& cg__Mapping__RelCause__Reason = const_cg__Mapping__RelCause__Reason;
VALUE_ARRAY<INTEGER, 12, 0> const_cg__Mapping__ResCause__Orig;
const VALUE_ARRAY<INTEGER, 12, 0>& cg__Mapping__ResCause__Orig = const_cg__Mapping__ResCause__Orig;
VALUE_ARRAY<INTEGER, 12, 0> const_cg__Mapping__ResCause__Reason;
const VALUE_ARRAY<INTEGER, 12, 0>& cg__Mapping__ResCause__Reason = const_cg__Mapping__ResCause__Reason;
INTEGER const_cg__TimerArraySize;
const INTEGER& cg__TimerArraySize = const_cg__TimerArraySize;
SCCP__Types::PDU__SCCP__ConnectionRequest_template template_tr__PDU__SCCP__ConnectionRequest;
const SCCP__Types::PDU__SCCP__ConnectionRequest_template& tr__PDU__SCCP__ConnectionRequest = template_tr__PDU__SCCP__ConnectionRequest;
SCCP__Types::PDU__SCCP__ConnectionConfirm_template template_tr__PDU__SCCP__ConnectionConfirm;
const SCCP__Types::PDU__SCCP__ConnectionConfirm_template& tr__PDU__SCCP__ConnectionConfirm = template_tr__PDU__SCCP__ConnectionConfirm;
SCCP__Types::PDU__SCCP__ConnectionRefused_template template_tr__PDU__SCCP__ConnectionRefused;
const SCCP__Types::PDU__SCCP__ConnectionRefused_template& tr__PDU__SCCP__ConnectionRefused = template_tr__PDU__SCCP__ConnectionRefused;
SCCP__Types::PDU__SCCP__Released_template template_tr__PDU__SCCP__Released;
const SCCP__Types::PDU__SCCP__Released_template& tr__PDU__SCCP__Released = template_tr__PDU__SCCP__Released;
SCCP__Types::PDU__SCCP__ReleaseComplete_template template_tr__PDU__SCCP__ReleaseComplete;
const SCCP__Types::PDU__SCCP__ReleaseComplete_template& tr__PDU__SCCP__ReleaseComplete = template_tr__PDU__SCCP__ReleaseComplete;
SCCP__Types::PDU__SCCP__DataForm1_template template_tr__PDU__SCCP__DataForm1;
const SCCP__Types::PDU__SCCP__DataForm1_template& tr__PDU__SCCP__DataForm1 = template_tr__PDU__SCCP__DataForm1;
SCCP__Types::PDU__SCCP__Unitdata_template template_tr__PDU__SCCP__Unitdata;
const SCCP__Types::PDU__SCCP__Unitdata_template& tr__PDU__SCCP__Unitdata = template_tr__PDU__SCCP__Unitdata;
SCCP__Types::PDU__SCCP__UnitdataService_template template_tr__PDU__SCCP__UnitdataService;
const SCCP__Types::PDU__SCCP__UnitdataService_template& tr__PDU__SCCP__UnitdataService = template_tr__PDU__SCCP__UnitdataService;
SCCP__Types::PDU__SCCP__ResetRequest_template template_tr__PDU__SCCP__ResetRequest;
const SCCP__Types::PDU__SCCP__ResetRequest_template& tr__PDU__SCCP__ResetRequest = template_tr__PDU__SCCP__ResetRequest;
SCCP__Types::PDU__SCCP__ResetConfirm_template template_tr__PDU__SCCP__ResetConfirm;
const SCCP__Types::PDU__SCCP__ResetConfirm_template& tr__PDU__SCCP__ResetConfirm = template_tr__PDU__SCCP__ResetConfirm;
SCCP__Types::PDU__SCCP__ProtDataUnitError_template template_tr__PDU__SCCP__ProtDataUnitError;
const SCCP__Types::PDU__SCCP__ProtDataUnitError_template& tr__PDU__SCCP__ProtDataUnitError = template_tr__PDU__SCCP__ProtDataUnitError;
SCCP__Types::PDU__SCCP__InactivityTest_template template_tr__PDU__SCCP__InactivityTest;
const SCCP__Types::PDU__SCCP__InactivityTest_template& tr__PDU__SCCP__InactivityTest = template_tr__PDU__SCCP__InactivityTest;
SCCP__Types::PDU__SCCP__ExtUnitdata_template template_tr__PDU__SCCP__ExtUnitdata;
const SCCP__Types::PDU__SCCP__ExtUnitdata_template& tr__PDU__SCCP__ExtUnitdata = template_tr__PDU__SCCP__ExtUnitdata;
// No XER for Timer__Snapshot
const TTCN_Typedescriptor_t Timer__Snapshot_descr_ = { "@SCCP_Emulation.Timer_Snapshot", NULL, NULL, NULL, NULL, NULL, NULL, NULL, &BOOLEAN_descr_, TTCN_Typedescriptor_t::DONTCARE };
const XERdescriptor_t       Timer__Snapshot_0_xer_ = { {"BOOLEAN>\n", "BOOLEAN>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int Timer__Snapshot_0_oer_ext_arr_[0] = {};
const int Timer__Snapshot_0_oer_p_[0] = {};
const TTCN_OERdescriptor_t Timer__Snapshot_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, Timer__Snapshot_0_oer_ext_arr_, 0, Timer__Snapshot_0_oer_p_};
const TTCN_Typedescriptor_t Timer__Snapshot_0_descr_ = { "@SCCP_Emulation.Timer_Snapshot.BOOLEAN", &BOOLEAN_ber_, &BOOLEAN_raw_, &BOOLEAN_text_, &Timer__Snapshot_0_xer_, &BOOLEAN_json_, &Timer__Snapshot_0_oer_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
// No XER for TimerIdentifierType
const TTCN_Typedescriptor_t TimerIdentifierType_descr_ = { "@SCCP_Emulation.TimerIdentifierType", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_Typedescriptor_t& SCCP__CT_descr_ = COMPONENT_descr_;
UNIVERSAL_CHARSTRING _T_SCCP__CT_component_ConnectionTable_0_default_coding("RAW");
VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0> SCCP__CT_component_ConnectionTable;
INTEGER SCCP__CT_component_v__session;
UNIVERSAL_CHARSTRING _T_SCCP__CT_component_segmLocRefTable_0_default_coding("RAW");
VALUE_ARRAY<OCTETSTRING, 16, 0> SCCP__CT_component_segmLocRefTable;
INTEGER SCCP__CT_component_v__segmLocRefIndex;
UNIVERSAL_CHARSTRING _T_SCCP__CT_component_ClessRcvBuffTable_0_default_coding("RAW");
VALUE_ARRAY<SCCP__Types::ClessRcvBuff, 16, 0> SCCP__CT_component_ClessRcvBuffTable;
INTEGER SCCP__CT_component_v__reference;
HEXSTRING SCCP__CT_component_v__own__GT;
HEXSTRING SCCP__CT_component_v__remote__GT;
INTEGER SCCP__CT_component_v__SSN;
OCTETSTRING SCCP__CT_component_v__SIO;
INTEGER SCCP__CT_component_v__NI;
INTEGER SCCP__CT_component_v__own__SPC;
INTEGER SCCP__CT_component_v__remote__SPC;
INTEGER SCCP__CT_component_v__SLS;
CHARSTRING SCCP__CT_component_v__SCCPServiceType;
INTEGER SCCP__CT_component_v__PC__length;
INTEGER SCCP__CT_component_v__RoutingLabelLen;
INTEGER SCCP__CT_component_v__sccp__data__maxlen;
INTEGER SCCP__CT_component_v__sccp__pdu__maxlen;
Timer__Snapshot SCCP__CT_component_v__T__conn__est;
Timer__Snapshot SCCP__CT_component_v__T__ias;
Timer__Snapshot SCCP__CT_component_v__T__iar;
Timer__Snapshot SCCP__CT_component_v__T__rel;
Timer__Snapshot SCCP__CT_component_v__T__repeat__rel;
Timer__Snapshot SCCP__CT_component_v__T__int;
Timer__Snapshot SCCP__CT_component_v__T__reset;
Timer__Snapshot SCCP__CT_component_v__T__internal__reset;
Timer__Snapshot SCCP__CT_component_v__T__guard;
SCCPasp__Types::SCCPasp__SP__PT SCCP__CT_component_SCCP__SP__PORT("SCCP_SP_PORT");
SCCP__Mapping::MTP3asp__SCCP__PT SCCP__CT_component_MTP3__SCCP__PORT("MTP3_SCCP_PORT");
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__conn__est;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__ias;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__iar;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__rel;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__repeat__rel;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__int;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__reset;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__internal__reset;
TIMER_ARRAY<TIMER, 16, 0> SCCP__CT_component_T__guard;
FLOAT const_f__StartTimer_pl__duration_defval;
const FLOAT& f__StartTimer_pl__duration_defval = const_f__StartTimer_pl__duration_defval;
TTCN_Module module_object("SCCP_Emulation", __DATE__, __TIME__, module_checksum, pre_init_module, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, post_init_module, set_module_param, NULL, log_module_param, init_comp_type, init_system_port, start_ptc_function, NULL);

const RuntimeVersionChecker ver_checker(  current_runtime_version.requires_major_version_9,
  current_runtime_version.requires_minor_version_0,
  current_runtime_version.requires_patch_level_0,  current_runtime_version.requires_runtime_1);

/* Member functions of C++ classes */

TimerIdentifierType::TimerIdentifierType()
{
enum_value = UNBOUND_VALUE;
}

TimerIdentifierType::TimerIdentifierType(int other_value)
{
if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @SCCP_Emulation.TimerIdentifierType with invalid numeric value %d.", other_value);
enum_value = (enum_type)other_value;
}

TimerIdentifierType::TimerIdentifierType(enum_type other_value)
{
enum_value = other_value;
}

TimerIdentifierType::TimerIdentifierType(const TimerIdentifierType& other_value)
: Base_Type()
{
if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
enum_value = other_value.enum_value;
}

TimerIdentifierType& TimerIdentifierType::operator=(int other_value)
{
if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @SCCP_Emulation.TimerIdentifierType.", other_value);
enum_value = (enum_type)other_value;
return *this;
}

TimerIdentifierType& TimerIdentifierType::operator=(enum_type other_value)
{
enum_value = other_value;
return *this;
}

TimerIdentifierType& TimerIdentifierType::operator=(const TimerIdentifierType& other_value)
{
if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
enum_value = other_value.enum_value;
return *this;
}

boolean TimerIdentifierType::operator==(enum_type other_value) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value == other_value;
}

boolean TimerIdentifierType::operator==(const TimerIdentifierType& other_value) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value == other_value.enum_value;
}

boolean TimerIdentifierType::operator<(enum_type other_value) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value < other_value;
}

boolean TimerIdentifierType::operator<(const TimerIdentifierType& other_value) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value < other_value.enum_value;
}

boolean TimerIdentifierType::operator>(enum_type other_value) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value > other_value;
}

boolean TimerIdentifierType::operator>(const TimerIdentifierType& other_value) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value > other_value.enum_value;
}

const char *TimerIdentifierType::enum_to_str(enum_type enum_par)
{
switch (enum_par) {
case conn__est: return "conn_est";
case ias: return "ias";
case iar: return "iar";
case rel: return "rel";
case repeat__rel: return "repeat_rel";
case int_: return "int";
case reset: return "reset";
case internal__reset: return "internal_reset";
case t__guard: return "t_guard";
default: return "<unknown>";
}
}

TimerIdentifierType::enum_type TimerIdentifierType::str_to_enum(const char *str_par)
{
if (!strcmp(str_par, "conn_est")) return conn__est;
else if (!strcmp(str_par, "ias")) return ias;
else if (!strcmp(str_par, "iar")) return iar;
else if (!strcmp(str_par, "rel")) return rel;
else if (!strcmp(str_par, "repeat_rel")) return repeat__rel;
else if (!strcmp(str_par, "int")) return int_;
else if (!strcmp(str_par, "reset")) return reset;
else if (!strcmp(str_par, "internal_reset")) return internal__reset;
else if (!strcmp(str_par, "t_guard")) return t__guard;
else return UNKNOWN_VALUE;
}

boolean TimerIdentifierType::is_valid_enum(int int_par)
{
switch (int_par) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
return TRUE;
default:
return FALSE;
}
}

int TimerIdentifierType::enum2int(enum_type enum_par)
{
if (enum_par==UNBOUND_VALUE || enum_par==UNKNOWN_VALUE) TTCN_error("The argument of function enum2int() is an %s value of enumerated type @SCCP_Emulation.TimerIdentifierType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
return enum_par;
}

int TimerIdentifierType::enum2int(const TimerIdentifierType& enum_par)
{
if (enum_par.enum_value==UNBOUND_VALUE || enum_par.enum_value==UNKNOWN_VALUE) TTCN_error("The argument of function enum2int() is an %s value of enumerated type @SCCP_Emulation.TimerIdentifierType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
return enum_par.enum_value;
}

void TimerIdentifierType::int2enum(int int_val)
{
if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @SCCP_Emulation.TimerIdentifierType.", int_val);
enum_value = (enum_type)int_val;
}

TimerIdentifierType::operator TimerIdentifierType::enum_type() const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return enum_value;
}

void TimerIdentifierType::log() const
{
if (enum_value != UNBOUND_VALUE) TTCN_Logger::log_event_enum(enum_to_str(enum_value), enum_value);
else TTCN_Logger::log_event_unbound();
}

void TimerIdentifierType::set_param(Module_Param& param)
{
  param.basic_check(Module_Param::BC_VALUE, "enumerated value");
  if (param.get_type()!=Module_Param::MP_Enumerated) param.type_error("enumerated value", "@SCCP_Emulation.TimerIdentifierType");
  enum_value = str_to_enum(param.get_enumerated());
  if (!is_valid_enum(enum_value)) {
    param.error("Invalid enumerated value for type @SCCP_Emulation.TimerIdentifierType.");
  }
}

void TimerIdentifierType::encode_text(Text_Buf& text_buf) const
{
if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
text_buf.push_int(enum_value);
}

void TimerIdentifierType::decode_text(Text_Buf& text_buf)
{
enum_value = (enum_type)text_buf.pull_int().get_val();
if (!is_valid_enum(enum_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for enumerated type @SCCP_Emulation.TimerIdentifierType.", enum_value);
}

void TimerIdentifierType_template::copy_template(const TimerIdentifierType_template& other_value)
{
set_selection(other_value);
switch (template_selection) {
case SPECIFIC_VALUE:
single_value = other_value.single_value;
break;
case OMIT_VALUE:
case ANY_VALUE:
case ANY_OR_OMIT:
break;
case VALUE_LIST:
case COMPLEMENTED_LIST:
case CONJUNCTION_MATCH:
value_list.n_values = other_value.value_list.n_values;
value_list.list_value = new TimerIdentifierType_template[value_list.n_values];
for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++)
value_list.list_value[list_count].copy_template(other_value.value_list.list_value[list_count]);
break;
case IMPLICATION_MATCH:
implication_.precondition = new TimerIdentifierType_template(*other_value.implication_.precondition);
implication_.implied_template = new TimerIdentifierType_template(*other_value.implication_.implied_template);
break;
case DYNAMIC_MATCH:
dyn_match = other_value.dyn_match;
dyn_match->ref_count++;
break;
default:
TTCN_error("Copying an uninitialized/unsupported template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
}
}

TimerIdentifierType_template::TimerIdentifierType_template()
{
}

TimerIdentifierType_template::TimerIdentifierType_template(template_sel other_value)
 : Base_Template(other_value)
{
check_single_selection(other_value);
}

TimerIdentifierType_template::TimerIdentifierType_template(int other_value)
 : Base_Template(SPECIFIC_VALUE)
{
if (!TimerIdentifierType::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @SCCP_Emulation.TimerIdentifierType with unknown numeric value %d.", other_value);
single_value = (TimerIdentifierType::enum_type)other_value;
}

TimerIdentifierType_template::TimerIdentifierType_template(TimerIdentifierType::enum_type other_value)
 : Base_Template(SPECIFIC_VALUE)
{
single_value = other_value;
}

TimerIdentifierType_template::TimerIdentifierType_template(const TimerIdentifierType& other_value)
 : Base_Template(SPECIFIC_VALUE)
{
if (other_value.enum_value == TimerIdentifierType::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType.");
single_value = other_value.enum_value;
}

TimerIdentifierType_template::TimerIdentifierType_template(const OPTIONAL<TimerIdentifierType>& other_value)
{
switch (other_value.get_selection()) {
case OPTIONAL_PRESENT:
set_selection(SPECIFIC_VALUE);
single_value = (TimerIdentifierType::enum_type)(const TimerIdentifierType&)other_value;
break;
case OPTIONAL_OMIT:
set_selection(OMIT_VALUE);
break;
default:
TTCN_error("Creating a template of enumerated type @SCCP_Emulation.TimerIdentifierType from an unbound optional field.");
}
}

TimerIdentifierType_template::TimerIdentifierType_template(TimerIdentifierType_template* p_precondition, TimerIdentifierType_template* p_implied_template)
 : Base_Template(IMPLICATION_MATCH)
{
implication_.precondition = p_precondition;
implication_.implied_template = p_implied_template;
}

TimerIdentifierType_template::TimerIdentifierType_template(Dynamic_Match_Interface<TimerIdentifierType>* p_dyn_match)
 : Base_Template(DYNAMIC_MATCH)
{
dyn_match = new dynmatch_struct<TimerIdentifierType>;
dyn_match->ptr = p_dyn_match;
dyn_match->ref_count = 1;
}

TimerIdentifierType_template::TimerIdentifierType_template(const TimerIdentifierType_template& other_value)
 : Base_Template()
{
copy_template(other_value);
}

TimerIdentifierType_template::~TimerIdentifierType_template()
{
clean_up();
}

boolean TimerIdentifierType_template::is_bound() const
{
if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
return TRUE;
}

boolean TimerIdentifierType_template::is_value() const
{
if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
return single_value != TimerIdentifierType::UNBOUND_VALUE;
}

void TimerIdentifierType_template::clean_up()
{
switch (template_selection) {
case VALUE_LIST:
case COMPLEMENTED_LIST:
case CONJUNCTION_MATCH:
delete [] value_list.list_value;
break;
case IMPLICATION_MATCH:
delete implication_.precondition;
delete implication_.implied_template;
break;
case DYNAMIC_MATCH:
dyn_match->ref_count--;
if (dyn_match->ref_count == 0) {
delete dyn_match->ptr;
delete dyn_match;
}
break;
default:
break;
}
template_selection = UNINITIALIZED_TEMPLATE;
}

TimerIdentifierType_template& TimerIdentifierType_template::operator=(template_sel other_value)
{
check_single_selection(other_value);
clean_up();
set_selection(other_value);
return *this;
}

TimerIdentifierType_template& TimerIdentifierType_template::operator=(int other_value)
{
if (!TimerIdentifierType::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @SCCP_Emulation.TimerIdentifierType.", other_value);
clean_up();
set_selection(SPECIFIC_VALUE);
single_value = (TimerIdentifierType::enum_type)other_value;
return *this;
}

TimerIdentifierType_template& TimerIdentifierType_template::operator=(TimerIdentifierType::enum_type other_value)
{
clean_up();
set_selection(SPECIFIC_VALUE);
single_value = other_value;
return *this;
}

TimerIdentifierType_template& TimerIdentifierType_template::operator=(const TimerIdentifierType& other_value)
{
if (other_value.enum_value == TimerIdentifierType::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @SCCP_Emulation.TimerIdentifierType to a template.");
clean_up();
set_selection(SPECIFIC_VALUE);
single_value = other_value.enum_value;
return *this;
}

TimerIdentifierType_template& TimerIdentifierType_template::operator=(const OPTIONAL<TimerIdentifierType>& other_value)
{
clean_up();
switch (other_value.get_selection()) {
case OPTIONAL_PRESENT:
set_selection(SPECIFIC_VALUE);
single_value = (TimerIdentifierType::enum_type)(const TimerIdentifierType&)other_value;
break;
case OPTIONAL_OMIT:
set_selection(OMIT_VALUE);
break;
default:
TTCN_error("Assignment of an unbound optional field to a template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
}
return *this;
}

TimerIdentifierType_template& TimerIdentifierType_template::operator=(const TimerIdentifierType_template& other_value)
{
if (&other_value != this) {
clean_up();
copy_template(other_value);
}
return *this;
}

boolean TimerIdentifierType_template::match(TimerIdentifierType::enum_type other_value, boolean) const
{
switch (template_selection) {
case SPECIFIC_VALUE:
return single_value == other_value;
case OMIT_VALUE:
return FALSE;
case ANY_VALUE:
case ANY_OR_OMIT:
return TRUE;
case VALUE_LIST:
case COMPLEMENTED_LIST:
for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++)
if (value_list.list_value[list_count].match(other_value)) return template_selection == VALUE_LIST;
return template_selection == COMPLEMENTED_LIST;
case CONJUNCTION_MATCH:
for (unsigned int i = 0; i < value_list.n_values; i++) {
if (!value_list.list_value[i].match(other_value)) {
return FALSE;
}
}
return TRUE;
case IMPLICATION_MATCH:
return !implication_.precondition->match(other_value) || implication_.implied_template->match(other_value);
case DYNAMIC_MATCH:
return dyn_match->ptr->match(other_value);
default:
TTCN_error("Matching an uninitialized/unsupported template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
}
return FALSE;
}

boolean TimerIdentifierType_template::match(const TimerIdentifierType& other_value, boolean) const
{
if (other_value.enum_value == TimerIdentifierType::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @SCCP_Emulation.TimerIdentifierType with an unbound value.");
return match(other_value.enum_value);
}

TimerIdentifierType::enum_type TimerIdentifierType_template::valueof() const
{
if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return single_value;
}

void TimerIdentifierType_template::set_type(template_sel template_type, unsigned int list_length)
{
if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST && template_type != CONJUNCTION_MATCH) TTCN_error("Setting an invalid list type for a template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
clean_up();
set_selection(template_type);
value_list.n_values = list_length;
value_list.list_value = new TimerIdentifierType_template[list_length];
}

TimerIdentifierType_template& TimerIdentifierType_template::list_item(unsigned int list_index)
{
if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST && template_selection != CONJUNCTION_MATCH) TTCN_error("Accessing a list element in a non-list template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
return value_list.list_value[list_index];
}

void TimerIdentifierType_template::log() const
{
switch (template_selection) {
case SPECIFIC_VALUE:
TTCN_Logger::log_event_enum(TimerIdentifierType::enum_to_str(single_value), single_value);
break;
case COMPLEMENTED_LIST:
TTCN_Logger::log_event_str("complement");
case CONJUNCTION_MATCH:
if (template_selection == CONJUNCTION_MATCH) {
TTCN_Logger::log_event_str("conjunct");
}
case VALUE_LIST:
TTCN_Logger::log_char('(');
for (unsigned int elem_count = 0; elem_count < value_list.n_values; elem_count++) {
if (elem_count > 0) TTCN_Logger::log_event_str(", ");
value_list.list_value[elem_count].log();
}
TTCN_Logger::log_char(')');
break;
case IMPLICATION_MATCH:
implication_.precondition->log();
TTCN_Logger::log_event_str(" implies ");
implication_.implied_template->log();
break;
case DYNAMIC_MATCH:
TTCN_Logger::log_event_str("@dynamic template");
break;
default:
log_generic();
}
log_ifpresent();
}

void TimerIdentifierType_template::log_match(const TimerIdentifierType& match_value, boolean) const
{
match_value.log();
TTCN_Logger::log_event_str(" with ");
log();
if (match(match_value)) TTCN_Logger::log_event_str(" matched");
else TTCN_Logger::log_event_str(" unmatched");
}

void TimerIdentifierType_template::encode_text(Text_Buf& text_buf) const
{
encode_text_base(text_buf);
switch (template_selection) {
case SPECIFIC_VALUE:
text_buf.push_int(single_value);
case OMIT_VALUE:
case ANY_VALUE:
case ANY_OR_OMIT:
break;
case VALUE_LIST:
case COMPLEMENTED_LIST:
text_buf.push_int(value_list.n_values);
for (unsigned int elem_count = 0; elem_count < value_list.n_values; elem_count++)
value_list.list_value[elem_count].encode_text(text_buf);
break;
default:
TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
}
}

void TimerIdentifierType_template::decode_text(Text_Buf& text_buf)
{
clean_up();
decode_text_base(text_buf);
switch (template_selection) {
case SPECIFIC_VALUE:
single_value = (TimerIdentifierType::enum_type)text_buf.pull_int().get_val();
if (!TimerIdentifierType::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @SCCP_Emulation.TimerIdentifierType.", single_value);
case OMIT_VALUE:
case ANY_VALUE:
case ANY_OR_OMIT:
break;
case VALUE_LIST:
case COMPLEMENTED_LIST:
value_list.n_values = text_buf.pull_int().get_val();
value_list.list_value = new TimerIdentifierType_template[value_list.n_values];
for (unsigned int elem_count = 0; elem_count < value_list.n_values; elem_count++)
value_list.list_value[elem_count].decode_text(text_buf);
break;
default:
TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of enumerated type @SCCP_Emulation.TimerIdentifierType.");
}
}

boolean TimerIdentifierType_template::is_present(boolean legacy) const
{
if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
return !match_omit(legacy);
}

boolean TimerIdentifierType_template::match_omit(boolean legacy) const
{
if (is_ifpresent) return TRUE;
switch (template_selection) {
case OMIT_VALUE:
case ANY_OR_OMIT:
return TRUE;
case IMPLICATION_MATCH:
return !implication_.precondition->match_omit() || implication_.implied_template->match_omit();
case VALUE_LIST:
case COMPLEMENTED_LIST:
if (legacy) {
for (unsigned int i=0; i<value_list.n_values; i++)
if (value_list.list_value[i].match_omit())
return template_selection==VALUE_LIST;
return template_selection==COMPLEMENTED_LIST;
} // else fall through
default:
return FALSE;
}
return FALSE;
}

void TimerIdentifierType_template::set_param(Module_Param& param)
{
  param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
  Module_Param_Ptr m_p = &param;
  switch (m_p->get_type()) {
  case Module_Param::MP_Omit:
    *this = OMIT_VALUE;
    break;
  case Module_Param::MP_Any:
    *this = ANY_VALUE;
    break;
  case Module_Param::MP_AnyOrNone:
    *this = ANY_OR_OMIT;
    break;
  case Module_Param::MP_List_Template:
  case Module_Param::MP_ComplementList_Template:
  case Module_Param::MP_ConjunctList_Template: {
    TimerIdentifierType_template new_temp;
    new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : (m_p->get_type() == Module_Param::MP_ConjunctList_Template ? CONJUNCTION_MATCH : COMPLEMENTED_LIST), m_p->get_size());
    for (size_t p_i=0; p_i<m_p->get_size(); p_i++) {
      new_temp.list_item(p_i).set_param(*m_p->get_elem(p_i));
    }
    *this = new_temp;
    break; }
  case Module_Param::MP_Enumerated: {
    TimerIdentifierType::enum_type enum_val = TimerIdentifierType::str_to_enum(m_p->get_enumerated());
    if (!TimerIdentifierType::is_valid_enum(enum_val)) {
      param.error("Invalid enumerated value for type @SCCP_Emulation.TimerIdentifierType.");
    }
    *this = enum_val;
  } break;
  case Module_Param::MP_Implication_Template: {
    TimerIdentifierType_template* precondition = new TimerIdentifierType_template;
    precondition->set_param(*m_p->get_elem(0));
    TimerIdentifierType_template* implied_template = new TimerIdentifierType_template;
    implied_template->set_param(*m_p->get_elem(1));
    *this = TimerIdentifierType_template(precondition, implied_template);
  } break;
  default:
    param.type_error("enumerated template", "@SCCP_Emulation.TimerIdentifierType");
  }
  is_ifpresent = param.get_ifpresent();
}

void TimerIdentifierType_template::check_restriction(template_res t_res, const char* t_name,
boolean legacy) const
{
if (template_selection==UNINITIALIZED_TEMPLATE) return;
switch ((t_name&&(t_res==TR_VALUE))?TR_OMIT:t_res) {
case TR_VALUE:
if (!is_ifpresent && template_selection==SPECIFIC_VALUE) return;
break;
case TR_OMIT:
if (!is_ifpresent && (template_selection==OMIT_VALUE || template_selection==SPECIFIC_VALUE)) return;
break;
case TR_PRESENT:
if (!match_omit(legacy)) return;
break;
default:
return;
}
TTCN_error("Restriction `%s' on template of type %s violated.", get_res_name(t_res), t_name ? t_name : "@SCCP_Emulation.TimerIdentifierType");
}


/* Bodies of functions, altsteps and testcases */

SCCP__Types::PDU__SCCP__ConnectionRequest_template t__PDU__SCCP__ConnectionRequest(const OCTETSTRING& pl__SLR, const SCCP__Types::SCCP__param__ProtocolClass& pl__Proto__Class, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledAddress, const SCCP__Types::SCCP__param__Credit__opt_template& pl__credit, const SCCP__Types::SCCP__param__CPartyAddressEnc__opt_template& pl__CallingAddress, const SCCP__Types::SCCP__param__Data__opt_template& pl__Data, const SCCP__Types::SCCP__param__HopCounter__opt_template& pl__HopCntr, const SCCP__Types::SCCP__param__Importance__opt_template& pl__Imp, const SCCP__Types::SCCP__param__EndOfOptionalParams_template& pl__eop)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 405, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ConnectionRequest");
SCCP__Types::PDU__SCCP__ConnectionRequest_template ret_val;
ret_val.messageType() = SCCP__Types::cr;
ret_val.sourceLocRef() = pl__SLR;
ret_val.protClass() = pl__Proto__Class;
ret_val.pointer1() = 2;
ret_val.pointer2() = 0;
ret_val.calledPAddress() = pl__CalledAddress;
{
SCCP__Types::SCCP__ConnReq__optionalPart_template& tmp_0 = ret_val.optionalPart();
tmp_0.credit() = pl__credit;
tmp_0.callingPAddress() = pl__CallingAddress;
tmp_0.data() = pl__Data;
tmp_0.hopCounter() = pl__HopCntr;
tmp_0.importance() = pl__Imp;
}
ret_val.eop() = pl__eop;
return ret_val;
}

SCCP__Types::PDU__SCCP__ConnectionConfirm_template t__PDU__SCCP__ConnectionConfirm(const OCTETSTRING& pl__DLR, const OCTETSTRING& pl__SLR, const SCCP__Types::SCCP__param__ProtocolClass& pl__Proto__Class, const SCCP__Types::SCCP__param__Credit__opt_template& pl__credit, const SCCP__Types::SCCP__param__CPartyAddressEnc__opt_template& pl__CalledAddress, const SCCP__Types::SCCP__param__Data__opt_template& pl__Data, const SCCP__Types::SCCP__param__Importance__opt_template& pl__Imp, const SCCP__Types::SCCP__param__EndOfOptionalParams_template& pl__eop)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 444, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ConnectionConfirm");
SCCP__Types::PDU__SCCP__ConnectionConfirm_template ret_val;
ret_val.messageType() = SCCP__Types::cc;
ret_val.destLocRef() = pl__DLR;
ret_val.sourceLocRef() = pl__SLR;
ret_val.protClass() = pl__Proto__Class;
ret_val.pointer1() = 1;
{
SCCP__Types::SCCP__ConnConfirm__optionalPart_template& tmp_1 = ret_val.optionalPart();
tmp_1.credit() = pl__credit;
tmp_1.calledPAddress() = pl__CalledAddress;
tmp_1.data() = pl__Data;
tmp_1.importance() = pl__Imp;
}
ret_val.eop() = pl__eop;
return ret_val;
}

SCCP__Types::PDU__SCCP__ConnectionRefused_template t__PDU__SCCP__ConnectionRefused(const OCTETSTRING& pl__DLR, const INTEGER& pl__RefCause, const SCCP__Types::SCCP__param__CPartyAddressEnc__opt_template& pl__CalledAddress, const SCCP__Types::SCCP__param__Data__opt_template& pl__Data, const SCCP__Types::SCCP__param__Importance__opt_template& pl__Imp, const SCCP__Types::SCCP__param__EndOfOptionalParams_template& pl__eop)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 478, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ConnectionRefused");
SCCP__Types::PDU__SCCP__ConnectionRefused_template ret_val;
ret_val.messageType() = SCCP__Types::cref;
ret_val.destLocRef() = pl__DLR;
ret_val.refusalCause() = pl__RefCause;
ret_val.pointer1() = 1;
{
SCCP__Types::SCCP__ConnRefused__optionalPart_template& tmp_2 = ret_val.optionalPart();
tmp_2.calledPAddress() = pl__CalledAddress;
tmp_2.data() = pl__Data;
tmp_2.importance() = pl__Imp;
}
ret_val.eop() = pl__eop;
return ret_val;
}

SCCP__Types::PDU__SCCP__Released_template t__PDU__SCCP__Released(const OCTETSTRING& pl__DLR, const OCTETSTRING& pl__SLR, const INTEGER& pl__RelCause, const SCCP__Types::SCCP__param__Data__opt_template& pl__Data, const SCCP__Types::SCCP__param__Importance__opt_template& pl__Imp, const SCCP__Types::SCCP__param__EndOfOptionalParams_template& pl__eop)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 509, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_Released");
SCCP__Types::PDU__SCCP__Released_template ret_val;
ret_val.messageType() = SCCP__Types::rlsd;
ret_val.destLocRef() = pl__DLR;
ret_val.sourceLocRef() = pl__SLR;
ret_val.releaseCause() = pl__RelCause;
ret_val.pointer1() = 1;
{
SCCP__Types::SCCP__Released__optionalPart_template& tmp_3 = ret_val.optionalPart();
tmp_3.data() = pl__Data;
tmp_3.importance() = pl__Imp;
}
ret_val.eop() = pl__eop;
return ret_val;
}

SCCP__Types::PDU__SCCP__ReleaseComplete_template t__PDU__SCCP__ReleaseComplete(const OCTETSTRING& pl__DLR, const OCTETSTRING& pl__SLR)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 537, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ReleaseComplete");
SCCP__Types::PDU__SCCP__ReleaseComplete_template ret_val;
ret_val.messageType() = SCCP__Types::rlc;
ret_val.destLocRef() = pl__DLR;
ret_val.sourceLocRef() = pl__SLR;
return ret_val;
}

SCCP__Types::PDU__SCCP__DataForm1_template t__PDU__SCCP__DataForm1(const OCTETSTRING& pl__DLR, const SCCP__Types::SCCP__param__SegmentingReassembl& pl__SegmReasm, const SCCP__Types::SCCP__param__Data& pl__Data)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 556, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_DataForm1");
SCCP__Types::PDU__SCCP__DataForm1_template ret_val;
ret_val.messageType() = SCCP__Types::dt1;
ret_val.destLocRef() = pl__DLR;
ret_val.segmentingReassembl() = pl__SegmReasm;
ret_val.pointer1() = 1;
ret_val.data() = pl__Data;
return ret_val;
}

SCCP__Types::PDU__SCCP__Unitdata_template t__PDU__SCCP__Unitdata(const SCCP__Types::SCCP__param__ProtocolClass& pl__Proto__Class, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CallingAddress, const SCCP__Types::SCCP__param__Data& pl__Data)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 593, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_Unitdata");
SCCP__Types::PDU__SCCP__Unitdata_template ret_val;
ret_val.messageType() = SCCP__Types::udt;
ret_val.protClass() = pl__Proto__Class;
ret_val.pointer1() = 3;
ret_val.pointer2() = 0;
ret_val.pointer3() = 0;
ret_val.calledPAddress() = pl__CalledAddress;
ret_val.callingPAddress() = pl__CallingAddress;
ret_val.data() = pl__Data;
return ret_val;
}

SCCP__Types::PDU__SCCP__UnitdataService_template t__PDU__SCCP__UnitdataService(const INTEGER& pl__RetCause, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CallingAddress, const SCCP__Types::SCCP__param__Data& pl__Data)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 619, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_UnitdataService");
SCCP__Types::PDU__SCCP__UnitdataService_template ret_val;
ret_val.messageType() = SCCP__Types::udts;
ret_val.returnCause() = pl__RetCause;
ret_val.pointer1() = 3;
ret_val.pointer2() = 0;
ret_val.pointer3() = 0;
ret_val.calledPAddress() = pl__CalledAddress;
ret_val.callingPAddress() = pl__CallingAddress;
ret_val.data() = pl__Data;
return ret_val;
}

SCCP__Types::PDU__SCCP__ResetRequest_template t__PDU__SCCP__ResetRequest(const OCTETSTRING& pl__DLR, const OCTETSTRING& pl__SLR, const INTEGER& pl__ResCause)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 658, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ResetRequest");
SCCP__Types::PDU__SCCP__ResetRequest_template ret_val;
ret_val.messageType() = SCCP__Types::rsr;
ret_val.destLocRef() = pl__DLR;
ret_val.sourceLocRef() = pl__SLR;
ret_val.resetCause() = pl__ResCause;
return ret_val;
}

SCCP__Types::PDU__SCCP__ResetConfirm_template t__PDU__SCCP__ResetConfirm(const OCTETSTRING& pl__DLR, const OCTETSTRING& pl__SLR)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 678, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ResetConfirm");
SCCP__Types::PDU__SCCP__ResetConfirm_template ret_val;
ret_val.messageType() = SCCP__Types::rsr;
ret_val.destLocRef() = pl__DLR;
ret_val.sourceLocRef() = pl__SLR;
return ret_val;
}

SCCP__Types::PDU__SCCP__ProtDataUnitError_template t__PDU__SCCP__ProtDataUnitError(const OCTETSTRING& pl__DLR, const INTEGER& pl__ErrCause)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 695, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ProtDataUnitError");
SCCP__Types::PDU__SCCP__ProtDataUnitError_template ret_val;
ret_val.messageType() = SCCP__Types::rsr;
ret_val.destLocRef() = pl__DLR;
ret_val.errorCause() = pl__ErrCause;
return ret_val;
}

SCCP__Types::PDU__SCCP__InactivityTest_template t__PDU__SCCP__InactivityTest(const OCTETSTRING& pl__DLR, const OCTETSTRING& pl__SLR, const SCCP__Types::SCCP__param__ProtocolClass& pl__Proto__Class, const SCCP__Types::SCCP__param__SequencingSegmenting& pl__SeqSegm, const OCTETSTRING& pl__credit)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 713, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_InactivityTest");
SCCP__Types::PDU__SCCP__InactivityTest_template ret_val;
ret_val.messageType() = SCCP__Types::it;
ret_val.destLocRef() = pl__DLR;
ret_val.sourceLocRef() = pl__SLR;
ret_val.protClass() = pl__Proto__Class;
ret_val.sequencingSegmenting() = pl__SeqSegm;
ret_val.credit() = pl__credit;
return ret_val;
}

SCCP__Types::PDU__SCCP__ExtUnitdata_template t__PDU__SCCP__ExtUnitdata(const SCCP__Types::SCCP__param__ProtocolClass& pl__Proto__Class, const INTEGER& pl__hopCounter, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__calledPAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__callingPAddress, const SCCP__Types::SCCP__param__Data& pl__data, const SCCP__Types::SCCP__param__Segmentation__opt_template& pl__segm, const SCCP__Types::SCCP__param__Importance__opt_template& pl__imp)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 736, TTCN_Location::LOCATION_TEMPLATE, "t_PDU_SCCP_ExtUnitdata");
SCCP__Types::PDU__SCCP__ExtUnitdata_template ret_val;
ret_val.messageType() = SCCP__Types::xudt;
ret_val.protClass() = pl__Proto__Class;
ret_val.hopCounter() = pl__hopCounter;
ret_val.pointer1() = 0;
ret_val.pointer2() = 0;
ret_val.pointer3() = 0;
ret_val.pointer4() = 0;
ret_val.calledPAddress() = pl__calledPAddress;
ret_val.callingPAddress() = pl__callingPAddress;
ret_val.data() = pl__data;
{
SCCP__Types::SCCP__ExtUnitdata__optionalPart_template& tmp_4 = ret_val.optionalPart();
tmp_4.segmentation() = pl__segm;
tmp_4.importance() = pl__imp;
}
ret_val.eop().paramName() = SCCP__Types::con__SCCP__eop;
return ret_val;
}

void f__StartTimer(const TimerIdentifierType& pl__TimerIdentifier, const INTEGER& pl__TimerIndex, const FLOAT& pl__duration)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1205, TTCN_Location::LOCATION_FUNCTION, "f_StartTimer");
{
const TimerIdentifierType &tmp_11 = pl__TimerIdentifier;
current_location.update_lineno(1210);
/* SCCP_Emulation.ttcn, line 1210 */
if(tmp_11 == TimerIdentifierType::conn__est) goto tmp_10_0;
current_location.update_lineno(1221);
/* SCCP_Emulation.ttcn, line 1221 */
if(tmp_11 == TimerIdentifierType::ias) goto tmp_10_1;
current_location.update_lineno(1232);
/* SCCP_Emulation.ttcn, line 1232 */
if(tmp_11 == TimerIdentifierType::iar) goto tmp_10_2;
current_location.update_lineno(1243);
/* SCCP_Emulation.ttcn, line 1243 */
if(tmp_11 == TimerIdentifierType::rel) goto tmp_10_3;
current_location.update_lineno(1254);
/* SCCP_Emulation.ttcn, line 1254 */
if(tmp_11 == TimerIdentifierType::repeat__rel) goto tmp_10_4;
current_location.update_lineno(1265);
/* SCCP_Emulation.ttcn, line 1265 */
if(tmp_11 == TimerIdentifierType::int_) goto tmp_10_5;
current_location.update_lineno(1276);
/* SCCP_Emulation.ttcn, line 1276 */
if(tmp_11 == TimerIdentifierType::reset) goto tmp_10_6;
current_location.update_lineno(1287);
/* SCCP_Emulation.ttcn, line 1287 */
if(tmp_11 == TimerIdentifierType::internal__reset) goto tmp_10_7;
current_location.update_lineno(1298);
/* SCCP_Emulation.ttcn, line 1298 */
if(tmp_11 == TimerIdentifierType::t__guard) goto tmp_10_8;
goto tmp_10_9;
tmp_10_0:
{
current_location.update_lineno(1212);
/* SCCP_Emulation.ttcn, line 1212 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1213);
/* SCCP_Emulation.ttcn, line 1213 */
SCCP__CT_component_T__conn__est[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__conn__est);
current_location.update_lineno(1214);
/* SCCP_Emulation.ttcn, line 1214 */
SCCP__CT_component_v__T__conn__est[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1217);
/* SCCP_Emulation.ttcn, line 1217 */
SCCP__CT_component_T__conn__est[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1218);
/* SCCP_Emulation.ttcn, line 1218 */
SCCP__CT_component_v__T__conn__est[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_1:
{
current_location.update_lineno(1223);
/* SCCP_Emulation.ttcn, line 1223 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1224);
/* SCCP_Emulation.ttcn, line 1224 */
SCCP__CT_component_T__ias[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__ias);
current_location.update_lineno(1225);
/* SCCP_Emulation.ttcn, line 1225 */
SCCP__CT_component_v__T__ias[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1228);
/* SCCP_Emulation.ttcn, line 1228 */
SCCP__CT_component_T__ias[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1229);
/* SCCP_Emulation.ttcn, line 1229 */
SCCP__CT_component_v__T__ias[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_2:
{
current_location.update_lineno(1234);
/* SCCP_Emulation.ttcn, line 1234 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1235);
/* SCCP_Emulation.ttcn, line 1235 */
SCCP__CT_component_T__iar[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__iar);
current_location.update_lineno(1236);
/* SCCP_Emulation.ttcn, line 1236 */
SCCP__CT_component_v__T__iar[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1239);
/* SCCP_Emulation.ttcn, line 1239 */
SCCP__CT_component_T__iar[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1240);
/* SCCP_Emulation.ttcn, line 1240 */
SCCP__CT_component_v__T__iar[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_3:
{
current_location.update_lineno(1245);
/* SCCP_Emulation.ttcn, line 1245 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1246);
/* SCCP_Emulation.ttcn, line 1246 */
SCCP__CT_component_T__rel[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__rel);
current_location.update_lineno(1247);
/* SCCP_Emulation.ttcn, line 1247 */
SCCP__CT_component_v__T__rel[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1250);
/* SCCP_Emulation.ttcn, line 1250 */
SCCP__CT_component_T__rel[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1251);
/* SCCP_Emulation.ttcn, line 1251 */
SCCP__CT_component_v__T__rel[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_4:
{
current_location.update_lineno(1256);
/* SCCP_Emulation.ttcn, line 1256 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1257);
/* SCCP_Emulation.ttcn, line 1257 */
SCCP__CT_component_T__repeat__rel[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__repeat__rel);
current_location.update_lineno(1258);
/* SCCP_Emulation.ttcn, line 1258 */
SCCP__CT_component_v__T__repeat__rel[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1261);
/* SCCP_Emulation.ttcn, line 1261 */
SCCP__CT_component_T__repeat__rel[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1262);
/* SCCP_Emulation.ttcn, line 1262 */
SCCP__CT_component_v__T__repeat__rel[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_5:
{
current_location.update_lineno(1267);
/* SCCP_Emulation.ttcn, line 1267 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1268);
/* SCCP_Emulation.ttcn, line 1268 */
SCCP__CT_component_T__int[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__int);
current_location.update_lineno(1269);
/* SCCP_Emulation.ttcn, line 1269 */
SCCP__CT_component_v__T__int[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1272);
/* SCCP_Emulation.ttcn, line 1272 */
SCCP__CT_component_T__int[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1273);
/* SCCP_Emulation.ttcn, line 1273 */
SCCP__CT_component_v__T__int[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_6:
{
current_location.update_lineno(1278);
/* SCCP_Emulation.ttcn, line 1278 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1279);
/* SCCP_Emulation.ttcn, line 1279 */
SCCP__CT_component_T__reset[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__reset);
current_location.update_lineno(1280);
/* SCCP_Emulation.ttcn, line 1280 */
SCCP__CT_component_v__T__reset[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1283);
/* SCCP_Emulation.ttcn, line 1283 */
SCCP__CT_component_T__reset[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1284);
/* SCCP_Emulation.ttcn, line 1284 */
SCCP__CT_component_v__T__reset[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_7:
{
current_location.update_lineno(1289);
/* SCCP_Emulation.ttcn, line 1289 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1290);
/* SCCP_Emulation.ttcn, line 1290 */
SCCP__CT_component_T__internal__reset[pl__TimerIndex].start(SCCP__Types::tspc__timer__T__internal__reset);
current_location.update_lineno(1291);
/* SCCP_Emulation.ttcn, line 1291 */
SCCP__CT_component_v__T__internal__reset[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1294);
/* SCCP_Emulation.ttcn, line 1294 */
SCCP__CT_component_T__internal__reset[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1295);
/* SCCP_Emulation.ttcn, line 1295 */
SCCP__CT_component_v__T__internal__reset[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_8:
{
current_location.update_lineno(1300);
/* SCCP_Emulation.ttcn, line 1300 */
if ((pl__duration < 0.0)) {
current_location.update_lineno(1301);
/* SCCP_Emulation.ttcn, line 1301 */
SCCP__CT_component_T__guard[pl__TimerIndex].start(SCCP__Types::tspc__timer__guard);
current_location.update_lineno(1302);
/* SCCP_Emulation.ttcn, line 1302 */
SCCP__CT_component_v__T__guard[pl__TimerIndex] = TRUE;
}
else {
current_location.update_lineno(1305);
/* SCCP_Emulation.ttcn, line 1305 */
SCCP__CT_component_T__guard[pl__TimerIndex].start(pl__duration);
current_location.update_lineno(1306);
/* SCCP_Emulation.ttcn, line 1306 */
SCCP__CT_component_v__T__guard[pl__TimerIndex] = TRUE;
}
goto tmp_10_end;
}
tmp_10_9:
{
current_location.update_lineno(1310);
/* SCCP_Emulation.ttcn, line 1310 */
TTCN_Logger::log_str(TTCN_USER, "Warning: Incorrect Timer!");
goto tmp_10_end;
}
tmp_10_end: /* empty */;
}
}

void start_f__StartTimer(const COMPONENT& component_reference, const TimerIdentifierType& pl__TimerIdentifier, const INTEGER& pl__TimerIndex, const FLOAT& pl__duration)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function f_StartTimer(");
pl__TimerIdentifier.log();
TTCN_Logger::log_event_str(", ");
pl__TimerIndex.log();
TTCN_Logger::log_event_str(", ");
pl__duration.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "f_StartTimer", text_buf);
pl__TimerIdentifier.encode_text(text_buf);
pl__TimerIndex.encode_text(text_buf);
pl__duration.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void f__StopTimer(const TimerIdentifierType& pl__TimerIdentifier, const INTEGER& pl__TimerIndex)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1314, TTCN_Location::LOCATION_FUNCTION, "f_StopTimer");
{
const TimerIdentifierType &tmp_31 = pl__TimerIdentifier;
current_location.update_lineno(1319);
/* SCCP_Emulation.ttcn, line 1319 */
if(tmp_31 == TimerIdentifierType::conn__est) goto tmp_30_0;
current_location.update_lineno(1324);
/* SCCP_Emulation.ttcn, line 1324 */
if(tmp_31 == TimerIdentifierType::ias) goto tmp_30_1;
current_location.update_lineno(1329);
/* SCCP_Emulation.ttcn, line 1329 */
if(tmp_31 == TimerIdentifierType::iar) goto tmp_30_2;
current_location.update_lineno(1334);
/* SCCP_Emulation.ttcn, line 1334 */
if(tmp_31 == TimerIdentifierType::rel) goto tmp_30_3;
current_location.update_lineno(1339);
/* SCCP_Emulation.ttcn, line 1339 */
if(tmp_31 == TimerIdentifierType::repeat__rel) goto tmp_30_4;
current_location.update_lineno(1344);
/* SCCP_Emulation.ttcn, line 1344 */
if(tmp_31 == TimerIdentifierType::int_) goto tmp_30_5;
current_location.update_lineno(1349);
/* SCCP_Emulation.ttcn, line 1349 */
if(tmp_31 == TimerIdentifierType::reset) goto tmp_30_6;
current_location.update_lineno(1354);
/* SCCP_Emulation.ttcn, line 1354 */
if(tmp_31 == TimerIdentifierType::internal__reset) goto tmp_30_7;
current_location.update_lineno(1359);
/* SCCP_Emulation.ttcn, line 1359 */
if(tmp_31 == TimerIdentifierType::t__guard) goto tmp_30_8;
goto tmp_30_9;
tmp_30_0:
{
current_location.update_lineno(1321);
/* SCCP_Emulation.ttcn, line 1321 */
SCCP__CT_component_T__conn__est[pl__TimerIndex].stop();
current_location.update_lineno(1322);
/* SCCP_Emulation.ttcn, line 1322 */
SCCP__CT_component_v__T__conn__est[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_1:
{
current_location.update_lineno(1326);
/* SCCP_Emulation.ttcn, line 1326 */
SCCP__CT_component_T__ias[pl__TimerIndex].stop();
current_location.update_lineno(1327);
/* SCCP_Emulation.ttcn, line 1327 */
SCCP__CT_component_v__T__ias[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_2:
{
current_location.update_lineno(1331);
/* SCCP_Emulation.ttcn, line 1331 */
SCCP__CT_component_T__iar[pl__TimerIndex].stop();
current_location.update_lineno(1332);
/* SCCP_Emulation.ttcn, line 1332 */
SCCP__CT_component_v__T__iar[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_3:
{
current_location.update_lineno(1336);
/* SCCP_Emulation.ttcn, line 1336 */
SCCP__CT_component_T__rel[pl__TimerIndex].stop();
current_location.update_lineno(1337);
/* SCCP_Emulation.ttcn, line 1337 */
SCCP__CT_component_v__T__rel[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_4:
{
current_location.update_lineno(1341);
/* SCCP_Emulation.ttcn, line 1341 */
SCCP__CT_component_T__repeat__rel[pl__TimerIndex].stop();
current_location.update_lineno(1342);
/* SCCP_Emulation.ttcn, line 1342 */
SCCP__CT_component_v__T__repeat__rel[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_5:
{
current_location.update_lineno(1346);
/* SCCP_Emulation.ttcn, line 1346 */
SCCP__CT_component_T__int[pl__TimerIndex].stop();
current_location.update_lineno(1347);
/* SCCP_Emulation.ttcn, line 1347 */
SCCP__CT_component_v__T__int[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_6:
{
current_location.update_lineno(1351);
/* SCCP_Emulation.ttcn, line 1351 */
SCCP__CT_component_T__reset[pl__TimerIndex].stop();
current_location.update_lineno(1352);
/* SCCP_Emulation.ttcn, line 1352 */
SCCP__CT_component_v__T__reset[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_7:
{
current_location.update_lineno(1356);
/* SCCP_Emulation.ttcn, line 1356 */
SCCP__CT_component_T__internal__reset[pl__TimerIndex].stop();
current_location.update_lineno(1357);
/* SCCP_Emulation.ttcn, line 1357 */
SCCP__CT_component_v__T__internal__reset[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_8:
{
current_location.update_lineno(1361);
/* SCCP_Emulation.ttcn, line 1361 */
SCCP__CT_component_T__guard[pl__TimerIndex].stop();
current_location.update_lineno(1362);
/* SCCP_Emulation.ttcn, line 1362 */
SCCP__CT_component_v__T__guard[pl__TimerIndex] = FALSE;
goto tmp_30_end;
}
tmp_30_9:
{
current_location.update_lineno(1365);
/* SCCP_Emulation.ttcn, line 1365 */
TTCN_Logger::log_str(TTCN_USER, "Warning: Incorrect Timer!");
goto tmp_30_end;
}
tmp_30_end: /* empty */;
}
}

void start_f__StopTimer(const COMPONENT& component_reference, const TimerIdentifierType& pl__TimerIdentifier, const INTEGER& pl__TimerIndex)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function f_StopTimer(");
pl__TimerIdentifier.log();
TTCN_Logger::log_event_str(", ");
pl__TimerIndex.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "f_StopTimer", text_buf);
pl__TimerIdentifier.encode_text(text_buf);
pl__TimerIndex.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void f__initialize__timer__states()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1370, TTCN_Location::LOCATION_FUNCTION, "f_initialize_timer_states");
current_location.update_lineno(1373);
/* SCCP_Emulation.ttcn, line 1373 */
INTEGER i;
current_location.update_lineno(1374);
/* SCCP_Emulation.ttcn, line 1374 */
i = 0;
current_location.update_lineno(1374);
/* SCCP_Emulation.ttcn, line 1374 */
for ( ; ; ) {
current_location.update_lineno(1374);
/* SCCP_Emulation.ttcn, line 1374 */
if (!(i < 16)) break;
current_location.update_lineno(1375);
/* SCCP_Emulation.ttcn, line 1375 */
SCCP__CT_component_v__T__conn__est[i] = FALSE;
current_location.update_lineno(1376);
/* SCCP_Emulation.ttcn, line 1376 */
SCCP__CT_component_v__T__ias[i] = FALSE;
current_location.update_lineno(1377);
/* SCCP_Emulation.ttcn, line 1377 */
SCCP__CT_component_v__T__iar[i] = FALSE;
current_location.update_lineno(1378);
/* SCCP_Emulation.ttcn, line 1378 */
SCCP__CT_component_v__T__rel[i] = FALSE;
current_location.update_lineno(1379);
/* SCCP_Emulation.ttcn, line 1379 */
SCCP__CT_component_v__T__repeat__rel[i] = FALSE;
current_location.update_lineno(1380);
/* SCCP_Emulation.ttcn, line 1380 */
SCCP__CT_component_v__T__int[i] = FALSE;
current_location.update_lineno(1381);
/* SCCP_Emulation.ttcn, line 1381 */
SCCP__CT_component_v__T__reset[i] = FALSE;
current_location.update_lineno(1382);
/* SCCP_Emulation.ttcn, line 1382 */
SCCP__CT_component_v__T__internal__reset[i] = FALSE;
current_location.update_lineno(1383);
/* SCCP_Emulation.ttcn, line 1383 */
SCCP__CT_component_v__T__guard[i] = FALSE;
current_location.update_lineno(1374);
/* SCCP_Emulation.ttcn, line 1374 */
{
INTEGER tmp_51;
++i;
}
}
}

void start_f__initialize__timer__states(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function f_initialize_timer_states(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "f_initialize_timer_states", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void SCCPStart(const SCCP__Types::MSC__SCCP__MTP3__parameters& pl__Boot)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1388, TTCN_Location::LOCATION_FUNCTION, "SCCPStart");
current_location.update_lineno(1392);
/* SCCP_Emulation.ttcn, line 1392 */
INTEGER vl__j;
current_location.update_lineno(1395);
/* SCCP_Emulation.ttcn, line 1395 */
SCCP__CT_component_v__segmLocRefIndex = 0;
current_location.update_lineno(1396);
/* SCCP_Emulation.ttcn, line 1396 */
SCCP__CT_component_v__reference = 0;
current_location.update_lineno(1397);
/* SCCP_Emulation.ttcn, line 1397 */
SCCP__CT_component_v__SIO = bit2oct(((const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).sio().ni() + const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).sio().prio()) + const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).sio().si()));
current_location.update_lineno(1398);
/* SCCP_Emulation.ttcn, line 1398 */
SCCP__CT_component_v__NI = (oct2int(SCCP__CT_component_v__SIO) / 64);
current_location.update_lineno(1399);
/* SCCP_Emulation.ttcn, line 1399 */
SCCP__CT_component_v__own__SPC = const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).opc();
current_location.update_lineno(1400);
/* SCCP_Emulation.ttcn, line 1400 */
SCCP__CT_component_v__remote__SPC = const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).dpc();
current_location.update_lineno(1401);
/* SCCP_Emulation.ttcn, line 1401 */
SCCP__CT_component_v__SLS = const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).sls();
current_location.update_lineno(1402);
/* SCCP_Emulation.ttcn, line 1402 */
SCCP__CT_component_v__SCCPServiceType = const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).sccp__serviceType();
current_location.update_lineno(1404);
/* SCCP_Emulation.ttcn, line 1404 */
{
boolean tmp_63;
{
boolean tmp_60 = pl__Boot.is_bound();
if(tmp_60) {
const OPTIONAL< INTEGER >& tmp_61 = pl__Boot.ssn();
switch (tmp_61.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_60 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_60 = FALSE;
break;
default:
{
const INTEGER& tmp_62 = (const INTEGER&) tmp_61;
tmp_60 = tmp_62.is_present();
break;}
}
}
tmp_63 = tmp_60;
}
if (tmp_63) {
current_location.update_lineno(1406);
/* SCCP_Emulation.ttcn, line 1406 */
SCCP__CT_component_v__SSN = const_cast< const SCCP__Types::MSC__SCCP__MTP3__parameters&>(pl__Boot).ssn();
}
else {
current_location.update_lineno(1410);
/* SCCP_Emulation.ttcn, line 1410 */
SCCP__CT_component_v__SSN = 0;
}
}
current_location.update_lineno(1412);
/* SCCP_Emulation.ttcn, line 1412 */
{
boolean tmp_66;
tmp_66 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__itu);
if (!tmp_66) tmp_66 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__itu);
if (tmp_66) {
current_location.update_lineno(1415);
/* SCCP_Emulation.ttcn, line 1415 */
SCCP__CT_component_v__RoutingLabelLen = 4;
}
else {
current_location.update_lineno(1417);
/* SCCP_Emulation.ttcn, line 1417 */
boolean tmp_68;
tmp_68 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__ansi);
if (!tmp_68) tmp_68 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__ansi);
if (tmp_68) {
current_location.update_lineno(1420);
/* SCCP_Emulation.ttcn, line 1420 */
SCCP__CT_component_v__RoutingLabelLen = 7;
}
else {
current_location.update_lineno(1422);
/* SCCP_Emulation.ttcn, line 1422 */
boolean tmp_70;
tmp_70 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__ttc);
if (!tmp_70) tmp_70 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__ttc);
if (tmp_70) {
current_location.update_lineno(1425);
/* SCCP_Emulation.ttcn, line 1425 */
if ((SCCP__CT_component_v__NI >= 2)) {
current_location.update_lineno(1425);
/* SCCP_Emulation.ttcn, line 1425 */
SCCP__CT_component_v__RoutingLabelLen = 5;
}
else {
current_location.update_lineno(1426);
/* SCCP_Emulation.ttcn, line 1426 */
SCCP__CT_component_v__RoutingLabelLen = 4;
}
}
else {
current_location.update_lineno(1428);
/* SCCP_Emulation.ttcn, line 1428 */
if ((SCCP__CT_component_v__SCCPServiceType == SCCP__Types::m3ua)) {
current_location.update_lineno(1430);
/* SCCP_Emulation.ttcn, line 1430 */
SCCP__CT_component_v__RoutingLabelLen = 4;
}
else {
current_location.update_lineno(1433);
/* SCCP_Emulation.ttcn, line 1433 */
if ((SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__mpt)) {
current_location.update_lineno(1435);
/* SCCP_Emulation.ttcn, line 1435 */
if ((SCCP__CT_component_v__NI == 2)) {
current_location.update_lineno(1435);
/* SCCP_Emulation.ttcn, line 1435 */
SCCP__CT_component_v__RoutingLabelLen = 7;
}
else {
current_location.update_lineno(1436);
/* SCCP_Emulation.ttcn, line 1436 */
SCCP__CT_component_v__RoutingLabelLen = 4;
}
}
else {
current_location.update_lineno(1440);
/* SCCP_Emulation.ttcn, line 1440 */
TTCN_Logger::log_str(TTCN_USER, "Wrong SCCPServiceType value was selected in the config file");
current_location.update_lineno(1441);
/* SCCP_Emulation.ttcn, line 1441 */
TTCN_Logger::log_str(TTCN_USER, "Modified for default value 'mtp3_itu'.");
current_location.update_lineno(1442);
/* SCCP_Emulation.ttcn, line 1442 */
SCCP__CT_component_v__SCCPServiceType = SCCP__Types::mtp3__itu;
current_location.update_lineno(1443);
/* SCCP_Emulation.ttcn, line 1443 */
SCCP__CT_component_v__RoutingLabelLen = 4;
}
}
}
}
}
}
current_location.update_lineno(1452);
/* SCCP_Emulation.ttcn, line 1452 */
SCCP__CT_component_v__sccp__pdu__maxlen = (tsp__SIF__MaxLength - SCCP__CT_component_v__RoutingLabelLen);
current_location.update_lineno(1453);
/* SCCP_Emulation.ttcn, line 1453 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("v_sccp_pdu_maxlen:");
SCCP__CT_component_v__sccp__pdu__maxlen.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(1454);
/* SCCP_Emulation.ttcn, line 1454 */
SCCP__CT_component_v__sccp__data__maxlen = (SCCP__CT_component_v__sccp__pdu__maxlen - 7);
current_location.update_lineno(1456);
/* SCCP_Emulation.ttcn, line 1456 */
vl__j = 0;
current_location.update_lineno(1456);
/* SCCP_Emulation.ttcn, line 1456 */
for ( ; ; ) {
current_location.update_lineno(1456);
/* SCCP_Emulation.ttcn, line 1456 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1458);
/* SCCP_Emulation.ttcn, line 1458 */
SCCP__CT_component_ConnectionTable[vl__j].localReference() = os_0;
current_location.update_lineno(1459);
/* SCCP_Emulation.ttcn, line 1459 */
SCCP__CT_component_ConnectionTable[vl__j].remoteReference() = os_0;
current_location.update_lineno(1460);
/* SCCP_Emulation.ttcn, line 1460 */
SCCP__CT_component_ConnectionTable[vl__j].state() = SCCP__Types::idle;
current_location.update_lineno(1461);
/* SCCP_Emulation.ttcn, line 1461 */
SCCP__CT_component_ConnectionTable[vl__j].connectionId() = 0;
current_location.update_lineno(1462);
/* SCCP_Emulation.ttcn, line 1462 */
SCCP__CT_component_ConnectionTable[vl__j].reassembler__buffer().buffer() = os_1;
current_location.update_lineno(1463);
/* SCCP_Emulation.ttcn, line 1463 */
SCCP__CT_component_ConnectionTable[vl__j].reassembler__buffer().actlen() = 0;
current_location.update_lineno(1464);
/* SCCP_Emulation.ttcn, line 1464 */
SCCP__CT_component_ConnectionTable[vl__j].reassembler__buffer().maxlen() = (16 * SCCP__CT_component_v__sccp__data__maxlen);
current_location.update_lineno(1465);
/* SCCP_Emulation.ttcn, line 1465 */
SCCP__CT_component_segmLocRefTable[vl__j] = os_0;
current_location.update_lineno(1466);
/* SCCP_Emulation.ttcn, line 1466 */
reallocate__ClessRcvBuff(vl__j);
current_location.update_lineno(1456);
/* SCCP_Emulation.ttcn, line 1456 */
{
INTEGER tmp_89;
++vl__j;
}
}
current_location.update_lineno(1471);
/* SCCP_Emulation.ttcn, line 1471 */
ScanEvents();
}

void start_SCCPStart(const COMPONENT& component_reference, const SCCP__Types::MSC__SCCP__MTP3__parameters& pl__Boot)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function SCCPStart(");
pl__Boot.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "SCCPStart", text_buf);
pl__Boot.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void ReleaseResources(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1476, TTCN_Location::LOCATION_FUNCTION, "ReleaseResources");
current_location.update_lineno(1481);
/* SCCP_Emulation.ttcn, line 1481 */
SCCP__CT_component_ConnectionTable[pl__session].remoteReference() = os_0;
current_location.update_lineno(1482);
/* SCCP_Emulation.ttcn, line 1482 */
SCCP__CT_component_ConnectionTable[pl__session].localReference() = os_0;
current_location.update_lineno(1483);
/* SCCP_Emulation.ttcn, line 1483 */
SCCP__CT_component_ConnectionTable[pl__session].connectionId() = 0;
current_location.update_lineno(1484);
/* SCCP_Emulation.ttcn, line 1484 */
Stop__sessionTimers(pl__session);
current_location.update_lineno(1485);
/* SCCP_Emulation.ttcn, line 1485 */
SCCP__CT_component_ConnectionTable[pl__session].state() = SCCP__Types::idle;
current_location.update_lineno(1486);
/* SCCP_Emulation.ttcn, line 1486 */
SCCP__CT_component_ConnectionTable[pl__session].reassembler__buffer().buffer() = os_1;
current_location.update_lineno(1487);
/* SCCP_Emulation.ttcn, line 1487 */
SCCP__CT_component_ConnectionTable[pl__session].reassembler__buffer().actlen() = 0;
}

void start_ReleaseResources(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ReleaseResources(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ReleaseResources", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void GuardTimer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1491, TTCN_Location::LOCATION_FUNCTION, "GuardTimer_Expired");
current_location.update_lineno(1497);
/* SCCP_Emulation.ttcn, line 1497 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(1501);
/* SCCP_Emulation.ttcn, line 1501 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(1505);
/* SCCP_Emulation.ttcn, line 1505 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(1506);
/* SCCP_Emulation.ttcn, line 1506 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].remoteReference();
current_location.update_lineno(1507);
/* SCCP_Emulation.ttcn, line 1507 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].localReference();
current_location.update_lineno(1508);
/* SCCP_Emulation.ttcn, line 1508 */
vl__PDU__SCCP.released().releaseCause() = 0;
current_location.update_lineno(1509);
/* SCCP_Emulation.ttcn, line 1509 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(1510);
/* SCCP_Emulation.ttcn, line 1510 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(1511);
/* SCCP_Emulation.ttcn, line 1511 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(1513);
/* SCCP_Emulation.ttcn, line 1513 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(1517);
/* SCCP_Emulation.ttcn, line 1517 */
ReleaseResources(pl__session);
}
}

void start_GuardTimer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function GuardTimer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "GuardTimer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void InternalResetTimer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1525, TTCN_Location::LOCATION_FUNCTION, "InternalResetTimer_Expired");
current_location.update_lineno(1530);
/* SCCP_Emulation.ttcn, line 1530 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(1531);
/* SCCP_Emulation.ttcn, line 1531 */
SCCPasp__Types::ASP__SCCP__N__RESET__ind vl__N__RESET__ind;
current_location.update_lineno(1535);
/* SCCP_Emulation.ttcn, line 1535 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::active)) {
current_location.update_lineno(1539);
/* SCCP_Emulation.ttcn, line 1539 */
vl__N__RESET__ind.originator() = 2;
current_location.update_lineno(1540);
/* SCCP_Emulation.ttcn, line 1540 */
vl__N__RESET__ind.reason() = 24;
current_location.update_lineno(1541);
/* SCCP_Emulation.ttcn, line 1541 */
vl__N__RESET__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].connectionId();
current_location.update_lineno(1543);
/* SCCP_Emulation.ttcn, line 1543 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__RESET__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__ind&>(vl__N__RESET__ind).originator()), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__ind&>(vl__N__RESET__ind).reason()), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__ind&>(vl__N__RESET__ind).connectionId())), NULL);
current_location.update_lineno(1550);
/* SCCP_Emulation.ttcn, line 1550 */
vl__PDU__SCCP.resetreq().messageType() = SCCP__Types::rsr;
current_location.update_lineno(1551);
/* SCCP_Emulation.ttcn, line 1551 */
vl__PDU__SCCP.resetreq().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].remoteReference();
current_location.update_lineno(1552);
/* SCCP_Emulation.ttcn, line 1552 */
vl__PDU__SCCP.resetreq().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].localReference();
current_location.update_lineno(1553);
/* SCCP_Emulation.ttcn, line 1553 */
vl__PDU__SCCP.resetreq().resetCause() = 0;
current_location.update_lineno(1555);
/* SCCP_Emulation.ttcn, line 1555 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(1560);
/* SCCP_Emulation.ttcn, line 1560 */
f__StartTimer(TimerIdentifierType::reset, pl__session, f__StartTimer_pl__duration_defval);
current_location.update_lineno(1562);
/* SCCP_Emulation.ttcn, line 1562 */
f__StopTimer(TimerIdentifierType::ias, pl__session);
current_location.update_lineno(1563);
/* SCCP_Emulation.ttcn, line 1563 */
f__StartTimer(TimerIdentifierType::ias, pl__session, f__StartTimer_pl__duration_defval);
current_location.update_lineno(1566);
/* SCCP_Emulation.ttcn, line 1566 */
SCCP__CT_component_ConnectionTable[pl__session].state() = SCCP__Types::reset__bothway;
}
}

void start_InternalResetTimer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function InternalResetTimer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "InternalResetTimer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void Reset__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1572, TTCN_Location::LOCATION_FUNCTION, "Reset_Timer_Expired");
current_location.update_lineno(1577);
/* SCCP_Emulation.ttcn, line 1577 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(1580);
/* SCCP_Emulation.ttcn, line 1580 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(1584);
/* SCCP_Emulation.ttcn, line 1584 */
vl__N__DISCONNECT__ind.originator() = 2;
current_location.update_lineno(1585);
/* SCCP_Emulation.ttcn, line 1585 */
vl__N__DISCONNECT__ind.reason() = 24;
current_location.update_lineno(1586);
/* SCCP_Emulation.ttcn, line 1586 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].connectionId();
current_location.update_lineno(1588);
/* SCCP_Emulation.ttcn, line 1588 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(1598);
/* SCCP_Emulation.ttcn, line 1598 */
ReleaseResources(pl__session);
}
}

void start_Reset__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Reset_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Reset_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void Interval__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1604, TTCN_Location::LOCATION_FUNCTION, "Interval_Timer_Expired");
current_location.update_lineno(1609);
/* SCCP_Emulation.ttcn, line 1609 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(1611);
/* SCCP_Emulation.ttcn, line 1611 */
TTCN_Logger::log_str(TTCN_USER, "Interval timer expired");
current_location.update_lineno(1613);
/* SCCP_Emulation.ttcn, line 1613 */
ReleaseResources(pl__session);
}
}

void start_Interval__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Interval_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Interval_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void RepeatRelease__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1621, TTCN_Location::LOCATION_FUNCTION, "RepeatRelease_Timer_Expired");
current_location.update_lineno(1626);
/* SCCP_Emulation.ttcn, line 1626 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(1629);
/* SCCP_Emulation.ttcn, line 1629 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(1632);
/* SCCP_Emulation.ttcn, line 1632 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(1633);
/* SCCP_Emulation.ttcn, line 1633 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].remoteReference();
current_location.update_lineno(1634);
/* SCCP_Emulation.ttcn, line 1634 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].localReference();
current_location.update_lineno(1635);
/* SCCP_Emulation.ttcn, line 1635 */
vl__PDU__SCCP.released().releaseCause() = 0;
current_location.update_lineno(1636);
/* SCCP_Emulation.ttcn, line 1636 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(1637);
/* SCCP_Emulation.ttcn, line 1637 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(1638);
/* SCCP_Emulation.ttcn, line 1638 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(1640);
/* SCCP_Emulation.ttcn, line 1640 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(1644);
/* SCCP_Emulation.ttcn, line 1644 */
f__StopTimer(TimerIdentifierType::repeat__rel, pl__session);
current_location.update_lineno(1645);
/* SCCP_Emulation.ttcn, line 1645 */
f__StartTimer(TimerIdentifierType::repeat__rel, pl__session, f__StartTimer_pl__duration_defval);
}
}

void start_RepeatRelease__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function RepeatRelease_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "RepeatRelease_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void Release__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1653, TTCN_Location::LOCATION_FUNCTION, "Release_Timer_Expired");
current_location.update_lineno(1658);
/* SCCP_Emulation.ttcn, line 1658 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(1661);
/* SCCP_Emulation.ttcn, line 1661 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(1664);
/* SCCP_Emulation.ttcn, line 1664 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(1665);
/* SCCP_Emulation.ttcn, line 1665 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].remoteReference();
current_location.update_lineno(1666);
/* SCCP_Emulation.ttcn, line 1666 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].localReference();
current_location.update_lineno(1667);
/* SCCP_Emulation.ttcn, line 1667 */
vl__PDU__SCCP.released().releaseCause() = 0;
current_location.update_lineno(1668);
/* SCCP_Emulation.ttcn, line 1668 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(1669);
/* SCCP_Emulation.ttcn, line 1669 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(1670);
/* SCCP_Emulation.ttcn, line 1670 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(1672);
/* SCCP_Emulation.ttcn, line 1672 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(1675);
/* SCCP_Emulation.ttcn, line 1675 */
f__StartTimer(TimerIdentifierType::repeat__rel, pl__session, f__StartTimer_pl__duration_defval);
current_location.update_lineno(1676);
/* SCCP_Emulation.ttcn, line 1676 */
f__StartTimer(TimerIdentifierType::int_, pl__session, f__StartTimer_pl__duration_defval);
}
}

void start_Release__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Release_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Release_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void ReceiveInactivity__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1685, TTCN_Location::LOCATION_FUNCTION, "ReceiveInactivity_Timer_Expired");
current_location.update_lineno(1689);
/* SCCP_Emulation.ttcn, line 1689 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(1690);
/* SCCP_Emulation.ttcn, line 1690 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(1693);
/* SCCP_Emulation.ttcn, line 1693 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::idle)) {
}
else {
current_location.update_lineno(1694);
/* SCCP_Emulation.ttcn, line 1694 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::active)) {
current_location.update_lineno(1697);
/* SCCP_Emulation.ttcn, line 1697 */
vl__N__DISCONNECT__ind.originator() = 2;
current_location.update_lineno(1698);
/* SCCP_Emulation.ttcn, line 1698 */
vl__N__DISCONNECT__ind.reason() = 22;
current_location.update_lineno(1699);
/* SCCP_Emulation.ttcn, line 1699 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].connectionId();
current_location.update_lineno(1701);
/* SCCP_Emulation.ttcn, line 1701 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(1711);
/* SCCP_Emulation.ttcn, line 1711 */
f__StopTimer(TimerIdentifierType::ias, pl__session);
current_location.update_lineno(1712);
/* SCCP_Emulation.ttcn, line 1712 */
f__StopTimer(TimerIdentifierType::iar, pl__session);
current_location.update_lineno(1716);
/* SCCP_Emulation.ttcn, line 1716 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(1717);
/* SCCP_Emulation.ttcn, line 1717 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].remoteReference();
current_location.update_lineno(1718);
/* SCCP_Emulation.ttcn, line 1718 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].localReference();
current_location.update_lineno(1719);
/* SCCP_Emulation.ttcn, line 1719 */
vl__PDU__SCCP.released().releaseCause() = 13;
current_location.update_lineno(1720);
/* SCCP_Emulation.ttcn, line 1720 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(1721);
/* SCCP_Emulation.ttcn, line 1721 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(1722);
/* SCCP_Emulation.ttcn, line 1722 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(1724);
/* SCCP_Emulation.ttcn, line 1724 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(1728);
/* SCCP_Emulation.ttcn, line 1728 */
f__StartTimer(TimerIdentifierType::rel, pl__session, f__StartTimer_pl__duration_defval);
current_location.update_lineno(1729);
/* SCCP_Emulation.ttcn, line 1729 */
SCCP__CT_component_ConnectionTable[pl__session].state() = SCCP__Types::disconnect__pending;
}
}
}

void start_ReceiveInactivity__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ReceiveInactivity_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ReceiveInactivity_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void SendInactivity__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1737, TTCN_Location::LOCATION_FUNCTION, "SendInactivity_Timer_Expired");
current_location.update_lineno(1742);
/* SCCP_Emulation.ttcn, line 1742 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(1746);
/* SCCP_Emulation.ttcn, line 1746 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::active)) {
current_location.update_lineno(1750);
/* SCCP_Emulation.ttcn, line 1750 */
vl__PDU__SCCP.inacttest().messageType() = SCCP__Types::it;
current_location.update_lineno(1751);
/* SCCP_Emulation.ttcn, line 1751 */
vl__PDU__SCCP.inacttest().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].remoteReference();
current_location.update_lineno(1752);
/* SCCP_Emulation.ttcn, line 1752 */
vl__PDU__SCCP.inacttest().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].localReference();
current_location.update_lineno(1754);
/* SCCP_Emulation.ttcn, line 1754 */
{
SCCP__Types::SCCP__param__ProtocolClass& tmp_143 = vl__PDU__SCCP.inacttest().protClass(); /* 7388 */
tmp_143.class_() = bs_2;
tmp_143.messageHandling() = bs_3;
}
current_location.update_lineno(1759);
/* SCCP_Emulation.ttcn, line 1759 */
{
SCCP__Types::SCCP__param__SequencingSegmenting& tmp_145 = vl__PDU__SCCP.inacttest().sequencingSegmenting(); /* 7388 */
tmp_145.reserved() = bs_1;
tmp_145.p__s() = bs_4;
tmp_145.more() = bs_1;
tmp_145.pr() = bs_4;
}
current_location.update_lineno(1766);
/* SCCP_Emulation.ttcn, line 1766 */
vl__PDU__SCCP.inacttest().credit() = os_2;
current_location.update_lineno(1769);
/* SCCP_Emulation.ttcn, line 1769 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(1773);
/* SCCP_Emulation.ttcn, line 1773 */
f__StopTimer(TimerIdentifierType::ias, pl__session);
current_location.update_lineno(1774);
/* SCCP_Emulation.ttcn, line 1774 */
f__StartTimer(TimerIdentifierType::ias, pl__session, f__StartTimer_pl__duration_defval);
}
}

void start_SendInactivity__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function SendInactivity_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "SendInactivity_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void Conn__Timer__Expired(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1781, TTCN_Location::LOCATION_FUNCTION, "Conn_Timer_Expired");
current_location.update_lineno(1786);
/* SCCP_Emulation.ttcn, line 1786 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(1788);
/* SCCP_Emulation.ttcn, line 1788 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(1791);
/* SCCP_Emulation.ttcn, line 1791 */
vl__N__DISCONNECT__ind.originator() = 2;
current_location.update_lineno(1792);
/* SCCP_Emulation.ttcn, line 1792 */
vl__N__DISCONNECT__ind.reason() = 24;
current_location.update_lineno(1793);
/* SCCP_Emulation.ttcn, line 1793 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].connectionId();
current_location.update_lineno(1795);
/* SCCP_Emulation.ttcn, line 1795 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(1805);
/* SCCP_Emulation.ttcn, line 1805 */
ReleaseResources(pl__session);
}
else {
current_location.update_lineno(1807);
/* SCCP_Emulation.ttcn, line 1807 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[pl__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(1809);
/* SCCP_Emulation.ttcn, line 1809 */
ReleaseResources(pl__session);
}
}
}

void start_Conn__Timer__Expired(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Conn_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Conn_Timer_Expired", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

OCTETSTRING GenerateLocalReference()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1815, TTCN_Location::LOCATION_FUNCTION, "GenerateLocalReference");
current_location.update_lineno(1818);
/* SCCP_Emulation.ttcn, line 1818 */
OCTETSTRING vl__LocalReference;
for ( ; ; ) {
current_location.update_lineno(1822);
/* SCCP_Emulation.ttcn, line 1822 */
vl__LocalReference = int2oct(float2int((rnd() * tsp__maxLocalReference)), 3);
current_location.update_lineno(1824);
/* SCCP_Emulation.ttcn, line 1824 */
if (!(Retrieve__session(vl__LocalReference) != -1)) break;
}
current_location.update_lineno(1825);
/* SCCP_Emulation.ttcn, line 1825 */
return vl__LocalReference;
}

void start_GenerateLocalReference(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function GenerateLocalReference(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "GenerateLocalReference", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER GenerateConnectionId()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1830, TTCN_Location::LOCATION_FUNCTION, "GenerateConnectionId");
current_location.update_lineno(1833);
/* SCCP_Emulation.ttcn, line 1833 */
INTEGER vl__ConnectionId;
for ( ; ; ) {
current_location.update_lineno(1835);
/* SCCP_Emulation.ttcn, line 1835 */
vl__ConnectionId = float2int((rnd() * tsp__max__ConnectionId));
current_location.update_lineno(1836);
/* SCCP_Emulation.ttcn, line 1836 */
if (!(Retrieve__session__connectionId(vl__ConnectionId) != -1)) break;
}
current_location.update_lineno(1838);
/* SCCP_Emulation.ttcn, line 1838 */
return vl__ConnectionId;
}

void start_GenerateConnectionId(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function GenerateConnectionId(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "GenerateConnectionId", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void Stop__sessionTimers(const INTEGER& pl__session)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1842, TTCN_Location::LOCATION_FUNCTION, "Stop_sessionTimers");
current_location.update_lineno(1845);
/* SCCP_Emulation.ttcn, line 1845 */
if (SCCP__CT_component_T__conn__est[pl__session].running(NULL)) {
current_location.update_lineno(1846);
/* SCCP_Emulation.ttcn, line 1846 */
f__StopTimer(TimerIdentifierType::conn__est, pl__session);
}
current_location.update_lineno(1847);
/* SCCP_Emulation.ttcn, line 1847 */
if (SCCP__CT_component_T__ias[pl__session].running(NULL)) {
current_location.update_lineno(1848);
/* SCCP_Emulation.ttcn, line 1848 */
f__StopTimer(TimerIdentifierType::ias, pl__session);
}
current_location.update_lineno(1849);
/* SCCP_Emulation.ttcn, line 1849 */
if (SCCP__CT_component_T__iar[pl__session].running(NULL)) {
current_location.update_lineno(1850);
/* SCCP_Emulation.ttcn, line 1850 */
f__StopTimer(TimerIdentifierType::iar, pl__session);
}
current_location.update_lineno(1851);
/* SCCP_Emulation.ttcn, line 1851 */
if (SCCP__CT_component_T__rel[pl__session].running(NULL)) {
current_location.update_lineno(1852);
/* SCCP_Emulation.ttcn, line 1852 */
f__StopTimer(TimerIdentifierType::rel, pl__session);
}
current_location.update_lineno(1853);
/* SCCP_Emulation.ttcn, line 1853 */
if (SCCP__CT_component_T__repeat__rel[pl__session].running(NULL)) {
current_location.update_lineno(1854);
/* SCCP_Emulation.ttcn, line 1854 */
f__StopTimer(TimerIdentifierType::repeat__rel, pl__session);
}
current_location.update_lineno(1855);
/* SCCP_Emulation.ttcn, line 1855 */
if (SCCP__CT_component_T__int[pl__session].running(NULL)) {
current_location.update_lineno(1856);
/* SCCP_Emulation.ttcn, line 1856 */
f__StopTimer(TimerIdentifierType::int_, pl__session);
}
current_location.update_lineno(1859);
/* SCCP_Emulation.ttcn, line 1859 */
if (SCCP__CT_component_T__reset[pl__session].running(NULL)) {
current_location.update_lineno(1860);
/* SCCP_Emulation.ttcn, line 1860 */
f__StopTimer(TimerIdentifierType::reset, pl__session);
}
}

void start_Stop__sessionTimers(const COMPONENT& component_reference, const INTEGER& pl__session)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Stop_sessionTimers(");
pl__session.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Stop_sessionTimers", text_buf);
pl__session.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER CheckIdleIndividuals()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1866, TTCN_Location::LOCATION_FUNCTION, "CheckIdleIndividuals");
current_location.update_lineno(1869);
/* SCCP_Emulation.ttcn, line 1869 */
INTEGER vl__j;
current_location.update_lineno(1870);
/* SCCP_Emulation.ttcn, line 1870 */
vl__j = 0;
current_location.update_lineno(1870);
/* SCCP_Emulation.ttcn, line 1870 */
for ( ; ; ) {
current_location.update_lineno(1870);
/* SCCP_Emulation.ttcn, line 1870 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1872);
/* SCCP_Emulation.ttcn, line 1872 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].state() == SCCP__Types::idle)) {
current_location.update_lineno(1874);
/* SCCP_Emulation.ttcn, line 1874 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("First idle individual index:");
vl__j.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(1875);
/* SCCP_Emulation.ttcn, line 1875 */
return vl__j;
}
current_location.update_lineno(1870);
/* SCCP_Emulation.ttcn, line 1870 */
{
INTEGER tmp_153;
++vl__j;
}
}
current_location.update_lineno(1878);
/* SCCP_Emulation.ttcn, line 1878 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("ERROR: Unable to find idle individual index, ConnectionTable full, length ");
{
INTEGER tmp_154(16);
tmp_154.log();
}
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(1879);
/* SCCP_Emulation.ttcn, line 1879 */
return -1;
}

void start_CheckIdleIndividuals(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function CheckIdleIndividuals(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "CheckIdleIndividuals", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

BOOLEAN ConnectionAlreadyEstablished(const OCTETSTRING& pl__LocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1884, TTCN_Location::LOCATION_FUNCTION, "ConnectionAlreadyEstablished");
current_location.update_lineno(1887);
/* SCCP_Emulation.ttcn, line 1887 */
INTEGER vl__j;
current_location.update_lineno(1888);
/* SCCP_Emulation.ttcn, line 1888 */
vl__j = 0;
current_location.update_lineno(1888);
/* SCCP_Emulation.ttcn, line 1888 */
for ( ; ; ) {
current_location.update_lineno(1888);
/* SCCP_Emulation.ttcn, line 1888 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1890);
/* SCCP_Emulation.ttcn, line 1890 */
{
boolean tmp_156;
tmp_156 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].state() != SCCP__Types::idle);
if (tmp_156) tmp_156 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].localReference() == pl__LocRef);
if (tmp_156) {
current_location.update_lineno(1893);
/* SCCP_Emulation.ttcn, line 1893 */
return TRUE;
}
}
current_location.update_lineno(1888);
/* SCCP_Emulation.ttcn, line 1888 */
{
INTEGER tmp_157;
++vl__j;
}
}
current_location.update_lineno(1896);
/* SCCP_Emulation.ttcn, line 1896 */
return FALSE;
}

void start_ConnectionAlreadyEstablished(const COMPONENT& component_reference, const OCTETSTRING& pl__LocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConnectionAlreadyEstablished(");
pl__LocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConnectionAlreadyEstablished", text_buf);
pl__LocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

BOOLEAN ConnectionAlreadyEstablished__remote(const OCTETSTRING& pl__LocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1901, TTCN_Location::LOCATION_FUNCTION, "ConnectionAlreadyEstablished_remote");
current_location.update_lineno(1904);
/* SCCP_Emulation.ttcn, line 1904 */
INTEGER vl__j;
current_location.update_lineno(1906);
/* SCCP_Emulation.ttcn, line 1906 */
vl__j = 0;
current_location.update_lineno(1906);
/* SCCP_Emulation.ttcn, line 1906 */
for ( ; ; ) {
current_location.update_lineno(1906);
/* SCCP_Emulation.ttcn, line 1906 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1908);
/* SCCP_Emulation.ttcn, line 1908 */
{
boolean tmp_159;
tmp_159 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].state() != SCCP__Types::idle);
if (tmp_159) tmp_159 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].remoteReference() == pl__LocRef);
if (tmp_159) {
current_location.update_lineno(1911);
/* SCCP_Emulation.ttcn, line 1911 */
return TRUE;
}
}
current_location.update_lineno(1906);
/* SCCP_Emulation.ttcn, line 1906 */
{
INTEGER tmp_160;
++vl__j;
}
}
current_location.update_lineno(1914);
/* SCCP_Emulation.ttcn, line 1914 */
return FALSE;
}

void start_ConnectionAlreadyEstablished__remote(const COMPONENT& component_reference, const OCTETSTRING& pl__LocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConnectionAlreadyEstablished_remote(");
pl__LocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConnectionAlreadyEstablished_remote", text_buf);
pl__LocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

BOOLEAN ConnectionAlreadyEstablished__connectionId(const INTEGER& pl__ConnId)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1919, TTCN_Location::LOCATION_FUNCTION, "ConnectionAlreadyEstablished_connectionId");
current_location.update_lineno(1922);
/* SCCP_Emulation.ttcn, line 1922 */
INTEGER vl__j;
current_location.update_lineno(1923);
/* SCCP_Emulation.ttcn, line 1923 */
vl__j = 0;
current_location.update_lineno(1923);
/* SCCP_Emulation.ttcn, line 1923 */
for ( ; ; ) {
current_location.update_lineno(1923);
/* SCCP_Emulation.ttcn, line 1923 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1925);
/* SCCP_Emulation.ttcn, line 1925 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].connectionId() == pl__ConnId)) {
current_location.update_lineno(1927);
/* SCCP_Emulation.ttcn, line 1927 */
return TRUE;
}
current_location.update_lineno(1923);
/* SCCP_Emulation.ttcn, line 1923 */
{
INTEGER tmp_162;
++vl__j;
}
}
current_location.update_lineno(1931);
/* SCCP_Emulation.ttcn, line 1931 */
return FALSE;
}

void start_ConnectionAlreadyEstablished__connectionId(const COMPONENT& component_reference, const INTEGER& pl__ConnId)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConnectionAlreadyEstablished_connectionId(");
pl__ConnId.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConnectionAlreadyEstablished_connectionId", text_buf);
pl__ConnId.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER Retrieve__session(const OCTETSTRING& pl__LocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1936, TTCN_Location::LOCATION_FUNCTION, "Retrieve_session");
current_location.update_lineno(1939);
/* SCCP_Emulation.ttcn, line 1939 */
INTEGER vl__j;
current_location.update_lineno(1940);
/* SCCP_Emulation.ttcn, line 1940 */
vl__j = 0;
current_location.update_lineno(1940);
/* SCCP_Emulation.ttcn, line 1940 */
for ( ; ; ) {
current_location.update_lineno(1940);
/* SCCP_Emulation.ttcn, line 1940 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1943);
/* SCCP_Emulation.ttcn, line 1943 */
{
boolean tmp_164;
tmp_164 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].state() != SCCP__Types::idle);
if (tmp_164) tmp_164 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].localReference() == pl__LocRef);
if (tmp_164) {
current_location.update_lineno(1946);
/* SCCP_Emulation.ttcn, line 1946 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("Session index based on local reference:");
vl__j.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(1947);
/* SCCP_Emulation.ttcn, line 1947 */
return vl__j;
}
}
current_location.update_lineno(1940);
/* SCCP_Emulation.ttcn, line 1940 */
{
INTEGER tmp_165;
++vl__j;
}
}
current_location.update_lineno(1951);
/* SCCP_Emulation.ttcn, line 1951 */
return -1;
}

void start_Retrieve__session(const COMPONENT& component_reference, const OCTETSTRING& pl__LocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Retrieve_session(");
pl__LocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Retrieve_session", text_buf);
pl__LocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER Retrieve__session__remote(const OCTETSTRING& pl__LocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1956, TTCN_Location::LOCATION_FUNCTION, "Retrieve_session_remote");
current_location.update_lineno(1960);
/* SCCP_Emulation.ttcn, line 1960 */
INTEGER vl__j;
current_location.update_lineno(1961);
/* SCCP_Emulation.ttcn, line 1961 */
vl__j = 0;
current_location.update_lineno(1961);
/* SCCP_Emulation.ttcn, line 1961 */
for ( ; ; ) {
current_location.update_lineno(1961);
/* SCCP_Emulation.ttcn, line 1961 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1963);
/* SCCP_Emulation.ttcn, line 1963 */
{
boolean tmp_167;
tmp_167 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].state() != SCCP__Types::idle);
if (tmp_167) tmp_167 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].remoteReference() == pl__LocRef);
if (tmp_167) {
current_location.update_lineno(1966);
/* SCCP_Emulation.ttcn, line 1966 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("Session index based on remote reference:");
vl__j.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(1967);
/* SCCP_Emulation.ttcn, line 1967 */
return vl__j;
}
}
current_location.update_lineno(1961);
/* SCCP_Emulation.ttcn, line 1961 */
{
INTEGER tmp_168;
++vl__j;
}
}
current_location.update_lineno(1970);
/* SCCP_Emulation.ttcn, line 1970 */
return -1;
}

void start_Retrieve__session__remote(const COMPONENT& component_reference, const OCTETSTRING& pl__LocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Retrieve_session_remote(");
pl__LocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Retrieve_session_remote", text_buf);
pl__LocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER Retrieve__session__connectionId(const INTEGER& pl__ConnId)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 1975, TTCN_Location::LOCATION_FUNCTION, "Retrieve_session_connectionId");
current_location.update_lineno(1979);
/* SCCP_Emulation.ttcn, line 1979 */
INTEGER vl__j;
current_location.update_lineno(1980);
/* SCCP_Emulation.ttcn, line 1980 */
vl__j = 0;
current_location.update_lineno(1980);
/* SCCP_Emulation.ttcn, line 1980 */
for ( ; ; ) {
current_location.update_lineno(1980);
/* SCCP_Emulation.ttcn, line 1980 */
if (!(vl__j < 16)) break;
current_location.update_lineno(1982);
/* SCCP_Emulation.ttcn, line 1982 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[vl__j].connectionId() == pl__ConnId)) {
current_location.update_lineno(1984);
/* SCCP_Emulation.ttcn, line 1984 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("Session index based on connection ID:");
vl__j.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(1985);
/* SCCP_Emulation.ttcn, line 1985 */
return vl__j;
}
current_location.update_lineno(1980);
/* SCCP_Emulation.ttcn, line 1980 */
{
INTEGER tmp_170;
++vl__j;
}
}
current_location.update_lineno(1988);
/* SCCP_Emulation.ttcn, line 1988 */
return -1;
}

void start_Retrieve__session__connectionId(const COMPONENT& component_reference, const INTEGER& pl__ConnId)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Retrieve_session_connectionId(");
pl__ConnId.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "Retrieve_session_connectionId", text_buf);
pl__ConnId.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

BOOLEAN exist__segmLocalRef(const OCTETSTRING& pl__segLocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2005, TTCN_Location::LOCATION_FUNCTION, "exist_segmLocalRef");
current_location.update_lineno(2008);
/* SCCP_Emulation.ttcn, line 2008 */
if ((get__segmLocalRefIndex(pl__segLocRef) == -1)) {
current_location.update_lineno(2008);
/* SCCP_Emulation.ttcn, line 2008 */
return FALSE;
}
else {
current_location.update_lineno(2009);
/* SCCP_Emulation.ttcn, line 2009 */
return TRUE;
}
}

void start_exist__segmLocalRef(const COMPONENT& component_reference, const OCTETSTRING& pl__segLocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function exist_segmLocalRef(");
pl__segLocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "exist_segmLocalRef", text_buf);
pl__segLocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER get__segmLocalRefIndex(const OCTETSTRING& pl__segmLocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2016, TTCN_Location::LOCATION_FUNCTION, "get_segmLocalRefIndex");
current_location.update_lineno(2019);
/* SCCP_Emulation.ttcn, line 2019 */
INTEGER vl__j;
current_location.update_lineno(2020);
/* SCCP_Emulation.ttcn, line 2020 */
vl__j = 0;
current_location.update_lineno(2020);
/* SCCP_Emulation.ttcn, line 2020 */
for ( ; ; ) {
current_location.update_lineno(2020);
/* SCCP_Emulation.ttcn, line 2020 */
if (!(vl__j < 16)) break;
current_location.update_lineno(2022);
/* SCCP_Emulation.ttcn, line 2022 */
if ((const_cast< const VALUE_ARRAY<OCTETSTRING, 16, 0>&>(SCCP__CT_component_segmLocRefTable)[vl__j] == pl__segmLocRef)) {
current_location.update_lineno(2022);
/* SCCP_Emulation.ttcn, line 2022 */
return vl__j;
}
current_location.update_lineno(2020);
/* SCCP_Emulation.ttcn, line 2020 */
{
INTEGER tmp_172;
++vl__j;
}
}
current_location.update_lineno(2024);
/* SCCP_Emulation.ttcn, line 2024 */
return -1;
}

void start_get__segmLocalRefIndex(const COMPONENT& component_reference, const OCTETSTRING& pl__segmLocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function get_segmLocalRefIndex(");
pl__segmLocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "get_segmLocalRefIndex", text_buf);
pl__segmLocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void reset__segmLocalRef(const OCTETSTRING& pl__segmLocRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2030, TTCN_Location::LOCATION_FUNCTION, "reset_segmLocalRef");
current_location.update_lineno(2033);
/* SCCP_Emulation.ttcn, line 2033 */
INTEGER vl__j;
current_location.update_lineno(2034);
/* SCCP_Emulation.ttcn, line 2034 */
vl__j = get__segmLocalRefIndex(pl__segmLocRef);
current_location.update_lineno(2035);
/* SCCP_Emulation.ttcn, line 2035 */
SCCP__CT_component_segmLocRefTable[vl__j] = os_0;
}

void start_reset__segmLocalRef(const COMPONENT& component_reference, const OCTETSTRING& pl__segmLocRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function reset_segmLocalRef(");
pl__segmLocRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "reset_segmLocalRef", text_buf);
pl__segmLocRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

OCTETSTRING create__segmLocalRef()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2042, TTCN_Location::LOCATION_FUNCTION, "create_segmLocalRef");
current_location.update_lineno(2045);
/* SCCP_Emulation.ttcn, line 2045 */
OCTETSTRING vl__segmLocRef;
current_location.update_lineno(2046);
/* SCCP_Emulation.ttcn, line 2046 */
{
INTEGER tmp_175;
tmp_175 = mod((SCCP__CT_component_v__segmLocRefIndex + 1), 16);
SCCP__CT_component_v__segmLocRefIndex = tmp_175;
}
for ( ; ; ) {
current_location.update_lineno(2049);
/* SCCP_Emulation.ttcn, line 2049 */
vl__segmLocRef = int2oct(float2int((rnd() * tsp__maxLocalReference)), 3);
current_location.update_lineno(2051);
/* SCCP_Emulation.ttcn, line 2051 */
if (!exist__segmLocalRef(vl__segmLocRef)) break;
}
current_location.update_lineno(2053);
/* SCCP_Emulation.ttcn, line 2053 */
return vl__segmLocRef;
}

void start_create__segmLocalRef(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function create_segmLocalRef(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "create_segmLocalRef", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

BOOLEAN exist__ClessRcvBuff(const OCTETSTRING& pl__segmRemRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2063, TTCN_Location::LOCATION_FUNCTION, "exist_ClessRcvBuff");
current_location.update_lineno(2066);
/* SCCP_Emulation.ttcn, line 2066 */
if ((get__ClessRcvBuffIndex(pl__segmRemRef) == -1)) {
current_location.update_lineno(2066);
/* SCCP_Emulation.ttcn, line 2066 */
return FALSE;
}
else {
current_location.update_lineno(2067);
/* SCCP_Emulation.ttcn, line 2067 */
return TRUE;
}
}

void start_exist__ClessRcvBuff(const COMPONENT& component_reference, const OCTETSTRING& pl__segmRemRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function exist_ClessRcvBuff(");
pl__segmRemRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "exist_ClessRcvBuff", text_buf);
pl__segmRemRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER get__ClessRcvBuffIndex(const OCTETSTRING& pl__segmRemRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2073, TTCN_Location::LOCATION_FUNCTION, "get_ClessRcvBuffIndex");
current_location.update_lineno(2076);
/* SCCP_Emulation.ttcn, line 2076 */
INTEGER vl__j;
current_location.update_lineno(2077);
/* SCCP_Emulation.ttcn, line 2077 */
vl__j = 0;
current_location.update_lineno(2077);
/* SCCP_Emulation.ttcn, line 2077 */
for ( ; ; ) {
current_location.update_lineno(2077);
/* SCCP_Emulation.ttcn, line 2077 */
if (!(vl__j < 16)) break;
current_location.update_lineno(2079);
/* SCCP_Emulation.ttcn, line 2079 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ClessRcvBuff, 16, 0>&>(SCCP__CT_component_ClessRcvBuffTable)[vl__j].segmRemoteRef() == pl__segmRemRef)) {
current_location.update_lineno(2080);
/* SCCP_Emulation.ttcn, line 2080 */
return vl__j;
}
current_location.update_lineno(2077);
/* SCCP_Emulation.ttcn, line 2077 */
{
INTEGER tmp_178;
++vl__j;
}
}
current_location.update_lineno(2082);
/* SCCP_Emulation.ttcn, line 2082 */
return -1;
}

void start_get__ClessRcvBuffIndex(const COMPONENT& component_reference, const OCTETSTRING& pl__segmRemRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function get_ClessRcvBuffIndex(");
pl__segmRemRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "get_ClessRcvBuffIndex", text_buf);
pl__segmRemRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER get__idle__ClessRcvBuffIndex()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2088, TTCN_Location::LOCATION_FUNCTION, "get_idle_ClessRcvBuffIndex");
current_location.update_lineno(2091);
/* SCCP_Emulation.ttcn, line 2091 */
INTEGER vl__j;
current_location.update_lineno(2092);
/* SCCP_Emulation.ttcn, line 2092 */
vl__j = 0;
current_location.update_lineno(2092);
/* SCCP_Emulation.ttcn, line 2092 */
for ( ; ; ) {
current_location.update_lineno(2092);
/* SCCP_Emulation.ttcn, line 2092 */
if (!(vl__j < 16)) break;
current_location.update_lineno(2094);
/* SCCP_Emulation.ttcn, line 2094 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ClessRcvBuff, 16, 0>&>(SCCP__CT_component_ClessRcvBuffTable)[vl__j].state() == SCCP__Types::segmLocRef__idle)) {
current_location.update_lineno(2094);
/* SCCP_Emulation.ttcn, line 2094 */
return vl__j;
}
current_location.update_lineno(2092);
/* SCCP_Emulation.ttcn, line 2092 */
{
INTEGER tmp_180;
++vl__j;
}
}
current_location.update_lineno(2096);
/* SCCP_Emulation.ttcn, line 2096 */
return -1;
}

void start_get__idle__ClessRcvBuffIndex(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function get_idle_ClessRcvBuffIndex(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "get_idle_ClessRcvBuffIndex", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

INTEGER allocate__ClessRcvBuff(const OCTETSTRING& pl__segmRemRef)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2102, TTCN_Location::LOCATION_FUNCTION, "allocate_ClessRcvBuff");
current_location.update_lineno(2105);
/* SCCP_Emulation.ttcn, line 2105 */
OCTETSTRING vl__segmRemRef;
current_location.update_lineno(2106);
/* SCCP_Emulation.ttcn, line 2106 */
INTEGER vl__j;
current_location.update_lineno(2108);
/* SCCP_Emulation.ttcn, line 2108 */
if (exist__ClessRcvBuff(pl__segmRemRef)) {
current_location.update_lineno(2108);
/* SCCP_Emulation.ttcn, line 2108 */
return -1;
}
current_location.update_lineno(2110);
/* SCCP_Emulation.ttcn, line 2110 */
vl__j = get__idle__ClessRcvBuffIndex();
current_location.update_lineno(2111);
/* SCCP_Emulation.ttcn, line 2111 */
SCCP__CT_component_ClessRcvBuffTable[vl__j].state() = SCCP__Types::segmLocRef__busy;
current_location.update_lineno(2112);
/* SCCP_Emulation.ttcn, line 2112 */
SCCP__CT_component_ClessRcvBuffTable[vl__j].segmRemoteRef() = pl__segmRemRef;
current_location.update_lineno(2113);
/* SCCP_Emulation.ttcn, line 2113 */
SCCP__CT_component_ClessRcvBuffTable[vl__j].reassembler__buffer().buffer() = os_1;
current_location.update_lineno(2114);
/* SCCP_Emulation.ttcn, line 2114 */
SCCP__CT_component_ClessRcvBuffTable[vl__j].reassembler__buffer().actlen() = 0;
current_location.update_lineno(2115);
/* SCCP_Emulation.ttcn, line 2115 */
return vl__j;
}

void start_allocate__ClessRcvBuff(const COMPONENT& component_reference, const OCTETSTRING& pl__segmRemRef)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function allocate_ClessRcvBuff(");
pl__segmRemRef.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "allocate_ClessRcvBuff", text_buf);
pl__segmRemRef.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void reallocate__ClessRcvBuff(const INTEGER& pl__index)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2121, TTCN_Location::LOCATION_FUNCTION, "reallocate_ClessRcvBuff");
current_location.update_lineno(2124);
/* SCCP_Emulation.ttcn, line 2124 */
SCCP__CT_component_ClessRcvBuffTable[pl__index].state() = SCCP__Types::segmLocRef__idle;
current_location.update_lineno(2126);
/* SCCP_Emulation.ttcn, line 2126 */
SCCP__CT_component_ClessRcvBuffTable[pl__index].segmRemoteRef() = os_0;
current_location.update_lineno(2127);
/* SCCP_Emulation.ttcn, line 2127 */
SCCP__CT_component_ClessRcvBuffTable[pl__index].reassembler__buffer().buffer() = os_1;
current_location.update_lineno(2128);
/* SCCP_Emulation.ttcn, line 2128 */
SCCP__CT_component_ClessRcvBuffTable[pl__index].reassembler__buffer().actlen() = 0;
current_location.update_lineno(2129);
/* SCCP_Emulation.ttcn, line 2129 */
return;
}

void start_reallocate__ClessRcvBuff(const COMPONENT& component_reference, const INTEGER& pl__index)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function reallocate_ClessRcvBuff(");
pl__index.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "reallocate_ClessRcvBuff", text_buf);
pl__index.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void store__segmData(const INTEGER& pl__index, const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2135, TTCN_Location::LOCATION_FUNCTION, "store_segmData");
current_location.update_lineno(2138);
/* SCCP_Emulation.ttcn, line 2138 */
{
OCTETSTRING tmp_190;
tmp_190 = (const_cast< const VALUE_ARRAY<SCCP__Types::ClessRcvBuff, 16, 0>&>(SCCP__CT_component_ClessRcvBuffTable)[pl__index].reassembler__buffer().buffer() + const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).data().data());
SCCP__CT_component_ClessRcvBuffTable[pl__index].reassembler__buffer().buffer() = tmp_190;
}
current_location.update_lineno(2141);
/* SCCP_Emulation.ttcn, line 2141 */
{
INTEGER tmp_191;
tmp_191 = (const_cast< const VALUE_ARRAY<SCCP__Types::ClessRcvBuff, 16, 0>&>(SCCP__CT_component_ClessRcvBuffTable)[pl__index].reassembler__buffer().actlen() + const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).data().paramLength());
SCCP__CT_component_ClessRcvBuffTable[pl__index].reassembler__buffer().actlen() = tmp_191;
}
}

void start_store__segmData(const COMPONENT& component_reference, const INTEGER& pl__index, const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function store_segmData(");
pl__index.log();
TTCN_Logger::log_event_str(", ");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "store_segmData", text_buf);
pl__index.encode_text(text_buf);
pl__PDU__SCCP__ExtUnitdata.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void send__ClessRcvBuff__in__N__UNITDATAind(const INTEGER& pl__index, const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2149, TTCN_Location::LOCATION_FUNCTION, "send_ClessRcvBuff_in_N_UNITDATAind");
current_location.update_lineno(2154);
/* SCCP_Emulation.ttcn, line 2154 */
SCCPasp__Types::ASP__SCCP__N__UNITDATA__ind vl__N__UNITDATA__ind;
current_location.update_lineno(2156);
/* SCCP_Emulation.ttcn, line 2156 */
vl__N__UNITDATA__ind.calledAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).calledPAddress());
current_location.update_lineno(2159);
/* SCCP_Emulation.ttcn, line 2159 */
vl__N__UNITDATA__ind.callingAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).callingPAddress());
current_location.update_lineno(2162);
/* SCCP_Emulation.ttcn, line 2162 */
vl__N__UNITDATA__ind.sequenceControl() = (bs_4 + const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).protClass().class_()[3]);
current_location.update_lineno(2164);
/* SCCP_Emulation.ttcn, line 2164 */
if ((const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).protClass().messageHandling() == bs_5)) {
current_location.update_lineno(2165);
/* SCCP_Emulation.ttcn, line 2165 */
vl__N__UNITDATA__ind.returnOption() = bs_6;
}
else {
current_location.update_lineno(2167);
/* SCCP_Emulation.ttcn, line 2167 */
vl__N__UNITDATA__ind.returnOption() = bs_7;
}
current_location.update_lineno(2169);
/* SCCP_Emulation.ttcn, line 2169 */
vl__N__UNITDATA__ind.userData() = const_cast< const VALUE_ARRAY<SCCP__Types::ClessRcvBuff, 16, 0>&>(SCCP__CT_component_ClessRcvBuffTable)[pl__index].reassembler__buffer().buffer();
current_location.update_lineno(2171);
/* SCCP_Emulation.ttcn, line 2171 */
vl__N__UNITDATA__ind.importance() = OMIT_VALUE;
current_location.update_lineno(2173);
/* SCCP_Emulation.ttcn, line 2173 */
SCCP__CT_component_SCCP__SP__PORT.send(vl__N__UNITDATA__ind, NULL);
current_location.update_lineno(2175);
/* SCCP_Emulation.ttcn, line 2175 */
return;
}

void start_send__ClessRcvBuff__in__N__UNITDATAind(const COMPONENT& component_reference, const INTEGER& pl__index, const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function send_ClessRcvBuff_in_N_UNITDATAind(");
pl__index.log();
TTCN_Logger::log_event_str(", ");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "send_ClessRcvBuff_in_N_UNITDATAind", text_buf);
pl__index.encode_text(text_buf);
pl__PDU__SCCP__ExtUnitdata.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void send__ClessData__in__N__UNITDATAind(const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2183, TTCN_Location::LOCATION_FUNCTION, "send_ClessData_in_N_UNITDATAind");
current_location.update_lineno(2187);
/* SCCP_Emulation.ttcn, line 2187 */
SCCPasp__Types::ASP__SCCP__N__UNITDATA__ind vl__N__UNITDATA__ind;
current_location.update_lineno(2189);
/* SCCP_Emulation.ttcn, line 2189 */
vl__N__UNITDATA__ind.calledAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).calledPAddress());
current_location.update_lineno(2192);
/* SCCP_Emulation.ttcn, line 2192 */
vl__N__UNITDATA__ind.callingAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).callingPAddress());
current_location.update_lineno(2195);
/* SCCP_Emulation.ttcn, line 2195 */
vl__N__UNITDATA__ind.sequenceControl() = (bs_4 + const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).protClass().class_()[3]);
current_location.update_lineno(2197);
/* SCCP_Emulation.ttcn, line 2197 */
if ((const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).protClass().messageHandling() == bs_5)) {
current_location.update_lineno(2198);
/* SCCP_Emulation.ttcn, line 2198 */
vl__N__UNITDATA__ind.returnOption() = bs_6;
}
else {
current_location.update_lineno(2200);
/* SCCP_Emulation.ttcn, line 2200 */
vl__N__UNITDATA__ind.returnOption() = bs_7;
}
current_location.update_lineno(2202);
/* SCCP_Emulation.ttcn, line 2202 */
vl__N__UNITDATA__ind.userData() = const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).data().data();
current_location.update_lineno(2204);
/* SCCP_Emulation.ttcn, line 2204 */
vl__N__UNITDATA__ind.importance() = OMIT_VALUE;
current_location.update_lineno(2206);
/* SCCP_Emulation.ttcn, line 2206 */
SCCP__CT_component_SCCP__SP__PORT.send(vl__N__UNITDATA__ind, NULL);
current_location.update_lineno(2207);
/* SCCP_Emulation.ttcn, line 2207 */
return;
}

void start_send__ClessData__in__N__UNITDATAind(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function send_ClessData_in_N_UNITDATAind(");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "send_ClessData_in_N_UNITDATAind", text_buf);
pl__PDU__SCCP__ExtUnitdata.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void sending__dataform1s__in__ASP__MTP__TRANSFERreqs(const SCCPasp__Types::ASP__SCCP__N__DATA__req& pl__N__DATA__req)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2225, TTCN_Location::LOCATION_FUNCTION, "sending_dataform1s_in_ASP_MTP_TRANSFERreqs");
current_location.update_lineno(2228);
/* SCCP_Emulation.ttcn, line 2228 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(2229);
/* SCCP_Emulation.ttcn, line 2229 */
INTEGER vl__len;
current_location.update_lineno(2230);
/* SCCP_Emulation.ttcn, line 2230 */
INTEGER vl__actdatalen;
current_location.update_lineno(2231);
/* SCCP_Emulation.ttcn, line 2231 */
OCTETSTRING vl__data;
current_location.update_lineno(2232);
/* SCCP_Emulation.ttcn, line 2232 */
INTEGER vl__from;
current_location.update_lineno(2233);
/* SCCP_Emulation.ttcn, line 2233 */
vl__data = const_cast< const SCCPasp__Types::ASP__SCCP__N__DATA__req&>(pl__N__DATA__req).userData();
current_location.update_lineno(2234);
/* SCCP_Emulation.ttcn, line 2234 */
vl__from = 0;
current_location.update_lineno(2236);
/* SCCP_Emulation.ttcn, line 2236 */
vl__PDU__SCCP.dataform1().messageType() = SCCP__Types::dt1;
current_location.update_lineno(2237);
/* SCCP_Emulation.ttcn, line 2237 */
vl__PDU__SCCP.dataform1().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(2238);
/* SCCP_Emulation.ttcn, line 2238 */
{
SCCP__Types::SCCP__param__SegmentingReassembl& tmp_211 = vl__PDU__SCCP.dataform1().segmentingReassembl(); /* 7388 */
tmp_211.more() = bs_0;
tmp_211.reserved() = bs_4;
}
current_location.update_lineno(2242);
/* SCCP_Emulation.ttcn, line 2242 */
vl__PDU__SCCP.dataform1().pointer1() = 1;
current_location.update_lineno(2244);
/* SCCP_Emulation.ttcn, line 2244 */
vl__len = vl__data.lengthof();
for ( ; ; ) {
current_location.update_lineno(2246);
/* SCCP_Emulation.ttcn, line 2246 */
if (!(vl__len > 0)) break;
current_location.update_lineno(2249);
/* SCCP_Emulation.ttcn, line 2249 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("vl_len:");
vl__len.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(2250);
/* SCCP_Emulation.ttcn, line 2250 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("vl_from");
vl__from.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(2251);
/* SCCP_Emulation.ttcn, line 2251 */
if ((vl__len > SCCP__CT_component_v__sccp__data__maxlen)) {
current_location.update_lineno(2253);
/* SCCP_Emulation.ttcn, line 2253 */
vl__actdatalen = SCCP__CT_component_v__sccp__data__maxlen;
current_location.update_lineno(2254);
/* SCCP_Emulation.ttcn, line 2254 */
vl__PDU__SCCP.dataform1().segmentingReassembl().more() = bs_0;
}
else {
current_location.update_lineno(2258);
/* SCCP_Emulation.ttcn, line 2258 */
vl__actdatalen = vl__len;
current_location.update_lineno(2259);
/* SCCP_Emulation.ttcn, line 2259 */
vl__PDU__SCCP.dataform1().segmentingReassembl().more() = bs_1;
}
current_location.update_lineno(2262);
/* SCCP_Emulation.ttcn, line 2262 */
vl__PDU__SCCP.dataform1().data().data() = substr(vl__data, vl__from, vl__actdatalen);
current_location.update_lineno(2263);
/* SCCP_Emulation.ttcn, line 2263 */
vl__PDU__SCCP.dataform1().data().paramLength() = vl__actdatalen;
current_location.update_lineno(2265);
/* SCCP_Emulation.ttcn, line 2265 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(2268);
/* SCCP_Emulation.ttcn, line 2268 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("data sent by MTP3_SCCP_PORT: ");
const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).dataform1().data().data().log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(2271);
/* SCCP_Emulation.ttcn, line 2271 */
f__StopTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(2272);
/* SCCP_Emulation.ttcn, line 2272 */
f__StartTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(2274);
/* SCCP_Emulation.ttcn, line 2274 */
{
INTEGER tmp_220;
tmp_220 = (vl__from + vl__actdatalen);
vl__from = tmp_220;
}
current_location.update_lineno(2275);
/* SCCP_Emulation.ttcn, line 2275 */
{
INTEGER tmp_221;
tmp_221 = (vl__len - vl__actdatalen);
vl__len = tmp_221;
}
}
}

void start_sending__dataform1s__in__ASP__MTP__TRANSFERreqs(const COMPONENT& component_reference, const SCCPasp__Types::ASP__SCCP__N__DATA__req& pl__N__DATA__req)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function sending_dataform1s_in_ASP_MTP_TRANSFERreqs(");
pl__N__DATA__req.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "sending_dataform1s_in_ASP_MTP_TRANSFERreqs", text_buf);
pl__N__DATA__req.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void buffered__sending__ASP__N__DATA__ind(const SCCP__Types::PDU__SCCP__DataForm1& pl__PDU__SCCP__DataForm1)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2289, TTCN_Location::LOCATION_FUNCTION, "buffered_sending_ASP_N_DATA_ind");
current_location.update_lineno(2296);
/* SCCP_Emulation.ttcn, line 2296 */
INTEGER vl__newbufflen;
current_location.update_lineno(2297);
/* SCCP_Emulation.ttcn, line 2297 */
TTCN_Logger::log_str(TTCN_USER, "DT1 will be put to the reassembly buffer");
current_location.update_lineno(2299);
/* SCCP_Emulation.ttcn, line 2299 */
vl__newbufflen = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].reassembler__buffer().actlen() + const_cast< const SCCP__Types::PDU__SCCP__DataForm1&>(pl__PDU__SCCP__DataForm1).data().paramLength());
current_location.update_lineno(2302);
/* SCCP_Emulation.ttcn, line 2302 */
if ((vl__newbufflen <= const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].reassembler__buffer().maxlen())) {
current_location.update_lineno(2304);
/* SCCP_Emulation.ttcn, line 2304 */
{
OCTETSTRING tmp_223;
tmp_223 = (const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].reassembler__buffer().buffer() + const_cast< const SCCP__Types::PDU__SCCP__DataForm1&>(pl__PDU__SCCP__DataForm1).data().data());
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].reassembler__buffer().buffer() = tmp_223;
}
current_location.update_lineno(2307);
/* SCCP_Emulation.ttcn, line 2307 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].reassembler__buffer().actlen() = vl__newbufflen;
current_location.update_lineno(2308);
/* SCCP_Emulation.ttcn, line 2308 */
TTCN_Logger::log_str(TTCN_USER, "DT1 data has been put to the reassembly buffer");
}
else {
current_location.update_lineno(2314);
/* SCCP_Emulation.ttcn, line 2314 */
TTCN_Logger::log_str(TTCN_USER, "Unexpected/unimplemented program branch");
}
current_location.update_lineno(2318);
/* SCCP_Emulation.ttcn, line 2318 */
if ((const_cast< const SCCP__Types::PDU__SCCP__DataForm1&>(pl__PDU__SCCP__DataForm1).segmentingReassembl().more() == bs_1)) {
current_location.update_lineno(2320);
/* SCCP_Emulation.ttcn, line 2320 */
TTCN_Logger::log_str(TTCN_USER, "DT1/segmentingReassembl/more==0 received=> send ASP_SCCP_N_DATA comes");
current_location.update_lineno(2322);
/* SCCP_Emulation.ttcn, line 2322 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DATA__ind(OCTETSTRING_template(const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].reassembler__buffer().buffer()), INTEGER_template(const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(2328);
/* SCCP_Emulation.ttcn, line 2328 */
f__StopTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(2329);
/* SCCP_Emulation.ttcn, line 2329 */
f__StartTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(2332);
/* SCCP_Emulation.ttcn, line 2332 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].reassembler__buffer().buffer() = os_1;
current_location.update_lineno(2333);
/* SCCP_Emulation.ttcn, line 2333 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].reassembler__buffer().actlen() = 0;
}
else {
current_location.update_lineno(2337);
/* SCCP_Emulation.ttcn, line 2337 */
TTCN_Logger::log_str(TTCN_USER, "DT1/segmentingReassembl/more==1 received=> sent to buffer only");
}
}

void start_buffered__sending__ASP__N__DATA__ind(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__DataForm1& pl__PDU__SCCP__DataForm1)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function buffered_sending_ASP_N_DATA_ind(");
pl__PDU__SCCP__DataForm1.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "buffered_sending_ASP_N_DATA_ind", text_buf);
pl__PDU__SCCP__DataForm1.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

SCCP__Types::SCCP__param__CPartyAddressEnc ConvertASPAddressToEncodedAddress__itu(const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2357, TTCN_Location::LOCATION_FUNCTION, "ConvertASPAddressToEncodedAddress_itu");
current_location.update_lineno(2361);
/* SCCP_Emulation.ttcn, line 2361 */
SCCP__Types::SCCP__param__CPartyAddress__itu vl__PDUAddress;
current_location.update_lineno(2362);
/* SCCP_Emulation.ttcn, line 2362 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__PDUAddressEncoded;
current_location.update_lineno(2364);
/* SCCP_Emulation.ttcn, line 2364 */
vl__PDUAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2367);
/* SCCP_Emulation.ttcn, line 2367 */
vl__PDUAddress.addressIndicator().ssnIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2370);
/* SCCP_Emulation.ttcn, line 2370 */
vl__PDUAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2373);
/* SCCP_Emulation.ttcn, line 2373 */
vl__PDUAddress.addressIndicator().routingIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2376);
/* SCCP_Emulation.ttcn, line 2376 */
vl__PDUAddress.addressIndicator().reserved() = bs_1;
current_location.update_lineno(2380);
/* SCCP_Emulation.ttcn, line 2380 */
{
boolean tmp_235;
{
boolean tmp_232 = pl__ASPAddress.is_bound();
if(tmp_232) {
const OPTIONAL< BITSTRING >& tmp_233 = pl__ASPAddress.signPointCode();
switch (tmp_233.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_232 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_232 = FALSE;
break;
default:
{
const BITSTRING& tmp_234 = (const BITSTRING&) tmp_233;
tmp_232 = tmp_234.is_present();
break;}
}
}
tmp_235 = tmp_232;
}
if (tmp_235) {
current_location.update_lineno(2381);
/* SCCP_Emulation.ttcn, line 2381 */
vl__PDUAddress.signPointCode() = (bs_8 + const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).signPointCode()());
}
else {
current_location.update_lineno(2384);
/* SCCP_Emulation.ttcn, line 2384 */
vl__PDUAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2388);
/* SCCP_Emulation.ttcn, line 2388 */
{
boolean tmp_241;
{
boolean tmp_238 = pl__ASPAddress.is_bound();
if(tmp_238) {
const OPTIONAL< INTEGER >& tmp_239 = pl__ASPAddress.subsystemNumber();
switch (tmp_239.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_238 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_238 = FALSE;
break;
default:
{
const INTEGER& tmp_240 = (const INTEGER&) tmp_239;
tmp_238 = tmp_240.is_present();
break;}
}
}
tmp_241 = tmp_238;
}
if (tmp_241) {
current_location.update_lineno(2389);
/* SCCP_Emulation.ttcn, line 2389 */
vl__PDUAddress.subsystemNumber() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).subsystemNumber();
}
else {
current_location.update_lineno(2391);
/* SCCP_Emulation.ttcn, line 2391 */
vl__PDUAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2395);
/* SCCP_Emulation.ttcn, line 2395 */
{
boolean tmp_247;
{
boolean tmp_244 = pl__ASPAddress.is_bound();
if(tmp_244) {
const OPTIONAL< SCCPasp__Types::SCCP__ASPfield__GlobalTitle >& tmp_245 = pl__ASPAddress.globalTitle();
switch (tmp_245.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_244 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_244 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__ASPfield__GlobalTitle& tmp_246 = (const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&) tmp_245;
tmp_244 = tmp_246.is_present();
break;}
}
}
tmp_247 = tmp_244;
}
if (tmp_247) {
current_location.update_lineno(2398);
/* SCCP_Emulation.ttcn, line 2398 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2399);
/* SCCP_Emulation.ttcn, line 2399 */
tmpGT = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).globalTitle();
current_location.update_lineno(2401);
/* SCCP_Emulation.ttcn, line 2401 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0001)) {
current_location.update_lineno(2403);
/* SCCP_Emulation.ttcn, line 2403 */
vl__PDUAddress.globalTitle()().gti0001().natureOfAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().natureOfAddress();
current_location.update_lineno(2404);
/* SCCP_Emulation.ttcn, line 2404 */
vl__PDUAddress.globalTitle()().gti0001().oddeven() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().oddeven();
current_location.update_lineno(2405);
/* SCCP_Emulation.ttcn, line 2405 */
vl__PDUAddress.globalTitle()().gti0001().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().globalTitleAddress();
}
else {
current_location.update_lineno(2407);
/* SCCP_Emulation.ttcn, line 2407 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0010)) {
current_location.update_lineno(2409);
/* SCCP_Emulation.ttcn, line 2409 */
vl__PDUAddress.globalTitle()().gti0010().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().translationType();
current_location.update_lineno(2410);
/* SCCP_Emulation.ttcn, line 2410 */
vl__PDUAddress.globalTitle()().gti0010().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().globalTitleAddress();
}
else {
current_location.update_lineno(2412);
/* SCCP_Emulation.ttcn, line 2412 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0011)) {
current_location.update_lineno(2414);
/* SCCP_Emulation.ttcn, line 2414 */
vl__PDUAddress.globalTitle()().gti0011().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().translationType();
current_location.update_lineno(2415);
/* SCCP_Emulation.ttcn, line 2415 */
vl__PDUAddress.globalTitle()().gti0011().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().encodingScheme();
current_location.update_lineno(2416);
/* SCCP_Emulation.ttcn, line 2416 */
vl__PDUAddress.globalTitle()().gti0011().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().numberingPlan();
current_location.update_lineno(2417);
/* SCCP_Emulation.ttcn, line 2417 */
vl__PDUAddress.globalTitle()().gti0011().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().globalTitleAddress();
}
else {
current_location.update_lineno(2419);
/* SCCP_Emulation.ttcn, line 2419 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0100)) {
current_location.update_lineno(2421);
/* SCCP_Emulation.ttcn, line 2421 */
vl__PDUAddress.globalTitle()().gti0100().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().translationType();
current_location.update_lineno(2422);
/* SCCP_Emulation.ttcn, line 2422 */
vl__PDUAddress.globalTitle()().gti0100().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().encodingScheme();
current_location.update_lineno(2423);
/* SCCP_Emulation.ttcn, line 2423 */
vl__PDUAddress.globalTitle()().gti0100().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().numberingPlan();
current_location.update_lineno(2424);
/* SCCP_Emulation.ttcn, line 2424 */
vl__PDUAddress.globalTitle()().gti0100().natureOfAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().natureOfAddress();
current_location.update_lineno(2425);
/* SCCP_Emulation.ttcn, line 2425 */
vl__PDUAddress.globalTitle()().gti0100().reserved() = bs_1;
current_location.update_lineno(2426);
/* SCCP_Emulation.ttcn, line 2426 */
vl__PDUAddress.globalTitle()().gti0100().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().globalTitleAddress();
}
}
}
}
}
else {
current_location.update_lineno(2431);
/* SCCP_Emulation.ttcn, line 2431 */
vl__PDUAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2434);
/* SCCP_Emulation.ttcn, line 2434 */
vl__PDUAddressEncoded.addr() = SCCP__Types::enc__PDU__SCCP__Address__itu(vl__PDUAddress);
current_location.update_lineno(2435);
/* SCCP_Emulation.ttcn, line 2435 */
{
INTEGER tmp_266;
tmp_266 = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__PDUAddressEncoded).addr().lengthof();
vl__PDUAddressEncoded.paramLength() = tmp_266;
}
current_location.update_lineno(2437);
/* SCCP_Emulation.ttcn, line 2437 */
return vl__PDUAddressEncoded;
}

SCCP__Types::SCCP__param__CPartyAddressEnc ConvertASPAddressToEncodedAddress__ansi(const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2444, TTCN_Location::LOCATION_FUNCTION, "ConvertASPAddressToEncodedAddress_ansi");
current_location.update_lineno(2448);
/* SCCP_Emulation.ttcn, line 2448 */
SCCP__Types::SCCP__param__CPartyAddress__ansi vl__PDUAddress;
current_location.update_lineno(2449);
/* SCCP_Emulation.ttcn, line 2449 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__PDUAddressEncoded;
current_location.update_lineno(2451);
/* SCCP_Emulation.ttcn, line 2451 */
vl__PDUAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2454);
/* SCCP_Emulation.ttcn, line 2454 */
vl__PDUAddress.addressIndicator().ssnIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2457);
/* SCCP_Emulation.ttcn, line 2457 */
vl__PDUAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2460);
/* SCCP_Emulation.ttcn, line 2460 */
vl__PDUAddress.addressIndicator().routingIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2463);
/* SCCP_Emulation.ttcn, line 2463 */
vl__PDUAddress.addressIndicator().reserved() = bs_0;
current_location.update_lineno(2466);
/* SCCP_Emulation.ttcn, line 2466 */
{
boolean tmp_275;
{
boolean tmp_272 = pl__ASPAddress.is_bound();
if(tmp_272) {
const OPTIONAL< BITSTRING >& tmp_273 = pl__ASPAddress.signPointCode();
switch (tmp_273.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_272 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_272 = FALSE;
break;
default:
{
const BITSTRING& tmp_274 = (const BITSTRING&) tmp_273;
tmp_272 = tmp_274.is_present();
break;}
}
}
tmp_275 = tmp_272;
}
if (tmp_275) {
current_location.update_lineno(2467);
/* SCCP_Emulation.ttcn, line 2467 */
vl__PDUAddress.signPointCode() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).signPointCode();
}
else {
current_location.update_lineno(2469);
/* SCCP_Emulation.ttcn, line 2469 */
vl__PDUAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2473);
/* SCCP_Emulation.ttcn, line 2473 */
{
boolean tmp_281;
{
boolean tmp_278 = pl__ASPAddress.is_bound();
if(tmp_278) {
const OPTIONAL< INTEGER >& tmp_279 = pl__ASPAddress.subsystemNumber();
switch (tmp_279.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_278 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_278 = FALSE;
break;
default:
{
const INTEGER& tmp_280 = (const INTEGER&) tmp_279;
tmp_278 = tmp_280.is_present();
break;}
}
}
tmp_281 = tmp_278;
}
if (tmp_281) {
current_location.update_lineno(2474);
/* SCCP_Emulation.ttcn, line 2474 */
vl__PDUAddress.subsystemNumber() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).subsystemNumber();
}
else {
current_location.update_lineno(2476);
/* SCCP_Emulation.ttcn, line 2476 */
vl__PDUAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2479);
/* SCCP_Emulation.ttcn, line 2479 */
{
boolean tmp_287;
{
boolean tmp_284 = pl__ASPAddress.is_bound();
if(tmp_284) {
const OPTIONAL< SCCPasp__Types::SCCP__ASPfield__GlobalTitle >& tmp_285 = pl__ASPAddress.globalTitle();
switch (tmp_285.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_284 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_284 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__ASPfield__GlobalTitle& tmp_286 = (const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&) tmp_285;
tmp_284 = tmp_286.is_present();
break;}
}
}
tmp_287 = tmp_284;
}
if (tmp_287) {
current_location.update_lineno(2482);
/* SCCP_Emulation.ttcn, line 2482 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT(const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).globalTitle());
current_location.update_lineno(2485);
/* SCCP_Emulation.ttcn, line 2485 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0010)) {
current_location.update_lineno(2487);
/* SCCP_Emulation.ttcn, line 2487 */
vl__PDUAddress.globalTitle()().gti0010().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().translationType();
current_location.update_lineno(2488);
/* SCCP_Emulation.ttcn, line 2488 */
vl__PDUAddress.globalTitle()().gti0010().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().globalTitleAddress();
}
else {
current_location.update_lineno(2490);
/* SCCP_Emulation.ttcn, line 2490 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0011)) {
current_location.update_lineno(2494);
/* SCCP_Emulation.ttcn, line 2494 */
vl__PDUAddress.globalTitle()().gti0001().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().translationType();
current_location.update_lineno(2495);
/* SCCP_Emulation.ttcn, line 2495 */
vl__PDUAddress.globalTitle()().gti0001().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().encodingScheme();
current_location.update_lineno(2496);
/* SCCP_Emulation.ttcn, line 2496 */
vl__PDUAddress.globalTitle()().gti0001().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().numberingPlan();
current_location.update_lineno(2497);
/* SCCP_Emulation.ttcn, line 2497 */
vl__PDUAddress.globalTitle()().gti0001().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().globalTitleAddress();
}
}
}
else {
current_location.update_lineno(2503);
/* SCCP_Emulation.ttcn, line 2503 */
vl__PDUAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2507);
/* SCCP_Emulation.ttcn, line 2507 */
vl__PDUAddressEncoded.addr() = SCCP__Types::enc__PDU__SCCP__Address__ansi(vl__PDUAddress);
current_location.update_lineno(2508);
/* SCCP_Emulation.ttcn, line 2508 */
{
INTEGER tmp_296;
tmp_296 = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__PDUAddressEncoded).addr().lengthof();
vl__PDUAddressEncoded.paramLength() = tmp_296;
}
current_location.update_lineno(2510);
/* SCCP_Emulation.ttcn, line 2510 */
return vl__PDUAddressEncoded;
}

void start_ConvertASPAddressToEncodedAddress__ansi(const COMPONENT& component_reference, const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress_ansi(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConvertASPAddressToEncodedAddress_ansi", text_buf);
pl__ASPAddress.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

SCCP__Types::SCCP__param__CPartyAddressEnc ConvertASPAddressToEncodedAddress__ttc(const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2516, TTCN_Location::LOCATION_FUNCTION, "ConvertASPAddressToEncodedAddress_ttc");
current_location.update_lineno(2521);
/* SCCP_Emulation.ttcn, line 2521 */
SCCP__Types::SCCP__param__CPartyAddress__ttc vl__PDUAddress;
current_location.update_lineno(2522);
/* SCCP_Emulation.ttcn, line 2522 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__PDUAddressEncoded;
current_location.update_lineno(2524);
/* SCCP_Emulation.ttcn, line 2524 */
vl__PDUAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2527);
/* SCCP_Emulation.ttcn, line 2527 */
vl__PDUAddress.addressIndicator().ssnIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2530);
/* SCCP_Emulation.ttcn, line 2530 */
vl__PDUAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2533);
/* SCCP_Emulation.ttcn, line 2533 */
vl__PDUAddress.addressIndicator().routingIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2536);
/* SCCP_Emulation.ttcn, line 2536 */
vl__PDUAddress.addressIndicator().reserved() = bs_0;
current_location.update_lineno(2539);
/* SCCP_Emulation.ttcn, line 2539 */
{
boolean tmp_305;
{
boolean tmp_302 = pl__ASPAddress.is_bound();
if(tmp_302) {
const OPTIONAL< BITSTRING >& tmp_303 = pl__ASPAddress.signPointCode();
switch (tmp_303.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_302 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_302 = FALSE;
break;
default:
{
const BITSTRING& tmp_304 = (const BITSTRING&) tmp_303;
tmp_302 = tmp_304.is_present();
break;}
}
}
tmp_305 = tmp_302;
}
if (tmp_305) {
current_location.update_lineno(2540);
/* SCCP_Emulation.ttcn, line 2540 */
vl__PDUAddress.signPointCode() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).signPointCode();
}
else {
current_location.update_lineno(2542);
/* SCCP_Emulation.ttcn, line 2542 */
vl__PDUAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2546);
/* SCCP_Emulation.ttcn, line 2546 */
{
boolean tmp_311;
{
boolean tmp_308 = pl__ASPAddress.is_bound();
if(tmp_308) {
const OPTIONAL< INTEGER >& tmp_309 = pl__ASPAddress.subsystemNumber();
switch (tmp_309.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_308 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_308 = FALSE;
break;
default:
{
const INTEGER& tmp_310 = (const INTEGER&) tmp_309;
tmp_308 = tmp_310.is_present();
break;}
}
}
tmp_311 = tmp_308;
}
if (tmp_311) {
current_location.update_lineno(2547);
/* SCCP_Emulation.ttcn, line 2547 */
vl__PDUAddress.subsystemNumber() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).subsystemNumber();
}
else {
current_location.update_lineno(2549);
/* SCCP_Emulation.ttcn, line 2549 */
vl__PDUAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2553);
/* SCCP_Emulation.ttcn, line 2553 */
{
boolean tmp_317;
{
boolean tmp_314 = pl__ASPAddress.is_bound();
if(tmp_314) {
const OPTIONAL< SCCPasp__Types::SCCP__ASPfield__GlobalTitle >& tmp_315 = pl__ASPAddress.globalTitle();
switch (tmp_315.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_314 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_314 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__ASPfield__GlobalTitle& tmp_316 = (const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&) tmp_315;
tmp_314 = tmp_316.is_present();
break;}
}
}
tmp_317 = tmp_314;
}
if (tmp_317) {
current_location.update_lineno(2556);
/* SCCP_Emulation.ttcn, line 2556 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2557);
/* SCCP_Emulation.ttcn, line 2557 */
tmpGT = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).globalTitle();
current_location.update_lineno(2559);
/* SCCP_Emulation.ttcn, line 2559 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0001)) {
current_location.update_lineno(2561);
/* SCCP_Emulation.ttcn, line 2561 */
vl__PDUAddress.globalTitle()().gti0001().natureOfAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().natureOfAddress();
current_location.update_lineno(2562);
/* SCCP_Emulation.ttcn, line 2562 */
vl__PDUAddress.globalTitle()().gti0001().oddeven() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().oddeven();
current_location.update_lineno(2563);
/* SCCP_Emulation.ttcn, line 2563 */
vl__PDUAddress.globalTitle()().gti0001().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().globalTitleAddress();
}
else {
current_location.update_lineno(2565);
/* SCCP_Emulation.ttcn, line 2565 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0010)) {
current_location.update_lineno(2567);
/* SCCP_Emulation.ttcn, line 2567 */
vl__PDUAddress.globalTitle()().gti0010().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().translationType();
current_location.update_lineno(2568);
/* SCCP_Emulation.ttcn, line 2568 */
vl__PDUAddress.globalTitle()().gti0010().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().globalTitleAddress();
}
else {
current_location.update_lineno(2570);
/* SCCP_Emulation.ttcn, line 2570 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0011)) {
current_location.update_lineno(2572);
/* SCCP_Emulation.ttcn, line 2572 */
vl__PDUAddress.globalTitle()().gti0011().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().translationType();
current_location.update_lineno(2573);
/* SCCP_Emulation.ttcn, line 2573 */
vl__PDUAddress.globalTitle()().gti0011().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().encodingScheme();
current_location.update_lineno(2574);
/* SCCP_Emulation.ttcn, line 2574 */
vl__PDUAddress.globalTitle()().gti0011().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().numberingPlan();
current_location.update_lineno(2575);
/* SCCP_Emulation.ttcn, line 2575 */
vl__PDUAddress.globalTitle()().gti0011().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().globalTitleAddress();
}
else {
current_location.update_lineno(2577);
/* SCCP_Emulation.ttcn, line 2577 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0100)) {
current_location.update_lineno(2579);
/* SCCP_Emulation.ttcn, line 2579 */
vl__PDUAddress.globalTitle()().gti0100().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().translationType();
current_location.update_lineno(2580);
/* SCCP_Emulation.ttcn, line 2580 */
vl__PDUAddress.globalTitle()().gti0100().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().encodingScheme();
current_location.update_lineno(2581);
/* SCCP_Emulation.ttcn, line 2581 */
vl__PDUAddress.globalTitle()().gti0100().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().numberingPlan();
current_location.update_lineno(2582);
/* SCCP_Emulation.ttcn, line 2582 */
vl__PDUAddress.globalTitle()().gti0100().natureOfAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().natureOfAddress();
current_location.update_lineno(2583);
/* SCCP_Emulation.ttcn, line 2583 */
vl__PDUAddress.globalTitle()().gti0100().reserved() = bs_1;
current_location.update_lineno(2584);
/* SCCP_Emulation.ttcn, line 2584 */
vl__PDUAddress.globalTitle()().gti0100().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().globalTitleAddress();
}
}
}
}
}
else {
current_location.update_lineno(2589);
/* SCCP_Emulation.ttcn, line 2589 */
vl__PDUAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2592);
/* SCCP_Emulation.ttcn, line 2592 */
vl__PDUAddressEncoded.addr() = SCCP__Types::enc__PDU__SCCP__Address__ttc(vl__PDUAddress);
current_location.update_lineno(2593);
/* SCCP_Emulation.ttcn, line 2593 */
{
INTEGER tmp_336;
tmp_336 = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__PDUAddressEncoded).addr().lengthof();
vl__PDUAddressEncoded.paramLength() = tmp_336;
}
current_location.update_lineno(2595);
/* SCCP_Emulation.ttcn, line 2595 */
return vl__PDUAddressEncoded;
}

void start_ConvertASPAddressToEncodedAddress__ttc(const COMPONENT& component_reference, const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress_ttc(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConvertASPAddressToEncodedAddress_ttc", text_buf);
pl__ASPAddress.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

SCCP__Types::SCCP__param__CPartyAddressEnc ConvertASPAddressToEncodedAddress__mpt(const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2601, TTCN_Location::LOCATION_FUNCTION, "ConvertASPAddressToEncodedAddress_mpt");
current_location.update_lineno(2606);
/* SCCP_Emulation.ttcn, line 2606 */
SCCP__Types::SCCP__param__CPartyAddress__mpt vl__PDUAddress;
current_location.update_lineno(2607);
/* SCCP_Emulation.ttcn, line 2607 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__PDUAddressEncoded;
current_location.update_lineno(2609);
/* SCCP_Emulation.ttcn, line 2609 */
vl__PDUAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2612);
/* SCCP_Emulation.ttcn, line 2612 */
vl__PDUAddress.addressIndicator().ssnIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2615);
/* SCCP_Emulation.ttcn, line 2615 */
vl__PDUAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2618);
/* SCCP_Emulation.ttcn, line 2618 */
vl__PDUAddress.addressIndicator().routingIndicator() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2621);
/* SCCP_Emulation.ttcn, line 2621 */
vl__PDUAddress.addressIndicator().reserved() = bs_0;
current_location.update_lineno(2624);
/* SCCP_Emulation.ttcn, line 2624 */
{
boolean tmp_345;
{
boolean tmp_342 = pl__ASPAddress.is_bound();
if(tmp_342) {
const OPTIONAL< BITSTRING >& tmp_343 = pl__ASPAddress.signPointCode();
switch (tmp_343.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_342 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_342 = FALSE;
break;
default:
{
const BITSTRING& tmp_344 = (const BITSTRING&) tmp_343;
tmp_342 = tmp_344.is_present();
break;}
}
}
tmp_345 = tmp_342;
}
if (tmp_345) {
current_location.update_lineno(2625);
/* SCCP_Emulation.ttcn, line 2625 */
vl__PDUAddress.signPointCode() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).signPointCode();
}
else {
current_location.update_lineno(2627);
/* SCCP_Emulation.ttcn, line 2627 */
vl__PDUAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2631);
/* SCCP_Emulation.ttcn, line 2631 */
{
boolean tmp_351;
{
boolean tmp_348 = pl__ASPAddress.is_bound();
if(tmp_348) {
const OPTIONAL< INTEGER >& tmp_349 = pl__ASPAddress.subsystemNumber();
switch (tmp_349.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_348 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_348 = FALSE;
break;
default:
{
const INTEGER& tmp_350 = (const INTEGER&) tmp_349;
tmp_348 = tmp_350.is_present();
break;}
}
}
tmp_351 = tmp_348;
}
if (tmp_351) {
current_location.update_lineno(2632);
/* SCCP_Emulation.ttcn, line 2632 */
vl__PDUAddress.subsystemNumber() = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).subsystemNumber();
}
else {
current_location.update_lineno(2634);
/* SCCP_Emulation.ttcn, line 2634 */
vl__PDUAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2638);
/* SCCP_Emulation.ttcn, line 2638 */
{
boolean tmp_357;
{
boolean tmp_354 = pl__ASPAddress.is_bound();
if(tmp_354) {
const OPTIONAL< SCCPasp__Types::SCCP__ASPfield__GlobalTitle >& tmp_355 = pl__ASPAddress.globalTitle();
switch (tmp_355.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_354 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_354 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__ASPfield__GlobalTitle& tmp_356 = (const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&) tmp_355;
tmp_354 = tmp_356.is_present();
break;}
}
}
tmp_357 = tmp_354;
}
if (tmp_357) {
current_location.update_lineno(2641);
/* SCCP_Emulation.ttcn, line 2641 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2642);
/* SCCP_Emulation.ttcn, line 2642 */
tmpGT = const_cast< const SCCPasp__Types::SCCP__PAR__Address&>(pl__ASPAddress).globalTitle();
current_location.update_lineno(2644);
/* SCCP_Emulation.ttcn, line 2644 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0001)) {
current_location.update_lineno(2646);
/* SCCP_Emulation.ttcn, line 2646 */
vl__PDUAddress.globalTitle()().gti0001().natureOfAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().natureOfAddress();
current_location.update_lineno(2647);
/* SCCP_Emulation.ttcn, line 2647 */
vl__PDUAddress.globalTitle()().gti0001().oddeven() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().oddeven();
current_location.update_lineno(2648);
/* SCCP_Emulation.ttcn, line 2648 */
vl__PDUAddress.globalTitle()().gti0001().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0001().globalTitleAddress();
}
else {
current_location.update_lineno(2650);
/* SCCP_Emulation.ttcn, line 2650 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0010)) {
current_location.update_lineno(2652);
/* SCCP_Emulation.ttcn, line 2652 */
vl__PDUAddress.globalTitle()().gti0010().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().translationType();
current_location.update_lineno(2653);
/* SCCP_Emulation.ttcn, line 2653 */
vl__PDUAddress.globalTitle()().gti0010().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0010().globalTitleAddress();
}
else {
current_location.update_lineno(2655);
/* SCCP_Emulation.ttcn, line 2655 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0011)) {
current_location.update_lineno(2657);
/* SCCP_Emulation.ttcn, line 2657 */
vl__PDUAddress.globalTitle()().gti0011().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().translationType();
current_location.update_lineno(2658);
/* SCCP_Emulation.ttcn, line 2658 */
vl__PDUAddress.globalTitle()().gti0011().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().encodingScheme();
current_location.update_lineno(2659);
/* SCCP_Emulation.ttcn, line 2659 */
vl__PDUAddress.globalTitle()().gti0011().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().numberingPlan();
current_location.update_lineno(2660);
/* SCCP_Emulation.ttcn, line 2660 */
vl__PDUAddress.globalTitle()().gti0011().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0011().globalTitleAddress();
}
else {
current_location.update_lineno(2662);
/* SCCP_Emulation.ttcn, line 2662 */
if (tmpGT.ischosen(SCCPasp__Types::SCCP__ASPfield__GlobalTitle::ALT_gti0100)) {
current_location.update_lineno(2664);
/* SCCP_Emulation.ttcn, line 2664 */
vl__PDUAddress.globalTitle()().gti0100().translationType() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().translationType();
current_location.update_lineno(2665);
/* SCCP_Emulation.ttcn, line 2665 */
vl__PDUAddress.globalTitle()().gti0100().encodingScheme() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().encodingScheme();
current_location.update_lineno(2666);
/* SCCP_Emulation.ttcn, line 2666 */
vl__PDUAddress.globalTitle()().gti0100().numberingPlan() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().numberingPlan();
current_location.update_lineno(2667);
/* SCCP_Emulation.ttcn, line 2667 */
vl__PDUAddress.globalTitle()().gti0100().natureOfAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().natureOfAddress();
current_location.update_lineno(2668);
/* SCCP_Emulation.ttcn, line 2668 */
vl__PDUAddress.globalTitle()().gti0100().reserved() = bs_1;
current_location.update_lineno(2669);
/* SCCP_Emulation.ttcn, line 2669 */
vl__PDUAddress.globalTitle()().gti0100().globalTitleAddress() = const_cast< const SCCPasp__Types::SCCP__ASPfield__GlobalTitle&>(tmpGT).gti0100().globalTitleAddress();
}
}
}
}
}
else {
current_location.update_lineno(2674);
/* SCCP_Emulation.ttcn, line 2674 */
vl__PDUAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2677);
/* SCCP_Emulation.ttcn, line 2677 */
vl__PDUAddressEncoded.addr() = SCCP__Types::enc__PDU__SCCP__Address__mpt(vl__PDUAddress);
current_location.update_lineno(2678);
/* SCCP_Emulation.ttcn, line 2678 */
{
INTEGER tmp_376;
tmp_376 = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__PDUAddressEncoded).addr().lengthof();
vl__PDUAddressEncoded.paramLength() = tmp_376;
}
current_location.update_lineno(2680);
/* SCCP_Emulation.ttcn, line 2680 */
return vl__PDUAddressEncoded;
}

void start_ConvertASPAddressToEncodedAddress__mpt(const COMPONENT& component_reference, const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress_mpt(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConvertASPAddressToEncodedAddress_mpt", text_buf);
pl__ASPAddress.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

SCCPasp__Types::SCCP__PAR__Address ConvertPDUEncodedAddressToASPAddress__itu(const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__PDUAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2695, TTCN_Location::LOCATION_FUNCTION, "ConvertPDUEncodedAddressToASPAddress_itu");
current_location.update_lineno(2698);
/* SCCP_Emulation.ttcn, line 2698 */
SCCPasp__Types::SCCP__PAR__Address vl__ASPAddress;
current_location.update_lineno(2699);
/* SCCP_Emulation.ttcn, line 2699 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2700);
/* SCCP_Emulation.ttcn, line 2700 */
SCCP__Types::SCCP__param__CPartyAddress__itu vl__PDUAddress;
current_location.update_lineno(2704);
/* SCCP_Emulation.ttcn, line 2704 */
vl__PDUAddress = SCCP__Types::dec__PDU__SCCP__Address__itu(const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(pl__PDUAddress).addr());
current_location.update_lineno(2706);
/* SCCP_Emulation.ttcn, line 2706 */
vl__ASPAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2709);
/* SCCP_Emulation.ttcn, line 2709 */
vl__ASPAddress.addressIndicator().ssnIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2712);
/* SCCP_Emulation.ttcn, line 2712 */
vl__ASPAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2715);
/* SCCP_Emulation.ttcn, line 2715 */
vl__ASPAddress.addressIndicator().routingIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2718);
/* SCCP_Emulation.ttcn, line 2718 */
{
boolean tmp_385;
{
boolean tmp_382 = vl__PDUAddress.is_bound();
if(tmp_382) {
const OPTIONAL< BITSTRING >& tmp_383 = vl__PDUAddress.signPointCode();
switch (tmp_383.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_382 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_382 = FALSE;
break;
default:
{
const BITSTRING& tmp_384 = (const BITSTRING&) tmp_383;
tmp_382 = tmp_384.is_present();
break;}
}
}
tmp_385 = tmp_382;
}
if (tmp_385) {
current_location.update_lineno(2719);
/* SCCP_Emulation.ttcn, line 2719 */
vl__ASPAddress.signPointCode() = substr(const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).signPointCode()(), 2, 14);
}
else {
current_location.update_lineno(2722);
/* SCCP_Emulation.ttcn, line 2722 */
vl__ASPAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2725);
/* SCCP_Emulation.ttcn, line 2725 */
{
boolean tmp_391;
{
boolean tmp_388 = vl__PDUAddress.is_bound();
if(tmp_388) {
const OPTIONAL< INTEGER >& tmp_389 = vl__PDUAddress.subsystemNumber();
switch (tmp_389.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_388 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_388 = FALSE;
break;
default:
{
const INTEGER& tmp_390 = (const INTEGER&) tmp_389;
tmp_388 = tmp_390.is_present();
break;}
}
}
tmp_391 = tmp_388;
}
if (tmp_391) {
current_location.update_lineno(2726);
/* SCCP_Emulation.ttcn, line 2726 */
vl__ASPAddress.subsystemNumber() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).subsystemNumber();
}
else {
current_location.update_lineno(2729);
/* SCCP_Emulation.ttcn, line 2729 */
vl__ASPAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2732);
/* SCCP_Emulation.ttcn, line 2732 */
{
boolean tmp_397;
{
boolean tmp_394 = vl__PDUAddress.is_bound();
if(tmp_394) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_395 = vl__PDUAddress.globalTitle();
switch (tmp_395.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_394 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_394 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_396 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_395;
tmp_394 = tmp_396.is_present();
break;}
}
}
tmp_397 = tmp_394;
}
if (tmp_397) {
current_location.update_lineno(2733);
/* SCCP_Emulation.ttcn, line 2733 */
{
boolean tmp_401;
{
boolean tmp_398 = vl__PDUAddress.is_bound();
if(tmp_398) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_399 = vl__PDUAddress.globalTitle();
switch (tmp_399.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_398 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_398 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_400 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_399;
tmp_398 = tmp_400.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0001);
break;}
}
}
tmp_401 = tmp_398;
}
if (tmp_401) {
current_location.update_lineno(2735);
/* SCCP_Emulation.ttcn, line 2735 */
tmpGT.gti0001().natureOfAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0001().natureOfAddress();
current_location.update_lineno(2736);
/* SCCP_Emulation.ttcn, line 2736 */
tmpGT.gti0001().oddeven() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0001().oddeven();
current_location.update_lineno(2737);
/* SCCP_Emulation.ttcn, line 2737 */
tmpGT.gti0001().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0001().globalTitleAddress();
current_location.update_lineno(2738);
/* SCCP_Emulation.ttcn, line 2738 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2740);
/* SCCP_Emulation.ttcn, line 2740 */
boolean tmp_409;
{
boolean tmp_406 = vl__PDUAddress.is_bound();
if(tmp_406) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_407 = vl__PDUAddress.globalTitle();
switch (tmp_407.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_406 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_406 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_408 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_407;
tmp_406 = tmp_408.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0010);
break;}
}
}
tmp_409 = tmp_406;
}
if (tmp_409) {
current_location.update_lineno(2742);
/* SCCP_Emulation.ttcn, line 2742 */
tmpGT.gti0010().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0010().translationType();
current_location.update_lineno(2743);
/* SCCP_Emulation.ttcn, line 2743 */
tmpGT.gti0010().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0010().globalTitleAddress();
current_location.update_lineno(2744);
/* SCCP_Emulation.ttcn, line 2744 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2746);
/* SCCP_Emulation.ttcn, line 2746 */
boolean tmp_416;
{
boolean tmp_413 = vl__PDUAddress.is_bound();
if(tmp_413) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_414 = vl__PDUAddress.globalTitle();
switch (tmp_414.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_413 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_413 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_415 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_414;
tmp_413 = tmp_415.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0011);
break;}
}
}
tmp_416 = tmp_413;
}
if (tmp_416) {
current_location.update_lineno(2748);
/* SCCP_Emulation.ttcn, line 2748 */
tmpGT.gti0011().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0011().translationType();
current_location.update_lineno(2749);
/* SCCP_Emulation.ttcn, line 2749 */
tmpGT.gti0011().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0011().encodingScheme();
current_location.update_lineno(2750);
/* SCCP_Emulation.ttcn, line 2750 */
tmpGT.gti0011().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0011().numberingPlan();
current_location.update_lineno(2751);
/* SCCP_Emulation.ttcn, line 2751 */
tmpGT.gti0011().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0011().globalTitleAddress();
current_location.update_lineno(2752);
/* SCCP_Emulation.ttcn, line 2752 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2754);
/* SCCP_Emulation.ttcn, line 2754 */
boolean tmp_425;
{
boolean tmp_422 = vl__PDUAddress.is_bound();
if(tmp_422) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_423 = vl__PDUAddress.globalTitle();
switch (tmp_423.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_422 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_422 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_424 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_423;
tmp_422 = tmp_424.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0100);
break;}
}
}
tmp_425 = tmp_422;
}
if (tmp_425) {
current_location.update_lineno(2756);
/* SCCP_Emulation.ttcn, line 2756 */
tmpGT.gti0100().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0100().translationType();
current_location.update_lineno(2757);
/* SCCP_Emulation.ttcn, line 2757 */
tmpGT.gti0100().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0100().encodingScheme();
current_location.update_lineno(2758);
/* SCCP_Emulation.ttcn, line 2758 */
tmpGT.gti0100().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0100().numberingPlan();
current_location.update_lineno(2759);
/* SCCP_Emulation.ttcn, line 2759 */
tmpGT.gti0100().natureOfAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0100().natureOfAddress();
current_location.update_lineno(2761);
/* SCCP_Emulation.ttcn, line 2761 */
tmpGT.gti0100().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__itu&>(vl__PDUAddress).globalTitle()().gti0100().globalTitleAddress();
current_location.update_lineno(2762);
/* SCCP_Emulation.ttcn, line 2762 */
vl__ASPAddress.globalTitle() = tmpGT;
}
}
}
}
}
}
else {
current_location.update_lineno(2767);
/* SCCP_Emulation.ttcn, line 2767 */
vl__ASPAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2770);
/* SCCP_Emulation.ttcn, line 2770 */
return vl__ASPAddress;
}

SCCPasp__Types::SCCP__PAR__Address ConvertPDUEncodedAddressToASPAddress__ansi(const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__PDUAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2779, TTCN_Location::LOCATION_FUNCTION, "ConvertPDUEncodedAddressToASPAddress_ansi");
current_location.update_lineno(2782);
/* SCCP_Emulation.ttcn, line 2782 */
SCCPasp__Types::SCCP__PAR__Address vl__ASPAddress;
current_location.update_lineno(2783);
/* SCCP_Emulation.ttcn, line 2783 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2784);
/* SCCP_Emulation.ttcn, line 2784 */
SCCP__Types::SCCP__param__CPartyAddress__ansi vl__PDUAddress;
current_location.update_lineno(2788);
/* SCCP_Emulation.ttcn, line 2788 */
vl__PDUAddress = SCCP__Types::dec__PDU__SCCP__Address__ansi(const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(pl__PDUAddress).addr());
current_location.update_lineno(2790);
/* SCCP_Emulation.ttcn, line 2790 */
vl__ASPAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2793);
/* SCCP_Emulation.ttcn, line 2793 */
vl__ASPAddress.addressIndicator().ssnIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2796);
/* SCCP_Emulation.ttcn, line 2796 */
vl__ASPAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2799);
/* SCCP_Emulation.ttcn, line 2799 */
vl__ASPAddress.addressIndicator().routingIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2802);
/* SCCP_Emulation.ttcn, line 2802 */
{
boolean tmp_441;
{
boolean tmp_438 = vl__PDUAddress.is_bound();
if(tmp_438) {
const OPTIONAL< BITSTRING >& tmp_439 = vl__PDUAddress.signPointCode();
switch (tmp_439.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_438 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_438 = FALSE;
break;
default:
{
const BITSTRING& tmp_440 = (const BITSTRING&) tmp_439;
tmp_438 = tmp_440.is_present();
break;}
}
}
tmp_441 = tmp_438;
}
if (tmp_441) {
current_location.update_lineno(2803);
/* SCCP_Emulation.ttcn, line 2803 */
vl__ASPAddress.signPointCode() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).signPointCode();
}
else {
current_location.update_lineno(2807);
/* SCCP_Emulation.ttcn, line 2807 */
vl__ASPAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2810);
/* SCCP_Emulation.ttcn, line 2810 */
{
boolean tmp_447;
{
boolean tmp_444 = vl__PDUAddress.is_bound();
if(tmp_444) {
const OPTIONAL< INTEGER >& tmp_445 = vl__PDUAddress.subsystemNumber();
switch (tmp_445.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_444 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_444 = FALSE;
break;
default:
{
const INTEGER& tmp_446 = (const INTEGER&) tmp_445;
tmp_444 = tmp_446.is_present();
break;}
}
}
tmp_447 = tmp_444;
}
if (tmp_447) {
current_location.update_lineno(2811);
/* SCCP_Emulation.ttcn, line 2811 */
vl__ASPAddress.subsystemNumber() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).subsystemNumber();
}
else {
current_location.update_lineno(2814);
/* SCCP_Emulation.ttcn, line 2814 */
vl__ASPAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2818);
/* SCCP_Emulation.ttcn, line 2818 */
{
boolean tmp_453;
{
boolean tmp_450 = vl__PDUAddress.is_bound();
if(tmp_450) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__ansi >& tmp_451 = vl__PDUAddress.globalTitle();
switch (tmp_451.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_450 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_450 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__ansi& tmp_452 = (const SCCP__Types::SCCP__field__GlobalTitle__ansi&) tmp_451;
tmp_450 = tmp_452.is_present();
break;}
}
}
tmp_453 = tmp_450;
}
if (tmp_453) {
current_location.update_lineno(2819);
/* SCCP_Emulation.ttcn, line 2819 */
{
boolean tmp_457;
{
boolean tmp_454 = vl__PDUAddress.is_bound();
if(tmp_454) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__ansi >& tmp_455 = vl__PDUAddress.globalTitle();
switch (tmp_455.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_454 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_454 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__ansi& tmp_456 = (const SCCP__Types::SCCP__field__GlobalTitle__ansi&) tmp_455;
tmp_454 = tmp_456.ischosen(SCCP__Types::SCCP__field__GlobalTitle__ansi::ALT_gti0001);
break;}
}
}
tmp_457 = tmp_454;
}
if (tmp_457) {
current_location.update_lineno(2821);
/* SCCP_Emulation.ttcn, line 2821 */
tmpGT.gti0011().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).globalTitle()().gti0001().translationType();
current_location.update_lineno(2822);
/* SCCP_Emulation.ttcn, line 2822 */
tmpGT.gti0011().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).globalTitle()().gti0001().encodingScheme();
current_location.update_lineno(2823);
/* SCCP_Emulation.ttcn, line 2823 */
tmpGT.gti0011().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).globalTitle()().gti0001().numberingPlan();
current_location.update_lineno(2824);
/* SCCP_Emulation.ttcn, line 2824 */
tmpGT.gti0011().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).globalTitle()().gti0001().globalTitleAddress();
current_location.update_lineno(2825);
/* SCCP_Emulation.ttcn, line 2825 */
vl__ASPAddress.globalTitle() = tmpGT;
}
}
current_location.update_lineno(2827);
/* SCCP_Emulation.ttcn, line 2827 */
{
boolean tmp_466;
{
boolean tmp_463 = vl__PDUAddress.is_bound();
if(tmp_463) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__ansi >& tmp_464 = vl__PDUAddress.globalTitle();
switch (tmp_464.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_463 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_463 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__ansi& tmp_465 = (const SCCP__Types::SCCP__field__GlobalTitle__ansi&) tmp_464;
tmp_463 = tmp_465.ischosen(SCCP__Types::SCCP__field__GlobalTitle__ansi::ALT_gti0010);
break;}
}
}
tmp_466 = tmp_463;
}
if (tmp_466) {
current_location.update_lineno(2829);
/* SCCP_Emulation.ttcn, line 2829 */
tmpGT.gti0010().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).globalTitle()().gti0010().translationType();
current_location.update_lineno(2830);
/* SCCP_Emulation.ttcn, line 2830 */
tmpGT.gti0010().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ansi&>(vl__PDUAddress).globalTitle()().gti0010().globalTitleAddress();
current_location.update_lineno(2831);
/* SCCP_Emulation.ttcn, line 2831 */
vl__ASPAddress.globalTitle() = tmpGT;
}
}
}
else {
current_location.update_lineno(2836);
/* SCCP_Emulation.ttcn, line 2836 */
vl__ASPAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2839);
/* SCCP_Emulation.ttcn, line 2839 */
return vl__ASPAddress;
}

SCCPasp__Types::SCCP__PAR__Address ConvertPDUEncodedAddressToASPAddress__ttc(const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__PDUAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2847, TTCN_Location::LOCATION_FUNCTION, "ConvertPDUEncodedAddressToASPAddress_ttc");
current_location.update_lineno(2850);
/* SCCP_Emulation.ttcn, line 2850 */
SCCPasp__Types::SCCP__PAR__Address vl__ASPAddress;
current_location.update_lineno(2851);
/* SCCP_Emulation.ttcn, line 2851 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2852);
/* SCCP_Emulation.ttcn, line 2852 */
SCCP__Types::SCCP__param__CPartyAddress__ttc vl__PDUAddress;
current_location.update_lineno(2856);
/* SCCP_Emulation.ttcn, line 2856 */
vl__PDUAddress = SCCP__Types::dec__PDU__SCCP__Address__ttc(const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(pl__PDUAddress).addr());
current_location.update_lineno(2858);
/* SCCP_Emulation.ttcn, line 2858 */
vl__ASPAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2861);
/* SCCP_Emulation.ttcn, line 2861 */
vl__ASPAddress.addressIndicator().ssnIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2864);
/* SCCP_Emulation.ttcn, line 2864 */
vl__ASPAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2867);
/* SCCP_Emulation.ttcn, line 2867 */
vl__ASPAddress.addressIndicator().routingIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2870);
/* SCCP_Emulation.ttcn, line 2870 */
{
boolean tmp_479;
{
boolean tmp_476 = vl__PDUAddress.is_bound();
if(tmp_476) {
const OPTIONAL< BITSTRING >& tmp_477 = vl__PDUAddress.signPointCode();
switch (tmp_477.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_476 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_476 = FALSE;
break;
default:
{
const BITSTRING& tmp_478 = (const BITSTRING&) tmp_477;
tmp_476 = tmp_478.is_present();
break;}
}
}
tmp_479 = tmp_476;
}
if (tmp_479) {
current_location.update_lineno(2871);
/* SCCP_Emulation.ttcn, line 2871 */
vl__ASPAddress.signPointCode() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).signPointCode();
}
else {
current_location.update_lineno(2874);
/* SCCP_Emulation.ttcn, line 2874 */
vl__ASPAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2877);
/* SCCP_Emulation.ttcn, line 2877 */
{
boolean tmp_485;
{
boolean tmp_482 = vl__PDUAddress.is_bound();
if(tmp_482) {
const OPTIONAL< INTEGER >& tmp_483 = vl__PDUAddress.subsystemNumber();
switch (tmp_483.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_482 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_482 = FALSE;
break;
default:
{
const INTEGER& tmp_484 = (const INTEGER&) tmp_483;
tmp_482 = tmp_484.is_present();
break;}
}
}
tmp_485 = tmp_482;
}
if (tmp_485) {
current_location.update_lineno(2878);
/* SCCP_Emulation.ttcn, line 2878 */
vl__ASPAddress.subsystemNumber() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).subsystemNumber();
}
else {
current_location.update_lineno(2881);
/* SCCP_Emulation.ttcn, line 2881 */
vl__ASPAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2884);
/* SCCP_Emulation.ttcn, line 2884 */
{
boolean tmp_491;
{
boolean tmp_488 = vl__PDUAddress.is_bound();
if(tmp_488) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_489 = vl__PDUAddress.globalTitle();
switch (tmp_489.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_488 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_488 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_490 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_489;
tmp_488 = tmp_490.is_present();
break;}
}
}
tmp_491 = tmp_488;
}
if (tmp_491) {
current_location.update_lineno(2885);
/* SCCP_Emulation.ttcn, line 2885 */
{
boolean tmp_495;
{
boolean tmp_492 = vl__PDUAddress.is_bound();
if(tmp_492) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_493 = vl__PDUAddress.globalTitle();
switch (tmp_493.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_492 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_492 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_494 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_493;
tmp_492 = tmp_494.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0001);
break;}
}
}
tmp_495 = tmp_492;
}
if (tmp_495) {
current_location.update_lineno(2887);
/* SCCP_Emulation.ttcn, line 2887 */
tmpGT.gti0001().natureOfAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0001().natureOfAddress();
current_location.update_lineno(2888);
/* SCCP_Emulation.ttcn, line 2888 */
tmpGT.gti0001().oddeven() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0001().oddeven();
current_location.update_lineno(2889);
/* SCCP_Emulation.ttcn, line 2889 */
tmpGT.gti0001().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0001().globalTitleAddress();
current_location.update_lineno(2890);
/* SCCP_Emulation.ttcn, line 2890 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2892);
/* SCCP_Emulation.ttcn, line 2892 */
boolean tmp_503;
{
boolean tmp_500 = vl__PDUAddress.is_bound();
if(tmp_500) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_501 = vl__PDUAddress.globalTitle();
switch (tmp_501.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_500 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_500 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_502 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_501;
tmp_500 = tmp_502.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0010);
break;}
}
}
tmp_503 = tmp_500;
}
if (tmp_503) {
current_location.update_lineno(2894);
/* SCCP_Emulation.ttcn, line 2894 */
tmpGT.gti0010().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0010().translationType();
current_location.update_lineno(2895);
/* SCCP_Emulation.ttcn, line 2895 */
tmpGT.gti0010().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0010().globalTitleAddress();
current_location.update_lineno(2896);
/* SCCP_Emulation.ttcn, line 2896 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2898);
/* SCCP_Emulation.ttcn, line 2898 */
boolean tmp_510;
{
boolean tmp_507 = vl__PDUAddress.is_bound();
if(tmp_507) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_508 = vl__PDUAddress.globalTitle();
switch (tmp_508.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_507 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_507 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_509 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_508;
tmp_507 = tmp_509.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0011);
break;}
}
}
tmp_510 = tmp_507;
}
if (tmp_510) {
current_location.update_lineno(2900);
/* SCCP_Emulation.ttcn, line 2900 */
tmpGT.gti0011().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0011().translationType();
current_location.update_lineno(2901);
/* SCCP_Emulation.ttcn, line 2901 */
tmpGT.gti0011().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0011().encodingScheme();
current_location.update_lineno(2902);
/* SCCP_Emulation.ttcn, line 2902 */
tmpGT.gti0011().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0011().numberingPlan();
current_location.update_lineno(2903);
/* SCCP_Emulation.ttcn, line 2903 */
tmpGT.gti0011().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0011().globalTitleAddress();
current_location.update_lineno(2904);
/* SCCP_Emulation.ttcn, line 2904 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2906);
/* SCCP_Emulation.ttcn, line 2906 */
boolean tmp_519;
{
boolean tmp_516 = vl__PDUAddress.is_bound();
if(tmp_516) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_517 = vl__PDUAddress.globalTitle();
switch (tmp_517.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_516 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_516 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_518 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_517;
tmp_516 = tmp_518.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0100);
break;}
}
}
tmp_519 = tmp_516;
}
if (tmp_519) {
current_location.update_lineno(2908);
/* SCCP_Emulation.ttcn, line 2908 */
tmpGT.gti0100().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0100().translationType();
current_location.update_lineno(2909);
/* SCCP_Emulation.ttcn, line 2909 */
tmpGT.gti0100().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0100().encodingScheme();
current_location.update_lineno(2910);
/* SCCP_Emulation.ttcn, line 2910 */
tmpGT.gti0100().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0100().numberingPlan();
current_location.update_lineno(2911);
/* SCCP_Emulation.ttcn, line 2911 */
tmpGT.gti0100().natureOfAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0100().natureOfAddress();
current_location.update_lineno(2913);
/* SCCP_Emulation.ttcn, line 2913 */
tmpGT.gti0100().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__ttc&>(vl__PDUAddress).globalTitle()().gti0100().globalTitleAddress();
current_location.update_lineno(2914);
/* SCCP_Emulation.ttcn, line 2914 */
vl__ASPAddress.globalTitle() = tmpGT;
}
}
}
}
}
}
else {
current_location.update_lineno(2919);
/* SCCP_Emulation.ttcn, line 2919 */
vl__ASPAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(2922);
/* SCCP_Emulation.ttcn, line 2922 */
return vl__ASPAddress;
}

SCCPasp__Types::SCCP__PAR__Address ConvertPDUEncodedAddressToASPAddress__mpt(const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__PDUAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 2930, TTCN_Location::LOCATION_FUNCTION, "ConvertPDUEncodedAddressToASPAddress_mpt");
current_location.update_lineno(2933);
/* SCCP_Emulation.ttcn, line 2933 */
SCCPasp__Types::SCCP__PAR__Address vl__ASPAddress;
current_location.update_lineno(2934);
/* SCCP_Emulation.ttcn, line 2934 */
SCCPasp__Types::SCCP__ASPfield__GlobalTitle tmpGT;
current_location.update_lineno(2935);
/* SCCP_Emulation.ttcn, line 2935 */
SCCP__Types::SCCP__param__CPartyAddress__mpt vl__PDUAddress;
current_location.update_lineno(2937);
/* SCCP_Emulation.ttcn, line 2937 */
vl__PDUAddress = SCCP__Types::dec__PDU__SCCP__Address__mpt(const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(pl__PDUAddress).addr());
current_location.update_lineno(2939);
/* SCCP_Emulation.ttcn, line 2939 */
vl__ASPAddress.addressIndicator().pointCodeIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).addressIndicator().pointCodeIndic();
current_location.update_lineno(2942);
/* SCCP_Emulation.ttcn, line 2942 */
vl__ASPAddress.addressIndicator().ssnIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).addressIndicator().ssnIndicator();
current_location.update_lineno(2945);
/* SCCP_Emulation.ttcn, line 2945 */
vl__ASPAddress.addressIndicator().globalTitleIndic() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).addressIndicator().globalTitleIndic();
current_location.update_lineno(2948);
/* SCCP_Emulation.ttcn, line 2948 */
vl__ASPAddress.addressIndicator().routingIndicator() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).addressIndicator().routingIndicator();
current_location.update_lineno(2951);
/* SCCP_Emulation.ttcn, line 2951 */
{
boolean tmp_535;
{
boolean tmp_532 = vl__PDUAddress.is_bound();
if(tmp_532) {
const OPTIONAL< BITSTRING >& tmp_533 = vl__PDUAddress.signPointCode();
switch (tmp_533.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_532 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_532 = FALSE;
break;
default:
{
const BITSTRING& tmp_534 = (const BITSTRING&) tmp_533;
tmp_532 = tmp_534.is_present();
break;}
}
}
tmp_535 = tmp_532;
}
if (tmp_535) {
current_location.update_lineno(2952);
/* SCCP_Emulation.ttcn, line 2952 */
vl__ASPAddress.signPointCode() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).signPointCode();
}
else {
current_location.update_lineno(2955);
/* SCCP_Emulation.ttcn, line 2955 */
vl__ASPAddress.signPointCode() = OMIT_VALUE;
}
}
current_location.update_lineno(2958);
/* SCCP_Emulation.ttcn, line 2958 */
{
boolean tmp_541;
{
boolean tmp_538 = vl__PDUAddress.is_bound();
if(tmp_538) {
const OPTIONAL< INTEGER >& tmp_539 = vl__PDUAddress.subsystemNumber();
switch (tmp_539.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_538 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_538 = FALSE;
break;
default:
{
const INTEGER& tmp_540 = (const INTEGER&) tmp_539;
tmp_538 = tmp_540.is_present();
break;}
}
}
tmp_541 = tmp_538;
}
if (tmp_541) {
current_location.update_lineno(2959);
/* SCCP_Emulation.ttcn, line 2959 */
vl__ASPAddress.subsystemNumber() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).subsystemNumber();
}
else {
current_location.update_lineno(2962);
/* SCCP_Emulation.ttcn, line 2962 */
vl__ASPAddress.subsystemNumber() = OMIT_VALUE;
}
}
current_location.update_lineno(2965);
/* SCCP_Emulation.ttcn, line 2965 */
{
boolean tmp_547;
{
boolean tmp_544 = vl__PDUAddress.is_bound();
if(tmp_544) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_545 = vl__PDUAddress.globalTitle();
switch (tmp_545.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_544 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_544 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_546 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_545;
tmp_544 = tmp_546.is_present();
break;}
}
}
tmp_547 = tmp_544;
}
if (tmp_547) {
current_location.update_lineno(2966);
/* SCCP_Emulation.ttcn, line 2966 */
{
boolean tmp_551;
{
boolean tmp_548 = vl__PDUAddress.is_bound();
if(tmp_548) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_549 = vl__PDUAddress.globalTitle();
switch (tmp_549.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_548 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_548 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_550 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_549;
tmp_548 = tmp_550.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0001);
break;}
}
}
tmp_551 = tmp_548;
}
if (tmp_551) {
current_location.update_lineno(2968);
/* SCCP_Emulation.ttcn, line 2968 */
tmpGT.gti0001().natureOfAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0001().natureOfAddress();
current_location.update_lineno(2969);
/* SCCP_Emulation.ttcn, line 2969 */
tmpGT.gti0001().oddeven() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0001().oddeven();
current_location.update_lineno(2970);
/* SCCP_Emulation.ttcn, line 2970 */
tmpGT.gti0001().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0001().globalTitleAddress();
current_location.update_lineno(2971);
/* SCCP_Emulation.ttcn, line 2971 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2973);
/* SCCP_Emulation.ttcn, line 2973 */
boolean tmp_559;
{
boolean tmp_556 = vl__PDUAddress.is_bound();
if(tmp_556) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_557 = vl__PDUAddress.globalTitle();
switch (tmp_557.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_556 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_556 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_558 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_557;
tmp_556 = tmp_558.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0010);
break;}
}
}
tmp_559 = tmp_556;
}
if (tmp_559) {
current_location.update_lineno(2975);
/* SCCP_Emulation.ttcn, line 2975 */
tmpGT.gti0010().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0010().translationType();
current_location.update_lineno(2976);
/* SCCP_Emulation.ttcn, line 2976 */
tmpGT.gti0010().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0010().globalTitleAddress();
current_location.update_lineno(2977);
/* SCCP_Emulation.ttcn, line 2977 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2979);
/* SCCP_Emulation.ttcn, line 2979 */
boolean tmp_566;
{
boolean tmp_563 = vl__PDUAddress.is_bound();
if(tmp_563) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_564 = vl__PDUAddress.globalTitle();
switch (tmp_564.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_563 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_563 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_565 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_564;
tmp_563 = tmp_565.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0011);
break;}
}
}
tmp_566 = tmp_563;
}
if (tmp_566) {
current_location.update_lineno(2981);
/* SCCP_Emulation.ttcn, line 2981 */
tmpGT.gti0011().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0011().translationType();
current_location.update_lineno(2982);
/* SCCP_Emulation.ttcn, line 2982 */
tmpGT.gti0011().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0011().encodingScheme();
current_location.update_lineno(2983);
/* SCCP_Emulation.ttcn, line 2983 */
tmpGT.gti0011().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0011().numberingPlan();
current_location.update_lineno(2984);
/* SCCP_Emulation.ttcn, line 2984 */
tmpGT.gti0011().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0011().globalTitleAddress();
current_location.update_lineno(2985);
/* SCCP_Emulation.ttcn, line 2985 */
vl__ASPAddress.globalTitle() = tmpGT;
}
else {
current_location.update_lineno(2987);
/* SCCP_Emulation.ttcn, line 2987 */
boolean tmp_575;
{
boolean tmp_572 = vl__PDUAddress.is_bound();
if(tmp_572) {
const OPTIONAL< SCCP__Types::SCCP__field__GlobalTitle__itu >& tmp_573 = vl__PDUAddress.globalTitle();
switch (tmp_573.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_572 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_572 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__field__GlobalTitle__itu& tmp_574 = (const SCCP__Types::SCCP__field__GlobalTitle__itu&) tmp_573;
tmp_572 = tmp_574.ischosen(SCCP__Types::SCCP__field__GlobalTitle__itu::ALT_gti0100);
break;}
}
}
tmp_575 = tmp_572;
}
if (tmp_575) {
current_location.update_lineno(2989);
/* SCCP_Emulation.ttcn, line 2989 */
tmpGT.gti0100().translationType() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0100().translationType();
current_location.update_lineno(2990);
/* SCCP_Emulation.ttcn, line 2990 */
tmpGT.gti0100().encodingScheme() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0100().encodingScheme();
current_location.update_lineno(2991);
/* SCCP_Emulation.ttcn, line 2991 */
tmpGT.gti0100().numberingPlan() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0100().numberingPlan();
current_location.update_lineno(2992);
/* SCCP_Emulation.ttcn, line 2992 */
tmpGT.gti0100().natureOfAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0100().natureOfAddress();
current_location.update_lineno(2994);
/* SCCP_Emulation.ttcn, line 2994 */
tmpGT.gti0100().globalTitleAddress() = const_cast< const SCCP__Types::SCCP__param__CPartyAddress__mpt&>(vl__PDUAddress).globalTitle()().gti0100().globalTitleAddress();
current_location.update_lineno(2995);
/* SCCP_Emulation.ttcn, line 2995 */
vl__ASPAddress.globalTitle() = tmpGT;
}
}
}
}
}
}
else {
current_location.update_lineno(3000);
/* SCCP_Emulation.ttcn, line 3000 */
vl__ASPAddress.globalTitle() = OMIT_VALUE;
}
}
current_location.update_lineno(3003);
/* SCCP_Emulation.ttcn, line 3003 */
return vl__ASPAddress;
}

SCCP__Types::SCCP__param__CPartyAddressEnc ConvertASPAddressToEncodedAddress(const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3016, TTCN_Location::LOCATION_FUNCTION, "ConvertASPAddressToEncodedAddress");
current_location.update_lineno(3019);
/* SCCP_Emulation.ttcn, line 3019 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__PDUAddressEncoded;
current_location.update_lineno(3020);
/* SCCP_Emulation.ttcn, line 3020 */
{
boolean tmp_583;
tmp_583 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__itu);
if (!tmp_583) tmp_583 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__itu);
if (tmp_583) {
current_location.update_lineno(3023);
/* SCCP_Emulation.ttcn, line 3023 */
return ConvertASPAddressToEncodedAddress__itu(pl__ASPAddress);
}
else {
current_location.update_lineno(3025);
/* SCCP_Emulation.ttcn, line 3025 */
boolean tmp_584;
tmp_584 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__ansi);
if (!tmp_584) tmp_584 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__ansi);
if (tmp_584) {
current_location.update_lineno(3028);
/* SCCP_Emulation.ttcn, line 3028 */
return ConvertASPAddressToEncodedAddress__ansi(pl__ASPAddress);
}
else {
current_location.update_lineno(3030);
/* SCCP_Emulation.ttcn, line 3030 */
boolean tmp_585;
tmp_585 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__ttc);
if (!tmp_585) tmp_585 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__ttc);
if (tmp_585) {
current_location.update_lineno(3033);
/* SCCP_Emulation.ttcn, line 3033 */
{
boolean tmp_586;
{
boolean tmp_587;
tmp_587 = (SCCP__CT_component_v__SIO == os_3);
if (!tmp_587) tmp_587 = (SCCP__CT_component_v__SIO == os_4);
tmp_586 = tmp_587;
}
if (!tmp_586) tmp_586 = (SCCP__CT_component_v__SIO == os_5);
if (tmp_586) {
current_location.update_lineno(3035);
/* SCCP_Emulation.ttcn, line 3035 */
return ConvertASPAddressToEncodedAddress__ttc(pl__ASPAddress);
}
else {
current_location.update_lineno(3039);
/* SCCP_Emulation.ttcn, line 3039 */
return ConvertASPAddressToEncodedAddress__itu(pl__ASPAddress);
}
}
}
else {
current_location.update_lineno(3042);
/* SCCP_Emulation.ttcn, line 3042 */
if ((SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__mpt)) {
current_location.update_lineno(3044);
/* SCCP_Emulation.ttcn, line 3044 */
if ((SCCP__CT_component_v__NI == 2)) {
current_location.update_lineno(3046);
/* SCCP_Emulation.ttcn, line 3046 */
return ConvertASPAddressToEncodedAddress__mpt(pl__ASPAddress);
}
else {
current_location.update_lineno(3050);
/* SCCP_Emulation.ttcn, line 3050 */
return ConvertASPAddressToEncodedAddress__itu(pl__ASPAddress);
}
}
else {
current_location.update_lineno(3054);
/* SCCP_Emulation.ttcn, line 3054 */
TTCN_Logger::log_str(TTCN_USER, "Error in ConvertASPAddressToEncodedAddress: Unknown SCCPServiceType");
current_location.update_lineno(3055);
/* SCCP_Emulation.ttcn, line 3055 */
TTCN_Runtime::stop_execution();
}
}
}
}
}
current_location.update_lineno(3057);
/* SCCP_Emulation.ttcn, line 3057 */
return vl__PDUAddressEncoded;
}

void start_ConvertASPAddressToEncodedAddress(const COMPONENT& component_reference, const SCCPasp__Types::SCCP__PAR__Address& pl__ASPAddress)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConvertASPAddressToEncodedAddress", text_buf);
pl__ASPAddress.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

SCCPasp__Types::SCCP__PAR__Address ConvertPDUEncodedAddressToASPAddress(const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__PDUAddress)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3067, TTCN_Location::LOCATION_FUNCTION, "ConvertPDUEncodedAddressToASPAddress");
current_location.update_lineno(3070);
/* SCCP_Emulation.ttcn, line 3070 */
SCCPasp__Types::SCCP__PAR__Address vl__dummyretval;
current_location.update_lineno(3072);
/* SCCP_Emulation.ttcn, line 3072 */
{
boolean tmp_588;
tmp_588 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__itu);
if (!tmp_588) tmp_588 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__itu);
if (tmp_588) {
current_location.update_lineno(3075);
/* SCCP_Emulation.ttcn, line 3075 */
return ConvertPDUEncodedAddressToASPAddress__itu(pl__PDUAddress);
}
else {
current_location.update_lineno(3077);
/* SCCP_Emulation.ttcn, line 3077 */
boolean tmp_589;
tmp_589 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__ansi);
if (!tmp_589) tmp_589 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__ansi);
if (tmp_589) {
current_location.update_lineno(3080);
/* SCCP_Emulation.ttcn, line 3080 */
return ConvertPDUEncodedAddressToASPAddress__ansi(pl__PDUAddress);
}
else {
current_location.update_lineno(3082);
/* SCCP_Emulation.ttcn, line 3082 */
boolean tmp_590;
tmp_590 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__ttc);
if (!tmp_590) tmp_590 = (SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3b__ttc);
if (tmp_590) {
current_location.update_lineno(3084);
/* SCCP_Emulation.ttcn, line 3084 */
{
boolean tmp_591;
{
boolean tmp_592;
tmp_592 = (SCCP__CT_component_v__SIO == os_3);
if (!tmp_592) tmp_592 = (SCCP__CT_component_v__SIO == os_4);
tmp_591 = tmp_592;
}
if (!tmp_591) tmp_591 = (SCCP__CT_component_v__SIO == os_5);
if (tmp_591) {
current_location.update_lineno(3087);
/* SCCP_Emulation.ttcn, line 3087 */
return ConvertPDUEncodedAddressToASPAddress__ttc(pl__PDUAddress);
}
else {
current_location.update_lineno(3090);
/* SCCP_Emulation.ttcn, line 3090 */
return ConvertPDUEncodedAddressToASPAddress__itu(pl__PDUAddress);
}
}
}
else {
current_location.update_lineno(3093);
/* SCCP_Emulation.ttcn, line 3093 */
if ((SCCP__CT_component_v__SCCPServiceType == SCCP__Types::mtp3__mpt)) {
current_location.update_lineno(3095);
/* SCCP_Emulation.ttcn, line 3095 */
if ((SCCP__CT_component_v__NI == 2)) {
current_location.update_lineno(3097);
/* SCCP_Emulation.ttcn, line 3097 */
return ConvertPDUEncodedAddressToASPAddress__mpt(pl__PDUAddress);
}
else {
current_location.update_lineno(3101);
/* SCCP_Emulation.ttcn, line 3101 */
return ConvertPDUEncodedAddressToASPAddress__itu(pl__PDUAddress);
}
}
else {
current_location.update_lineno(3105);
/* SCCP_Emulation.ttcn, line 3105 */
TTCN_Logger::log_str(TTCN_USER, "Error in function ConvertPDUEncodedAddressToASPAddress, Unknown SCCPSCCPType");
current_location.update_lineno(3106);
/* SCCP_Emulation.ttcn, line 3106 */
TTCN_Runtime::stop_execution();
}
}
}
}
}
current_location.update_lineno(3108);
/* SCCP_Emulation.ttcn, line 3108 */
return vl__dummyretval;
}

void start_ConvertPDUEncodedAddressToASPAddress(const COMPONENT& component_reference, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__PDUAddress)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertPDUEncodedAddressToASPAddress(");
pl__PDUAddress.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ConvertPDUEncodedAddressToASPAddress", text_buf);
pl__PDUAddress.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__Unitdata(const SCCP__Types::PDU__SCCP__Unitdata& pl__PDU__SCCP__Unitdata)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3413, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_Unitdata");
current_location.update_lineno(3417);
/* SCCP_Emulation.ttcn, line 3417 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(3418);
/* SCCP_Emulation.ttcn, line 3418 */
SCCPasp__Types::ASP__SCCP__N__UNITDATA__ind vl__N__UNITDATA__ind;
current_location.update_lineno(3420);
/* SCCP_Emulation.ttcn, line 3420 */
vl__PDU__SCCP.unitdata() = pl__PDU__SCCP__Unitdata;
current_location.update_lineno(3423);
/* SCCP_Emulation.ttcn, line 3423 */
vl__N__UNITDATA__ind.calledAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).calledPAddress());
current_location.update_lineno(3426);
/* SCCP_Emulation.ttcn, line 3426 */
{
boolean tmp_595;
{
boolean tmp_596 = vl__N__UNITDATA__ind.is_bound();
if(tmp_596) {
const SCCPasp__Types::ASP__SCCP__N__UNITDATA__ind& tmp_597 = vl__N__UNITDATA__ind;
const SCCPasp__Types::SCCP__PAR__Address& tmp_598 = tmp_597.calledAddress();
tmp_596 = tmp_598.is_bound();
if(tmp_596) {
const OPTIONAL< INTEGER >& tmp_599 = tmp_598.subsystemNumber();
switch (tmp_599.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_596 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_596 = FALSE;
break;
default:
{
const INTEGER& tmp_600 = (const INTEGER&) tmp_599;
tmp_596 = tmp_600.is_present();
break;}
}
}
}
tmp_595 = tmp_596;
}
if (tmp_595) tmp_595 = (const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__ind&>(vl__N__UNITDATA__ind).calledAddress().subsystemNumber() != 1);
if (tmp_595) {
current_location.update_lineno(3439);
/* SCCP_Emulation.ttcn, line 3439 */
vl__N__UNITDATA__ind.callingAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).callingPAddress());
current_location.update_lineno(3446);
/* SCCP_Emulation.ttcn, line 3446 */
vl__N__UNITDATA__ind.sequenceControl() = (bs_4 + const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).protClass().class_()[3]);
current_location.update_lineno(3449);
/* SCCP_Emulation.ttcn, line 3449 */
if ((const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).protClass().messageHandling() == bs_5)) {
current_location.update_lineno(3450);
/* SCCP_Emulation.ttcn, line 3450 */
vl__N__UNITDATA__ind.returnOption() = bs_6;
}
else {
current_location.update_lineno(3452);
/* SCCP_Emulation.ttcn, line 3452 */
vl__N__UNITDATA__ind.returnOption() = bs_7;
}
current_location.update_lineno(3462);
/* SCCP_Emulation.ttcn, line 3462 */
vl__N__UNITDATA__ind.userData() = const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).data().data();
current_location.update_lineno(3463);
/* SCCP_Emulation.ttcn, line 3463 */
vl__N__UNITDATA__ind.importance() = OMIT_VALUE;
current_location.update_lineno(3464);
/* SCCP_Emulation.ttcn, line 3464 */
SCCP__CT_component_SCCP__SP__PORT.send(vl__N__UNITDATA__ind, NULL);
}
else {
current_location.update_lineno(3470);
/* SCCP_Emulation.ttcn, line 3470 */
TTCN_Logger::log_str(TTCN_USER, "SCCP management message received");
current_location.update_lineno(3471);
/* SCCP_Emulation.ttcn, line 3471 */
OCTETSTRING vl__data;
current_location.update_lineno(3472);
/* SCCP_Emulation.ttcn, line 3472 */
vl__data = const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).data().data();
current_location.update_lineno(3474);
/* SCCP_Emulation.ttcn, line 3474 */
vl__PDU__SCCP.unitdata().messageType() = SCCP__Types::udt;
current_location.update_lineno(3475);
/* SCCP_Emulation.ttcn, line 3475 */
vl__PDU__SCCP.unitdata().calledPAddress() = const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).callingPAddress();
current_location.update_lineno(3476);
/* SCCP_Emulation.ttcn, line 3476 */
vl__PDU__SCCP.unitdata().callingPAddress() = const_cast< const SCCP__Types::PDU__SCCP__Unitdata&>(pl__PDU__SCCP__Unitdata).calledPAddress();
current_location.update_lineno(3478);
/* SCCP_Emulation.ttcn, line 3478 */
{
boolean tmp_611;
tmp_611 = (const_cast< const OCTETSTRING&>(vl__data)[0] == os_6);
if (tmp_611) {
boolean tmp_612;
tmp_612 = (SCCP__CT_component_v__SSN == 0);
if (!tmp_612) tmp_612 = (oct2int(const_cast< const OCTETSTRING&>(vl__data)[1]) == SCCP__CT_component_v__SSN);
tmp_611 = tmp_612;
}
if (tmp_611) {
current_location.update_lineno(3483);
/* SCCP_Emulation.ttcn, line 3483 */
vl__PDU__SCCP.unitdata().data().data()[0] = os_7;
current_location.update_lineno(3484);
/* SCCP_Emulation.ttcn, line 3484 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(3488);
/* SCCP_Emulation.ttcn, line 3488 */
boolean tmp_614;
tmp_614 = (const_cast< const OCTETSTRING&>(vl__data)[0] == os_8);
if (tmp_614) {
boolean tmp_615;
tmp_615 = (SCCP__CT_component_v__SSN == 0);
if (!tmp_615) tmp_615 = (oct2int(const_cast< const OCTETSTRING&>(vl__data)[1]) == SCCP__CT_component_v__SSN);
tmp_614 = tmp_615;
}
if (tmp_614) {
current_location.update_lineno(3493);
/* SCCP_Emulation.ttcn, line 3493 */
vl__PDU__SCCP.unitdata().data().data()[0] = os_6;
current_location.update_lineno(3494);
/* SCCP_Emulation.ttcn, line 3494 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(3498);
/* SCCP_Emulation.ttcn, line 3498 */
boolean tmp_617;
tmp_617 = (const_cast< const OCTETSTRING&>(vl__data)[0] == os_7);
if (tmp_617) {
boolean tmp_618;
tmp_618 = (SCCP__CT_component_v__SSN == 0);
if (!tmp_618) tmp_618 = (oct2int(const_cast< const OCTETSTRING&>(vl__data)[1]) == SCCP__CT_component_v__SSN);
tmp_617 = tmp_618;
}
if (tmp_617) {
current_location.update_lineno(3503);
/* SCCP_Emulation.ttcn, line 3503 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(3509);
/* SCCP_Emulation.ttcn, line 3509 */
TTCN_Logger::log_str(TTCN_USER, "Unsupported (or containing inconsistent SSN)SCCP management message  received and discarded");
}
}
}
}
}
}
current_location.update_lineno(3512);
/* SCCP_Emulation.ttcn, line 3512 */
return;
}

void start_processing__PDU__SCCP__Unitdata(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__Unitdata& pl__PDU__SCCP__Unitdata)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_Unitdata(");
pl__PDU__SCCP__Unitdata.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_Unitdata", text_buf);
pl__PDU__SCCP__Unitdata.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__UnitdataService(const SCCP__Types::PDU__SCCP__UnitdataService& pl__PDU__SCCP__UnitdataService)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3518, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_UnitdataService");
current_location.update_lineno(3522);
/* SCCP_Emulation.ttcn, line 3522 */
SCCPasp__Types::ASP__SCCP__N__NOTICE__ind vl__N__NOTICE__ind;
current_location.update_lineno(3533);
/* SCCP_Emulation.ttcn, line 3533 */
vl__N__NOTICE__ind.calledAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__UnitdataService&>(pl__PDU__SCCP__UnitdataService).calledPAddress());
current_location.update_lineno(3534);
/* SCCP_Emulation.ttcn, line 3534 */
vl__N__NOTICE__ind.callingAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__UnitdataService&>(pl__PDU__SCCP__UnitdataService).callingPAddress());
current_location.update_lineno(3536);
/* SCCP_Emulation.ttcn, line 3536 */
vl__N__NOTICE__ind.reasonForReturn() = const_cast< const SCCP__Types::PDU__SCCP__UnitdataService&>(pl__PDU__SCCP__UnitdataService).returnCause();
current_location.update_lineno(3537);
/* SCCP_Emulation.ttcn, line 3537 */
vl__N__NOTICE__ind.userData() = const_cast< const SCCP__Types::PDU__SCCP__UnitdataService&>(pl__PDU__SCCP__UnitdataService).data().data();
current_location.update_lineno(3539);
/* SCCP_Emulation.ttcn, line 3539 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__NOTICE__ind(SCCPasp__Types::SCCP__PAR__Address_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__NOTICE__ind&>(vl__N__NOTICE__ind).calledAddress()), SCCPasp__Types::SCCP__PAR__Address_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__NOTICE__ind&>(vl__N__NOTICE__ind).callingAddress()), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__NOTICE__ind&>(vl__N__NOTICE__ind).reasonForReturn()), OCTETSTRING_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__NOTICE__ind&>(vl__N__NOTICE__ind).userData()), INTEGER_template(OMIT_VALUE)), NULL);
}

void start_processing__PDU__SCCP__UnitdataService(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__UnitdataService& pl__PDU__SCCP__UnitdataService)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_UnitdataService(");
pl__PDU__SCCP__UnitdataService.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_UnitdataService", text_buf);
pl__PDU__SCCP__UnitdataService.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ConnectionRequest(const SCCP__Types::PDU__SCCP__ConnectionRequest& pl__PDU__SCCP__ConnectionRequest)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3552, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ConnectionRequest");
current_location.update_lineno(3565);
/* SCCP_Emulation.ttcn, line 3565 */
if (ConnectionAlreadyEstablished__remote(const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).sourceLocRef())) {
current_location.update_lineno(3567);
/* SCCP_Emulation.ttcn, line 3567 */
SCCP__CT_component_v__session = Retrieve__session__remote(const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).sourceLocRef());
current_location.update_lineno(3570);
/* SCCP_Emulation.ttcn, line 3570 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(3571);
/* SCCP_Emulation.ttcn, line 3571 */
TTCN_Logger::log_str(TTCN_USER, "CR received with reference for an already established conn. in state:idle");
}
else {
current_location.update_lineno(3572);
/* SCCP_Emulation.ttcn, line 3572 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(3573);
/* SCCP_Emulation.ttcn, line 3573 */
TTCN_Logger::log_str(TTCN_USER, "CR received with reference for an already established conn. in state:active");
}
else {
current_location.update_lineno(3574);
/* SCCP_Emulation.ttcn, line 3574 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(3575);
/* SCCP_Emulation.ttcn, line 3575 */
TTCN_Logger::log_str(TTCN_USER, "CR received with reference for an already established conn. in state:reset_bothway");
}
else {
current_location.update_lineno(3576);
/* SCCP_Emulation.ttcn, line 3576 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(3577);
/* SCCP_Emulation.ttcn, line 3577 */
TTCN_Logger::log_str(TTCN_USER, "CR received with reference for an already established conn. in state:connection_pending_IC");
}
else {
current_location.update_lineno(3579);
/* SCCP_Emulation.ttcn, line 3579 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(3580);
/* SCCP_Emulation.ttcn, line 3580 */
TTCN_Logger::log_str(TTCN_USER, "CR received with reference for an already established conn. in state:disconnect_pending");
}
else {
current_location.update_lineno(3581);
/* SCCP_Emulation.ttcn, line 3581 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(3583);
/* SCCP_Emulation.ttcn, line 3583 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(3585);
/* SCCP_Emulation.ttcn, line 3585 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(3588);
/* SCCP_Emulation.ttcn, line 3588 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(3591);
/* SCCP_Emulation.ttcn, line 3591 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(3593);
/* SCCP_Emulation.ttcn, line 3593 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(3601);
/* SCCP_Emulation.ttcn, line 3601 */
SCCP__CT_component_v__session = CheckIdleIndividuals();
current_location.update_lineno(3604);
/* SCCP_Emulation.ttcn, line 3604 */
if ((SCCP__CT_component_v__session != -1)) {
current_location.update_lineno(3607);
/* SCCP_Emulation.ttcn, line 3607 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].localReference() = GenerateLocalReference();
current_location.update_lineno(3608);
/* SCCP_Emulation.ttcn, line 3608 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].remoteReference() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).sourceLocRef();
current_location.update_lineno(3611);
/* SCCP_Emulation.ttcn, line 3611 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].connectionId() = GenerateConnectionId();
current_location.update_lineno(3618);
/* SCCP_Emulation.ttcn, line 3618 */
SCCPasp__Types::ASP__SCCP__N__CONNECT__ind vl__N__CONNECT__ind;
current_location.update_lineno(3619);
/* SCCP_Emulation.ttcn, line 3619 */
f__StartTimer(TimerIdentifierType::t__guard, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(3621);
/* SCCP_Emulation.ttcn, line 3621 */
vl__N__CONNECT__ind.calledAddress() = ConvertPDUEncodedAddressToASPAddress(const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).calledPAddress());
current_location.update_lineno(3623);
/* SCCP_Emulation.ttcn, line 3623 */
{
boolean tmp_633;
{
boolean tmp_630 = pl__PDU__SCCP__ConnectionRequest.is_bound();
if(tmp_630) {
const OPTIONAL< SCCP__Types::SCCP__ConnReq__optionalPart >& tmp_631 = pl__PDU__SCCP__ConnectionRequest.optionalPart();
switch (tmp_631.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_630 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_630 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__ConnReq__optionalPart& tmp_632 = (const SCCP__Types::SCCP__ConnReq__optionalPart&) tmp_631;
tmp_630 = tmp_632.is_present();
break;}
}
}
tmp_633 = tmp_630;
}
if (tmp_633) {
current_location.update_lineno(3625);
/* SCCP_Emulation.ttcn, line 3625 */
{
boolean tmp_639;
{
boolean tmp_634 = pl__PDU__SCCP__ConnectionRequest.is_bound();
if(tmp_634) {
const OPTIONAL< SCCP__Types::SCCP__ConnReq__optionalPart >& tmp_635 = pl__PDU__SCCP__ConnectionRequest.optionalPart();
switch (tmp_635.get_selection()) {
case OPTIONAL_UNBOUND:
case OPTIONAL_OMIT:
tmp_634 = FALSE;
break;
default:
break;
}
if(tmp_634) {
const SCCP__Types::SCCP__ConnReq__optionalPart& tmp_636 = (const SCCP__Types::SCCP__ConnReq__optionalPart&) tmp_635;
tmp_634 = tmp_636.is_bound();
if(tmp_634) {
const OPTIONAL< SCCP__Types::SCCP__param__CPartyAddressEnc__opt >& tmp_637 = tmp_636.callingPAddress();
switch (tmp_637.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_634 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_634 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__param__CPartyAddressEnc__opt& tmp_638 = (const SCCP__Types::SCCP__param__CPartyAddressEnc__opt&) tmp_637;
tmp_634 = tmp_638.is_present();
break;}
}
}
}
}
tmp_639 = tmp_634;
}
if (tmp_639) {
current_location.update_lineno(3629);
/* SCCP_Emulation.ttcn, line 3629 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__PDUAddress;
current_location.update_lineno(3630);
/* SCCP_Emulation.ttcn, line 3630 */
vl__PDUAddress.addr() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).optionalPart()().callingPAddress()().addr();
current_location.update_lineno(3631);
/* SCCP_Emulation.ttcn, line 3631 */
vl__PDUAddress.paramLength() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).optionalPart()().callingPAddress()().paramLength();
current_location.update_lineno(3632);
/* SCCP_Emulation.ttcn, line 3632 */
vl__N__CONNECT__ind.callingAddress() = ConvertPDUEncodedAddressToASPAddress(vl__PDUAddress);
}
else {
current_location.update_lineno(3635);
/* SCCP_Emulation.ttcn, line 3635 */
vl__N__CONNECT__ind.callingAddress() = OMIT_VALUE;
}
}
current_location.update_lineno(3637);
/* SCCP_Emulation.ttcn, line 3637 */
{
boolean tmp_649;
{
boolean tmp_644 = pl__PDU__SCCP__ConnectionRequest.is_bound();
if(tmp_644) {
const OPTIONAL< SCCP__Types::SCCP__ConnReq__optionalPart >& tmp_645 = pl__PDU__SCCP__ConnectionRequest.optionalPart();
switch (tmp_645.get_selection()) {
case OPTIONAL_UNBOUND:
case OPTIONAL_OMIT:
tmp_644 = FALSE;
break;
default:
break;
}
if(tmp_644) {
const SCCP__Types::SCCP__ConnReq__optionalPart& tmp_646 = (const SCCP__Types::SCCP__ConnReq__optionalPart&) tmp_645;
tmp_644 = tmp_646.is_bound();
if(tmp_644) {
const OPTIONAL< SCCP__Types::SCCP__param__Data__opt >& tmp_647 = tmp_646.data();
switch (tmp_647.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_644 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_644 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__param__Data__opt& tmp_648 = (const SCCP__Types::SCCP__param__Data__opt&) tmp_647;
tmp_644 = tmp_648.is_present();
break;}
}
}
}
}
tmp_649 = tmp_644;
}
if (tmp_649) {
current_location.update_lineno(3640);
/* SCCP_Emulation.ttcn, line 3640 */
SCCP__Types::SCCP__param__Data__opt vl__SCCP__param__Data__opt;
current_location.update_lineno(3642);
/* SCCP_Emulation.ttcn, line 3642 */
vl__SCCP__param__Data__opt = const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).optionalPart()().data();
current_location.update_lineno(3643);
/* SCCP_Emulation.ttcn, line 3643 */
vl__N__CONNECT__ind.userData() = const_cast< const SCCP__Types::SCCP__param__Data__opt&>(vl__SCCP__param__Data__opt).data();
}
else {
current_location.update_lineno(3646);
/* SCCP_Emulation.ttcn, line 3646 */
vl__N__CONNECT__ind.userData() = OMIT_VALUE;
}
}
}
else {
current_location.update_lineno(3650);
/* SCCP_Emulation.ttcn, line 3650 */
vl__N__CONNECT__ind.callingAddress() = OMIT_VALUE;
current_location.update_lineno(3651);
/* SCCP_Emulation.ttcn, line 3651 */
vl__N__CONNECT__ind.userData() = OMIT_VALUE;
}
}
current_location.update_lineno(3654);
/* SCCP_Emulation.ttcn, line 3654 */
vl__N__CONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(3656);
/* SCCP_Emulation.ttcn, line 3656 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__CONNECT__ind(SCCPasp__Types::SCCP__PAR__Address_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__ind&>(vl__N__CONNECT__ind).calledAddress()), SCCPasp__Types::SCCP__PAR__Address_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__ind&>(vl__N__CONNECT__ind).callingAddress()), INTEGER_template(OMIT_VALUE), OCTETSTRING_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__ind&>(vl__N__CONNECT__ind).userData()), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__ind&>(vl__N__CONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(3665);
/* SCCP_Emulation.ttcn, line 3665 */
f__StopTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(3666);
/* SCCP_Emulation.ttcn, line 3666 */
f__StartTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(3667);
/* SCCP_Emulation.ttcn, line 3667 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::connection__pending__IC;
}
current_location.update_lineno(3672);
/* SCCP_Emulation.ttcn, line 3672 */
if ((SCCP__CT_component_v__session == -1)) {
current_location.update_lineno(3675);
/* SCCP_Emulation.ttcn, line 3675 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(3677);
/* SCCP_Emulation.ttcn, line 3677 */
vl__PDU__SCCP.connrefused().messageType() = SCCP__Types::cref;
current_location.update_lineno(3678);
/* SCCP_Emulation.ttcn, line 3678 */
vl__PDU__SCCP.connrefused().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionRequest&>(pl__PDU__SCCP__ConnectionRequest).sourceLocRef();
current_location.update_lineno(3679);
/* SCCP_Emulation.ttcn, line 3679 */
vl__PDU__SCCP.connrefused().refusalCause() = 1;
current_location.update_lineno(3680);
/* SCCP_Emulation.ttcn, line 3680 */
vl__PDU__SCCP.connrefused().pointer1() = 0;
current_location.update_lineno(3681);
/* SCCP_Emulation.ttcn, line 3681 */
vl__PDU__SCCP.connrefused().optionalPart() = OMIT_VALUE;
current_location.update_lineno(3682);
/* SCCP_Emulation.ttcn, line 3682 */
vl__PDU__SCCP.connrefused().eop() = OMIT_VALUE;
current_location.update_lineno(3683);
/* SCCP_Emulation.ttcn, line 3683 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}
}

void start_processing__PDU__SCCP__ConnectionRequest(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ConnectionRequest& pl__PDU__SCCP__ConnectionRequest)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ConnectionRequest(");
pl__PDU__SCCP__ConnectionRequest.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ConnectionRequest", text_buf);
pl__PDU__SCCP__ConnectionRequest.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ConnectionConfirm(const SCCP__Types::PDU__SCCP__ConnectionConfirm& pl__PDU__SCCP__ConnectionConfirm)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3694, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ConnectionConfirm");
current_location.update_lineno(3697);
/* SCCP_Emulation.ttcn, line 3697 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(3698);
/* SCCP_Emulation.ttcn, line 3698 */
SCCPasp__Types::ASP__SCCP__N__CONNECT__cfm vl__N__CONNECT__cfm;
current_location.update_lineno(3700);
/* SCCP_Emulation.ttcn, line 3700 */
try {
TTCN_Logger::begin_event(TTCN_USER);
pl__PDU__SCCP__ConnectionConfirm.log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(3703);
/* SCCP_Emulation.ttcn, line 3703 */
OCTETSTRING_template tl__data(OMIT_VALUE);
current_location.update_lineno(3704);
/* SCCP_Emulation.ttcn, line 3704 */
{
boolean tmp_666;
{
boolean tmp_663 = pl__PDU__SCCP__ConnectionConfirm.is_bound();
if(tmp_663) {
const OPTIONAL< SCCP__Types::SCCP__ConnConfirm__optionalPart >& tmp_664 = pl__PDU__SCCP__ConnectionConfirm.optionalPart();
switch (tmp_664.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_663 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_663 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__ConnConfirm__optionalPart& tmp_665 = (const SCCP__Types::SCCP__ConnConfirm__optionalPart&) tmp_664;
tmp_663 = tmp_665.is_present();
break;}
}
}
tmp_666 = tmp_663;
}
if (tmp_666) {
current_location.update_lineno(3706);
/* SCCP_Emulation.ttcn, line 3706 */
{
boolean tmp_672;
{
boolean tmp_667 = pl__PDU__SCCP__ConnectionConfirm.is_bound();
if(tmp_667) {
const OPTIONAL< SCCP__Types::SCCP__ConnConfirm__optionalPart >& tmp_668 = pl__PDU__SCCP__ConnectionConfirm.optionalPart();
switch (tmp_668.get_selection()) {
case OPTIONAL_UNBOUND:
case OPTIONAL_OMIT:
tmp_667 = FALSE;
break;
default:
break;
}
if(tmp_667) {
const SCCP__Types::SCCP__ConnConfirm__optionalPart& tmp_669 = (const SCCP__Types::SCCP__ConnConfirm__optionalPart&) tmp_668;
tmp_667 = tmp_669.is_bound();
if(tmp_667) {
const OPTIONAL< SCCP__Types::SCCP__param__Data__opt >& tmp_670 = tmp_669.data();
switch (tmp_670.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_667 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_667 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__param__Data__opt& tmp_671 = (const SCCP__Types::SCCP__param__Data__opt&) tmp_670;
tmp_667 = tmp_671.is_present();
break;}
}
}
}
}
tmp_672 = tmp_667;
}
if (tmp_672) {
current_location.update_lineno(3708);
/* SCCP_Emulation.ttcn, line 3708 */
tl__data = const_cast< const SCCP__Types::PDU__SCCP__ConnectionConfirm&>(pl__PDU__SCCP__ConnectionConfirm).optionalPart()().data()().data();
}
}
}
}
current_location.update_lineno(3713);
/* SCCP_Emulation.ttcn, line 3713 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__ConnectionConfirm&>(pl__PDU__SCCP__ConnectionConfirm).destLocRef())) {
current_location.update_lineno(3715);
/* SCCP_Emulation.ttcn, line 3715 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__ConnectionConfirm&>(pl__PDU__SCCP__ConnectionConfirm).destLocRef());
current_location.update_lineno(3717);
/* SCCP_Emulation.ttcn, line 3717 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(3721);
/* SCCP_Emulation.ttcn, line 3721 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(3722);
/* SCCP_Emulation.ttcn, line 3722 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(3723);
/* SCCP_Emulation.ttcn, line 3723 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(3725);
/* SCCP_Emulation.ttcn, line 3725 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(3729);
/* SCCP_Emulation.ttcn, line 3729 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(3730);
/* SCCP_Emulation.ttcn, line 3730 */
TTCN_Logger::log_str(TTCN_USER, "CC received in state:connection_pending_IC");
}
else {
current_location.update_lineno(3731);
/* SCCP_Emulation.ttcn, line 3731 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(3732);
/* SCCP_Emulation.ttcn, line 3732 */
TTCN_Logger::log_str(TTCN_USER, "CC received in state:disconnect_pending");
}
else {
current_location.update_lineno(3733);
/* SCCP_Emulation.ttcn, line 3733 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(3734);
/* SCCP_Emulation.ttcn, line 3734 */
TTCN_Logger::log_str(TTCN_USER, "CC received in state:active");
}
else {
current_location.update_lineno(3735);
/* SCCP_Emulation.ttcn, line 3735 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(3736);
/* SCCP_Emulation.ttcn, line 3736 */
TTCN_Logger::log_str(TTCN_USER, "CC received in state:reset_bothway");
}
else {
current_location.update_lineno(3737);
/* SCCP_Emulation.ttcn, line 3737 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(3740);
/* SCCP_Emulation.ttcn, line 3740 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(3742);
/* SCCP_Emulation.ttcn, line 3742 */
f__StartTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(3743);
/* SCCP_Emulation.ttcn, line 3743 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(3745);
/* SCCP_Emulation.ttcn, line 3745 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].remoteReference() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionConfirm&>(pl__PDU__SCCP__ConnectionConfirm).sourceLocRef();
current_location.update_lineno(3747);
/* SCCP_Emulation.ttcn, line 3747 */
vl__N__CONNECT__cfm.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(3749);
/* SCCP_Emulation.ttcn, line 3749 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__CONNECT__cfm(SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(OMIT_VALUE), tl__data, INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__cfm&>(vl__N__CONNECT__cfm).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(3757);
/* SCCP_Emulation.ttcn, line 3757 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(3759);
/* SCCP_Emulation.ttcn, line 3759 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(3763);
/* SCCP_Emulation.ttcn, line 3763 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(3765);
/* SCCP_Emulation.ttcn, line 3765 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].remoteReference() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionConfirm&>(pl__PDU__SCCP__ConnectionConfirm).sourceLocRef();
current_location.update_lineno(3767);
/* SCCP_Emulation.ttcn, line 3767 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(3768);
/* SCCP_Emulation.ttcn, line 3768 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(3769);
/* SCCP_Emulation.ttcn, line 3769 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].localReference();
current_location.update_lineno(3770);
/* SCCP_Emulation.ttcn, line 3770 */
vl__PDU__SCCP.released().releaseCause() = 20;
current_location.update_lineno(3771);
/* SCCP_Emulation.ttcn, line 3771 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(3772);
/* SCCP_Emulation.ttcn, line 3772 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(3773);
/* SCCP_Emulation.ttcn, line 3773 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(3775);
/* SCCP_Emulation.ttcn, line 3775 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(3778);
/* SCCP_Emulation.ttcn, line 3778 */
f__StartTimer(TimerIdentifierType::rel, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(3779);
/* SCCP_Emulation.ttcn, line 3779 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::disconnect__pending;
}
else {
current_location.update_lineno(3781);
/* SCCP_Emulation.ttcn, line 3781 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(3784);
/* SCCP_Emulation.ttcn, line 3784 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(3786);
/* SCCP_Emulation.ttcn, line 3786 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(3789);
/* SCCP_Emulation.ttcn, line 3789 */
TTCN_Logger::log_str(TTCN_USER, "CC received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(3794);
/* SCCP_Emulation.ttcn, line 3794 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(3795);
/* SCCP_Emulation.ttcn, line 3795 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__ConnectionConfirm&>(pl__PDU__SCCP__ConnectionConfirm).sourceLocRef();
current_location.update_lineno(3796);
/* SCCP_Emulation.ttcn, line 3796 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(3798);
/* SCCP_Emulation.ttcn, line 3798 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}

void start_processing__PDU__SCCP__ConnectionConfirm(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ConnectionConfirm& pl__PDU__SCCP__ConnectionConfirm)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ConnectionConfirm(");
pl__PDU__SCCP__ConnectionConfirm.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ConnectionConfirm", text_buf);
pl__PDU__SCCP__ConnectionConfirm.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__Released(const SCCP__Types::PDU__SCCP__Released& pl__PDU__SCCP__Released)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3807, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_Released");
current_location.update_lineno(3810);
/* SCCP_Emulation.ttcn, line 3810 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(3811);
/* SCCP_Emulation.ttcn, line 3811 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(3814);
/* SCCP_Emulation.ttcn, line 3814 */
OCTETSTRING_template tl__data(OMIT_VALUE);
current_location.update_lineno(3815);
/* SCCP_Emulation.ttcn, line 3815 */
{
boolean tmp_697;
{
boolean tmp_694 = pl__PDU__SCCP__Released.is_bound();
if(tmp_694) {
const OPTIONAL< SCCP__Types::SCCP__Released__optionalPart >& tmp_695 = pl__PDU__SCCP__Released.optionalPart();
switch (tmp_695.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_694 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_694 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__Released__optionalPart& tmp_696 = (const SCCP__Types::SCCP__Released__optionalPart&) tmp_695;
tmp_694 = tmp_696.is_present();
break;}
}
}
tmp_697 = tmp_694;
}
if (tmp_697) {
current_location.update_lineno(3817);
/* SCCP_Emulation.ttcn, line 3817 */
{
boolean tmp_703;
{
boolean tmp_698 = pl__PDU__SCCP__Released.is_bound();
if(tmp_698) {
const OPTIONAL< SCCP__Types::SCCP__Released__optionalPart >& tmp_699 = pl__PDU__SCCP__Released.optionalPart();
switch (tmp_699.get_selection()) {
case OPTIONAL_UNBOUND:
case OPTIONAL_OMIT:
tmp_698 = FALSE;
break;
default:
break;
}
if(tmp_698) {
const SCCP__Types::SCCP__Released__optionalPart& tmp_700 = (const SCCP__Types::SCCP__Released__optionalPart&) tmp_699;
tmp_698 = tmp_700.is_bound();
if(tmp_698) {
const OPTIONAL< SCCP__Types::SCCP__param__Data__opt >& tmp_701 = tmp_700.data();
switch (tmp_701.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_698 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_698 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__param__Data__opt& tmp_702 = (const SCCP__Types::SCCP__param__Data__opt&) tmp_701;
tmp_698 = tmp_702.is_present();
break;}
}
}
}
}
tmp_703 = tmp_698;
}
if (tmp_703) {
current_location.update_lineno(3819);
/* SCCP_Emulation.ttcn, line 3819 */
tl__data = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).optionalPart()().data()().data();
}
}
}
}
current_location.update_lineno(3824);
/* SCCP_Emulation.ttcn, line 3824 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).destLocRef())) {
current_location.update_lineno(3826);
/* SCCP_Emulation.ttcn, line 3826 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).destLocRef());
current_location.update_lineno(3828);
/* SCCP_Emulation.ttcn, line 3828 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference() == const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).sourceLocRef())) {
current_location.update_lineno(3831);
/* SCCP_Emulation.ttcn, line 3831 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(3835);
/* SCCP_Emulation.ttcn, line 3835 */
vl__PDU__SCCP.relcomp().messageType() = SCCP__Types::rlc;
current_location.update_lineno(3836);
/* SCCP_Emulation.ttcn, line 3836 */
vl__PDU__SCCP.relcomp().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(3837);
/* SCCP_Emulation.ttcn, line 3837 */
vl__PDU__SCCP.relcomp().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].localReference();
current_location.update_lineno(3839);
/* SCCP_Emulation.ttcn, line 3839 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(3843);
/* SCCP_Emulation.ttcn, line 3843 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(3844);
/* SCCP_Emulation.ttcn, line 3844 */
TTCN_Logger::log_str(TTCN_USER, "RLSD received in state:connection_pending_IC");
}
else {
current_location.update_lineno(3845);
/* SCCP_Emulation.ttcn, line 3845 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(3846);
/* SCCP_Emulation.ttcn, line 3846 */
TTCN_Logger::log_str(TTCN_USER, "RLSD received in state:disconnect_pending");
}
else {
current_location.update_lineno(3847);
/* SCCP_Emulation.ttcn, line 3847 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(3850);
/* SCCP_Emulation.ttcn, line 3850 */
vl__N__DISCONNECT__ind.originator() = cg__Mapping__RelCause__Orig[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3851);
/* SCCP_Emulation.ttcn, line 3851 */
vl__N__DISCONNECT__ind.reason() = cg__Mapping__RelCause__Reason[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3852);
/* SCCP_Emulation.ttcn, line 3852 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(3854);
/* SCCP_Emulation.ttcn, line 3854 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), tl__data, INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(3864);
/* SCCP_Emulation.ttcn, line 3864 */
vl__PDU__SCCP.relcomp().messageType() = SCCP__Types::rlc;
current_location.update_lineno(3865);
/* SCCP_Emulation.ttcn, line 3865 */
vl__PDU__SCCP.relcomp().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).sourceLocRef();
current_location.update_lineno(3866);
/* SCCP_Emulation.ttcn, line 3866 */
vl__PDU__SCCP.relcomp().sourceLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).destLocRef();
current_location.update_lineno(3868);
/* SCCP_Emulation.ttcn, line 3868 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(3872);
/* SCCP_Emulation.ttcn, line 3872 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(3874);
/* SCCP_Emulation.ttcn, line 3874 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(3877);
/* SCCP_Emulation.ttcn, line 3877 */
vl__PDU__SCCP.relcomp().messageType() = SCCP__Types::rlc;
current_location.update_lineno(3878);
/* SCCP_Emulation.ttcn, line 3878 */
vl__PDU__SCCP.relcomp().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).sourceLocRef();
current_location.update_lineno(3879);
/* SCCP_Emulation.ttcn, line 3879 */
vl__PDU__SCCP.relcomp().sourceLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).destLocRef();
current_location.update_lineno(3880);
/* SCCP_Emulation.ttcn, line 3880 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(3884);
/* SCCP_Emulation.ttcn, line 3884 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(3887);
/* SCCP_Emulation.ttcn, line 3887 */
vl__N__DISCONNECT__ind.originator() = cg__Mapping__RelCause__Orig[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3888);
/* SCCP_Emulation.ttcn, line 3888 */
vl__N__DISCONNECT__ind.reason() = cg__Mapping__RelCause__Reason[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3889);
/* SCCP_Emulation.ttcn, line 3889 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(3891);
/* SCCP_Emulation.ttcn, line 3891 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), tl__data, INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(3900);
/* SCCP_Emulation.ttcn, line 3900 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(3903);
/* SCCP_Emulation.ttcn, line 3903 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(3906);
/* SCCP_Emulation.ttcn, line 3906 */
vl__PDU__SCCP.relcomp().messageType() = SCCP__Types::rlc;
current_location.update_lineno(3907);
/* SCCP_Emulation.ttcn, line 3907 */
vl__PDU__SCCP.relcomp().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).sourceLocRef();
current_location.update_lineno(3908);
/* SCCP_Emulation.ttcn, line 3908 */
vl__PDU__SCCP.relcomp().sourceLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).destLocRef();
current_location.update_lineno(3909);
/* SCCP_Emulation.ttcn, line 3909 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(3912);
/* SCCP_Emulation.ttcn, line 3912 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(3914);
/* SCCP_Emulation.ttcn, line 3914 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(3916);
/* SCCP_Emulation.ttcn, line 3916 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(3919);
/* SCCP_Emulation.ttcn, line 3919 */
vl__N__DISCONNECT__ind.originator() = cg__Mapping__RelCause__Orig[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3920);
/* SCCP_Emulation.ttcn, line 3920 */
vl__N__DISCONNECT__ind.reason() = cg__Mapping__RelCause__Reason[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3921);
/* SCCP_Emulation.ttcn, line 3921 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(3922);
/* SCCP_Emulation.ttcn, line 3922 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), tl__data, INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(3932);
/* SCCP_Emulation.ttcn, line 3932 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(3934);
/* SCCP_Emulation.ttcn, line 3934 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(3938);
/* SCCP_Emulation.ttcn, line 3938 */
vl__N__DISCONNECT__ind.originator() = cg__Mapping__RelCause__Orig[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3939);
/* SCCP_Emulation.ttcn, line 3939 */
vl__N__DISCONNECT__ind.reason() = cg__Mapping__RelCause__Reason[const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).releaseCause()];
current_location.update_lineno(3940);
/* SCCP_Emulation.ttcn, line 3940 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(3942);
/* SCCP_Emulation.ttcn, line 3942 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), tl__data, INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(3952);
/* SCCP_Emulation.ttcn, line 3952 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(3955);
/* SCCP_Emulation.ttcn, line 3955 */
TTCN_Logger::log_str(TTCN_USER, "RLSD received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(3959);
/* SCCP_Emulation.ttcn, line 3959 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(3960);
/* SCCP_Emulation.ttcn, line 3960 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).sourceLocRef();
current_location.update_lineno(3961);
/* SCCP_Emulation.ttcn, line 3961 */
vl__PDU__SCCP.pduerror().errorCause() = 1;
current_location.update_lineno(3963);
/* SCCP_Emulation.ttcn, line 3963 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}
else {
current_location.update_lineno(3970);
/* SCCP_Emulation.ttcn, line 3970 */
vl__PDU__SCCP.relcomp().messageType() = SCCP__Types::rlc;
current_location.update_lineno(3971);
/* SCCP_Emulation.ttcn, line 3971 */
vl__PDU__SCCP.relcomp().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).sourceLocRef();
current_location.update_lineno(3972);
/* SCCP_Emulation.ttcn, line 3972 */
vl__PDU__SCCP.relcomp().sourceLocRef() = const_cast< const SCCP__Types::PDU__SCCP__Released&>(pl__PDU__SCCP__Released).destLocRef();
current_location.update_lineno(3974);
/* SCCP_Emulation.ttcn, line 3974 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}

void start_processing__PDU__SCCP__Released(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__Released& pl__PDU__SCCP__Released)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_Released(");
pl__PDU__SCCP__Released.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_Released", text_buf);
pl__PDU__SCCP__Released.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ProtDataUnitError(const SCCP__Types::PDU__SCCP__ProtDataUnitError& pl__PDU__SCCP__ProtDataUnitError)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 3983, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ProtDataUnitError");
current_location.update_lineno(3986);
/* SCCP_Emulation.ttcn, line 3986 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(3987);
/* SCCP_Emulation.ttcn, line 3987 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(3990);
/* SCCP_Emulation.ttcn, line 3990 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).destLocRef())) {
current_location.update_lineno(3992);
/* SCCP_Emulation.ttcn, line 3992 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).destLocRef());
current_location.update_lineno(3995);
/* SCCP_Emulation.ttcn, line 3995 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(3999);
/* SCCP_Emulation.ttcn, line 3999 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4000);
/* SCCP_Emulation.ttcn, line 4000 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(4001);
/* SCCP_Emulation.ttcn, line 4001 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(4002);
/* SCCP_Emulation.ttcn, line 4002 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(4007);
/* SCCP_Emulation.ttcn, line 4007 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(4008);
/* SCCP_Emulation.ttcn, line 4008 */
TTCN_Logger::log_str(TTCN_USER, "PDUError received in state:disconnect_pending ");
}
else {
current_location.update_lineno(4009);
/* SCCP_Emulation.ttcn, line 4009 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4010);
/* SCCP_Emulation.ttcn, line 4010 */
TTCN_Logger::log_str(TTCN_USER, "PDUError received in state:connection_pending_IC ");
}
else {
current_location.update_lineno(4011);
/* SCCP_Emulation.ttcn, line 4011 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(4014);
/* SCCP_Emulation.ttcn, line 4014 */
vl__N__DISCONNECT__ind.originator() = 0;
current_location.update_lineno(4015);
/* SCCP_Emulation.ttcn, line 4015 */
vl__N__DISCONNECT__ind.reason() = const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).errorCause();
current_location.update_lineno(4016);
/* SCCP_Emulation.ttcn, line 4016 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4017);
/* SCCP_Emulation.ttcn, line 4017 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4027);
/* SCCP_Emulation.ttcn, line 4027 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4029);
/* SCCP_Emulation.ttcn, line 4029 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4031);
/* SCCP_Emulation.ttcn, line 4031 */
if ((const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).errorCause() != 3)) {
current_location.update_lineno(4035);
/* SCCP_Emulation.ttcn, line 4035 */
vl__N__DISCONNECT__ind.originator() = 0;
current_location.update_lineno(4036);
/* SCCP_Emulation.ttcn, line 4036 */
vl__N__DISCONNECT__ind.reason() = const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).errorCause();
current_location.update_lineno(4037);
/* SCCP_Emulation.ttcn, line 4037 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4039);
/* SCCP_Emulation.ttcn, line 4039 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4048);
/* SCCP_Emulation.ttcn, line 4048 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4055);
/* SCCP_Emulation.ttcn, line 4055 */
vl__N__DISCONNECT__ind.originator() = 0;
current_location.update_lineno(4056);
/* SCCP_Emulation.ttcn, line 4056 */
vl__N__DISCONNECT__ind.reason() = const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).errorCause();
current_location.update_lineno(4057);
/* SCCP_Emulation.ttcn, line 4057 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4059);
/* SCCP_Emulation.ttcn, line 4059 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4069);
/* SCCP_Emulation.ttcn, line 4069 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4070);
/* SCCP_Emulation.ttcn, line 4070 */
f__StopTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4074);
/* SCCP_Emulation.ttcn, line 4074 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(4075);
/* SCCP_Emulation.ttcn, line 4075 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(4076);
/* SCCP_Emulation.ttcn, line 4076 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].localReference();
current_location.update_lineno(4077);
/* SCCP_Emulation.ttcn, line 4077 */
vl__PDU__SCCP.released().releaseCause() = 5;
current_location.update_lineno(4078);
/* SCCP_Emulation.ttcn, line 4078 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(4079);
/* SCCP_Emulation.ttcn, line 4079 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(4080);
/* SCCP_Emulation.ttcn, line 4080 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(4082);
/* SCCP_Emulation.ttcn, line 4082 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(4086);
/* SCCP_Emulation.ttcn, line 4086 */
f__StartTimer(TimerIdentifierType::rel, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(4088);
/* SCCP_Emulation.ttcn, line 4088 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::disconnect__pending;
}
}
else {
current_location.update_lineno(4093);
/* SCCP_Emulation.ttcn, line 4093 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4096);
/* SCCP_Emulation.ttcn, line 4096 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4099);
/* SCCP_Emulation.ttcn, line 4099 */
vl__N__DISCONNECT__ind.originator() = 0;
current_location.update_lineno(4100);
/* SCCP_Emulation.ttcn, line 4100 */
vl__N__DISCONNECT__ind.reason() = const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).errorCause();
current_location.update_lineno(4101);
/* SCCP_Emulation.ttcn, line 4101 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4103);
/* SCCP_Emulation.ttcn, line 4103 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4112);
/* SCCP_Emulation.ttcn, line 4112 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4114);
/* SCCP_Emulation.ttcn, line 4114 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4118);
/* SCCP_Emulation.ttcn, line 4118 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4120);
/* SCCP_Emulation.ttcn, line 4120 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4124);
/* SCCP_Emulation.ttcn, line 4124 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(4127);
/* SCCP_Emulation.ttcn, line 4127 */
vl__N__DISCONNECT__ind.originator() = 0;
current_location.update_lineno(4128);
/* SCCP_Emulation.ttcn, line 4128 */
vl__N__DISCONNECT__ind.reason() = const_cast< const SCCP__Types::PDU__SCCP__ProtDataUnitError&>(pl__PDU__SCCP__ProtDataUnitError).errorCause();
current_location.update_lineno(4129);
/* SCCP_Emulation.ttcn, line 4129 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4130);
/* SCCP_Emulation.ttcn, line 4130 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4140);
/* SCCP_Emulation.ttcn, line 4140 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4143);
/* SCCP_Emulation.ttcn, line 4143 */
TTCN_Logger::log_str(TTCN_USER, "PDUError received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
}
}

void start_processing__PDU__SCCP__ProtDataUnitError(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ProtDataUnitError& pl__PDU__SCCP__ProtDataUnitError)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ProtDataUnitError(");
pl__PDU__SCCP__ProtDataUnitError.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ProtDataUnitError", text_buf);
pl__PDU__SCCP__ProtDataUnitError.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ReleaseComplete(const SCCP__Types::PDU__SCCP__ReleaseComplete& pl__PDU__SCCP__ReleaseComplete)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4152, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ReleaseComplete");
current_location.update_lineno(4155);
/* SCCP_Emulation.ttcn, line 4155 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4158);
/* SCCP_Emulation.ttcn, line 4158 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__ReleaseComplete&>(pl__PDU__SCCP__ReleaseComplete).destLocRef())) {
current_location.update_lineno(4161);
/* SCCP_Emulation.ttcn, line 4161 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__ReleaseComplete&>(pl__PDU__SCCP__ReleaseComplete).destLocRef());
current_location.update_lineno(4163);
/* SCCP_Emulation.ttcn, line 4163 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference() == const_cast< const SCCP__Types::PDU__SCCP__ReleaseComplete&>(pl__PDU__SCCP__ReleaseComplete).sourceLocRef())) {
current_location.update_lineno(4167);
/* SCCP_Emulation.ttcn, line 4167 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4168);
/* SCCP_Emulation.ttcn, line 4168 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state: idle");
}
else {
current_location.update_lineno(4169);
/* SCCP_Emulation.ttcn, line 4169 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4170);
/* SCCP_Emulation.ttcn, line 4170 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state: connection_pending_IC");
}
else {
current_location.update_lineno(4171);
/* SCCP_Emulation.ttcn, line 4171 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4172);
/* SCCP_Emulation.ttcn, line 4172 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state: active");
}
else {
current_location.update_lineno(4173);
/* SCCP_Emulation.ttcn, line 4173 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(4174);
/* SCCP_Emulation.ttcn, line 4174 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state:reset_bothway ");
}
else {
current_location.update_lineno(4175);
/* SCCP_Emulation.ttcn, line 4175 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(4177);
/* SCCP_Emulation.ttcn, line 4177 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state:disconnect_pending ");
current_location.update_lineno(4179);
/* SCCP_Emulation.ttcn, line 4179 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4181);
/* SCCP_Emulation.ttcn, line 4181 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4183);
/* SCCP_Emulation.ttcn, line 4183 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4185);
/* SCCP_Emulation.ttcn, line 4185 */
vl__N__DISCONNECT__ind.originator() = 1;
current_location.update_lineno(4186);
/* SCCP_Emulation.ttcn, line 4186 */
vl__N__DISCONNECT__ind.reason() = 20;
current_location.update_lineno(4187);
/* SCCP_Emulation.ttcn, line 4187 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4189);
/* SCCP_Emulation.ttcn, line 4189 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4198);
/* SCCP_Emulation.ttcn, line 4198 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4200);
/* SCCP_Emulation.ttcn, line 4200 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4202);
/* SCCP_Emulation.ttcn, line 4202 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state:wait_conn_confirm");
current_location.update_lineno(4204);
/* SCCP_Emulation.ttcn, line 4204 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4206);
/* SCCP_Emulation.ttcn, line 4206 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4208);
/* SCCP_Emulation.ttcn, line 4208 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(4210);
/* SCCP_Emulation.ttcn, line 4210 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in state:reset_IC");
current_location.update_lineno(4212);
/* SCCP_Emulation.ttcn, line 4212 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(4214);
/* SCCP_Emulation.ttcn, line 4214 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(4216);
/* SCCP_Emulation.ttcn, line 4216 */
TTCN_Logger::log_str(TTCN_USER, "RLC received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
}
}
else {
}
}

void start_processing__PDU__SCCP__ReleaseComplete(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ReleaseComplete& pl__PDU__SCCP__ReleaseComplete)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ReleaseComplete(");
pl__PDU__SCCP__ReleaseComplete.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ReleaseComplete", text_buf);
pl__PDU__SCCP__ReleaseComplete.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__InactivityTest(const SCCP__Types::PDU__SCCP__InactivityTest& pl__PDU__SCCP__InactivityTest)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4230, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_InactivityTest");
current_location.update_lineno(4233);
/* SCCP_Emulation.ttcn, line 4233 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(4234);
/* SCCP_Emulation.ttcn, line 4234 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4237);
/* SCCP_Emulation.ttcn, line 4237 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__InactivityTest&>(pl__PDU__SCCP__InactivityTest).destLocRef())) {
current_location.update_lineno(4239);
/* SCCP_Emulation.ttcn, line 4239 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__InactivityTest&>(pl__PDU__SCCP__InactivityTest).destLocRef());
current_location.update_lineno(4242);
/* SCCP_Emulation.ttcn, line 4242 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference() == const_cast< const SCCP__Types::PDU__SCCP__InactivityTest&>(pl__PDU__SCCP__InactivityTest).sourceLocRef())) {
current_location.update_lineno(4246);
/* SCCP_Emulation.ttcn, line 4246 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4247);
/* SCCP_Emulation.ttcn, line 4247 */
TTCN_Logger::log_str(TTCN_USER, "IT received in state :idle ");
}
else {
current_location.update_lineno(4248);
/* SCCP_Emulation.ttcn, line 4248 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4249);
/* SCCP_Emulation.ttcn, line 4249 */
TTCN_Logger::log_str(TTCN_USER, "IT received in state : connection_pending_IC");
}
else {
current_location.update_lineno(4250);
/* SCCP_Emulation.ttcn, line 4250 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4254);
/* SCCP_Emulation.ttcn, line 4254 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4256);
/* SCCP_Emulation.ttcn, line 4256 */
vl__N__DISCONNECT__ind.originator() = 1;
current_location.update_lineno(4257);
/* SCCP_Emulation.ttcn, line 4257 */
vl__N__DISCONNECT__ind.reason() = 20;
current_location.update_lineno(4258);
/* SCCP_Emulation.ttcn, line 4258 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4260);
/* SCCP_Emulation.ttcn, line 4260 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4269);
/* SCCP_Emulation.ttcn, line 4269 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4272);
/* SCCP_Emulation.ttcn, line 4272 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
}
else {
current_location.update_lineno(4273);
/* SCCP_Emulation.ttcn, line 4273 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
}
else {
current_location.update_lineno(4274);
/* SCCP_Emulation.ttcn, line 4274 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4282);
/* SCCP_Emulation.ttcn, line 4282 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4283);
/* SCCP_Emulation.ttcn, line 4283 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
}
else {
current_location.update_lineno(4285);
/* SCCP_Emulation.ttcn, line 4285 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(4288);
/* SCCP_Emulation.ttcn, line 4288 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(4290);
/* SCCP_Emulation.ttcn, line 4290 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(4292);
/* SCCP_Emulation.ttcn, line 4292 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4296);
/* SCCP_Emulation.ttcn, line 4296 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4298);
/* SCCP_Emulation.ttcn, line 4298 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4301);
/* SCCP_Emulation.ttcn, line 4301 */
TTCN_Logger::log_str(TTCN_USER, "IT received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(4308);
/* SCCP_Emulation.ttcn, line 4308 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(4309);
/* SCCP_Emulation.ttcn, line 4309 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__InactivityTest&>(pl__PDU__SCCP__InactivityTest).sourceLocRef();
current_location.update_lineno(4310);
/* SCCP_Emulation.ttcn, line 4310 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const SCCP__Types::PDU__SCCP__InactivityTest&>(pl__PDU__SCCP__InactivityTest).destLocRef();
current_location.update_lineno(4311);
/* SCCP_Emulation.ttcn, line 4311 */
vl__PDU__SCCP.released().releaseCause() = 5;
current_location.update_lineno(4312);
/* SCCP_Emulation.ttcn, line 4312 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(4313);
/* SCCP_Emulation.ttcn, line 4313 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(4314);
/* SCCP_Emulation.ttcn, line 4314 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
current_location.update_lineno(4316);
/* SCCP_Emulation.ttcn, line 4316 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(4320);
/* SCCP_Emulation.ttcn, line 4320 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(4322);
/* SCCP_Emulation.ttcn, line 4322 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}
else {
}
}

void start_processing__PDU__SCCP__InactivityTest(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__InactivityTest& pl__PDU__SCCP__InactivityTest)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_InactivityTest(");
pl__PDU__SCCP__InactivityTest.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_InactivityTest", text_buf);
pl__PDU__SCCP__InactivityTest.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ResetRequest(const SCCP__Types::PDU__SCCP__ResetRequest& pl__PDU__SCCP__ResetRequest)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4336, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ResetRequest");
current_location.update_lineno(4339);
/* SCCP_Emulation.ttcn, line 4339 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(4342);
/* SCCP_Emulation.ttcn, line 4342 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__ResetRequest&>(pl__PDU__SCCP__ResetRequest).destLocRef())) {
current_location.update_lineno(4344);
/* SCCP_Emulation.ttcn, line 4344 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__ResetRequest&>(pl__PDU__SCCP__ResetRequest).destLocRef());
current_location.update_lineno(4347);
/* SCCP_Emulation.ttcn, line 4347 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference() == const_cast< const SCCP__Types::PDU__SCCP__ResetRequest&>(pl__PDU__SCCP__ResetRequest).sourceLocRef())) {
current_location.update_lineno(4350);
/* SCCP_Emulation.ttcn, line 4350 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4354);
/* SCCP_Emulation.ttcn, line 4354 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4355);
/* SCCP_Emulation.ttcn, line 4355 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(4356);
/* SCCP_Emulation.ttcn, line 4356 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(4357);
/* SCCP_Emulation.ttcn, line 4357 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(4362);
/* SCCP_Emulation.ttcn, line 4362 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
}
else {
current_location.update_lineno(4363);
/* SCCP_Emulation.ttcn, line 4363 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4366);
/* SCCP_Emulation.ttcn, line 4366 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4368);
/* SCCP_Emulation.ttcn, line 4368 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4369);
/* SCCP_Emulation.ttcn, line 4369 */
vl__N__DISCONNECT__ind.originator() = 1;
current_location.update_lineno(4370);
/* SCCP_Emulation.ttcn, line 4370 */
vl__N__DISCONNECT__ind.reason() = 20;
current_location.update_lineno(4371);
/* SCCP_Emulation.ttcn, line 4371 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4372);
/* SCCP_Emulation.ttcn, line 4372 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4381);
/* SCCP_Emulation.ttcn, line 4381 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4383);
/* SCCP_Emulation.ttcn, line 4383 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
}
else {
current_location.update_lineno(4384);
/* SCCP_Emulation.ttcn, line 4384 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(4388);
/* SCCP_Emulation.ttcn, line 4388 */
SCCPasp__Types::ASP__SCCP__N__RESET__cfm vl__N__RESET__cfm;
current_location.update_lineno(4389);
/* SCCP_Emulation.ttcn, line 4389 */
vl__N__RESET__cfm.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4390);
/* SCCP_Emulation.ttcn, line 4390 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__RESET__cfm(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__cfm&>(vl__N__RESET__cfm).connectionId())), NULL);
current_location.update_lineno(4393);
/* SCCP_Emulation.ttcn, line 4393 */
f__StopTimer(TimerIdentifierType::reset, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4396);
/* SCCP_Emulation.ttcn, line 4396 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4397);
/* SCCP_Emulation.ttcn, line 4397 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(4399);
/* SCCP_Emulation.ttcn, line 4399 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::reset__IC;
}
else {
current_location.update_lineno(4401);
/* SCCP_Emulation.ttcn, line 4401 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4404);
/* SCCP_Emulation.ttcn, line 4404 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4405);
/* SCCP_Emulation.ttcn, line 4405 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(4408);
/* SCCP_Emulation.ttcn, line 4408 */
SCCPasp__Types::ASP__SCCP__N__RESET__ind vl__N__RESET__ind;
current_location.update_lineno(4409);
/* SCCP_Emulation.ttcn, line 4409 */
vl__N__RESET__ind.originator() = 1;
current_location.update_lineno(4410);
/* SCCP_Emulation.ttcn, line 4410 */
vl__N__RESET__ind.reason() = 41;
current_location.update_lineno(4411);
/* SCCP_Emulation.ttcn, line 4411 */
vl__N__RESET__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4413);
/* SCCP_Emulation.ttcn, line 4413 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__RESET__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__ind&>(vl__N__RESET__ind).originator()), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__ind&>(vl__N__RESET__ind).reason()), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__ind&>(vl__N__RESET__ind).connectionId())), NULL);
current_location.update_lineno(4420);
/* SCCP_Emulation.ttcn, line 4420 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::reset__IC;
}
else {
current_location.update_lineno(4422);
/* SCCP_Emulation.ttcn, line 4422 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4426);
/* SCCP_Emulation.ttcn, line 4426 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4428);
/* SCCP_Emulation.ttcn, line 4428 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4430);
/* SCCP_Emulation.ttcn, line 4430 */
TTCN_Logger::log_str(TTCN_USER, "RESREQ received in an unexpected state");
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(4434);
/* SCCP_Emulation.ttcn, line 4434 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4435);
/* SCCP_Emulation.ttcn, line 4435 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__ResetRequest&>(pl__PDU__SCCP__ResetRequest).sourceLocRef();
current_location.update_lineno(4436);
/* SCCP_Emulation.ttcn, line 4436 */
vl__PDU__SCCP.pduerror().errorCause() = 1;
current_location.update_lineno(4437);
/* SCCP_Emulation.ttcn, line 4437 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}
else {
current_location.update_lineno(4445);
/* SCCP_Emulation.ttcn, line 4445 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4446);
/* SCCP_Emulation.ttcn, line 4446 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__ResetRequest&>(pl__PDU__SCCP__ResetRequest).sourceLocRef();
current_location.update_lineno(4447);
/* SCCP_Emulation.ttcn, line 4447 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(4449);
/* SCCP_Emulation.ttcn, line 4449 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}

void start_processing__PDU__SCCP__ResetRequest(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ResetRequest& pl__PDU__SCCP__ResetRequest)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ResetRequest(");
pl__PDU__SCCP__ResetRequest.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ResetRequest", text_buf);
pl__PDU__SCCP__ResetRequest.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ResetConfirm(const SCCP__Types::PDU__SCCP__ResetConfirm& pl__PDU__SCCP__ResetConfirm)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4459, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ResetConfirm");
current_location.update_lineno(4462);
/* SCCP_Emulation.ttcn, line 4462 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(4465);
/* SCCP_Emulation.ttcn, line 4465 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__ResetConfirm&>(pl__PDU__SCCP__ResetConfirm).destLocRef())) {
current_location.update_lineno(4467);
/* SCCP_Emulation.ttcn, line 4467 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__ResetConfirm&>(pl__PDU__SCCP__ResetConfirm).destLocRef());
current_location.update_lineno(4470);
/* SCCP_Emulation.ttcn, line 4470 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference() == const_cast< const SCCP__Types::PDU__SCCP__ResetConfirm&>(pl__PDU__SCCP__ResetConfirm).sourceLocRef())) {
current_location.update_lineno(4474);
/* SCCP_Emulation.ttcn, line 4474 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4475);
/* SCCP_Emulation.ttcn, line 4475 */
TTCN_Logger::log_str(TTCN_USER, "RSC received in state:idle ");
}
else {
current_location.update_lineno(4476);
/* SCCP_Emulation.ttcn, line 4476 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4477);
/* SCCP_Emulation.ttcn, line 4477 */
TTCN_Logger::log_str(TTCN_USER, "RSC received in state:connection_pending_IC ");
}
else {
current_location.update_lineno(4478);
/* SCCP_Emulation.ttcn, line 4478 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4481);
/* SCCP_Emulation.ttcn, line 4481 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4483);
/* SCCP_Emulation.ttcn, line 4483 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4486);
/* SCCP_Emulation.ttcn, line 4486 */
vl__N__DISCONNECT__ind.originator() = 1;
current_location.update_lineno(4487);
/* SCCP_Emulation.ttcn, line 4487 */
vl__N__DISCONNECT__ind.reason() = 20;
current_location.update_lineno(4488);
/* SCCP_Emulation.ttcn, line 4488 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4489);
/* SCCP_Emulation.ttcn, line 4489 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4498);
/* SCCP_Emulation.ttcn, line 4498 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4500);
/* SCCP_Emulation.ttcn, line 4500 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(4501);
/* SCCP_Emulation.ttcn, line 4501 */
TTCN_Logger::log_str(TTCN_USER, "RSC received in state:disconnect_pending");
}
else {
current_location.update_lineno(4502);
/* SCCP_Emulation.ttcn, line 4502 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(4505);
/* SCCP_Emulation.ttcn, line 4505 */
SCCPasp__Types::ASP__SCCP__N__RESET__cfm vl__N__RESET__cfm;
current_location.update_lineno(4506);
/* SCCP_Emulation.ttcn, line 4506 */
vl__N__RESET__cfm.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4507);
/* SCCP_Emulation.ttcn, line 4507 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__RESET__cfm(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__RESET__cfm&>(vl__N__RESET__cfm).connectionId())), NULL);
current_location.update_lineno(4512);
/* SCCP_Emulation.ttcn, line 4512 */
f__StopTimer(TimerIdentifierType::reset, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4515);
/* SCCP_Emulation.ttcn, line 4515 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4516);
/* SCCP_Emulation.ttcn, line 4516 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(4518);
/* SCCP_Emulation.ttcn, line 4518 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::reset__IC;
}
else {
current_location.update_lineno(4520);
/* SCCP_Emulation.ttcn, line 4520 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4523);
/* SCCP_Emulation.ttcn, line 4523 */
TTCN_Logger::log_str(TTCN_USER, "RSC received in state:active");
}
else {
current_location.update_lineno(4525);
/* SCCP_Emulation.ttcn, line 4525 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(4528);
/* SCCP_Emulation.ttcn, line 4528 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(4530);
/* SCCP_Emulation.ttcn, line 4530 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(4532);
/* SCCP_Emulation.ttcn, line 4532 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4535);
/* SCCP_Emulation.ttcn, line 4535 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4537);
/* SCCP_Emulation.ttcn, line 4537 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4539);
/* SCCP_Emulation.ttcn, line 4539 */
TTCN_Logger::log_str(TTCN_USER, "ResConf received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(4543);
/* SCCP_Emulation.ttcn, line 4543 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4544);
/* SCCP_Emulation.ttcn, line 4544 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__ResetConfirm&>(pl__PDU__SCCP__ResetConfirm).sourceLocRef();
current_location.update_lineno(4545);
/* SCCP_Emulation.ttcn, line 4545 */
vl__PDU__SCCP.pduerror().errorCause() = 1;
current_location.update_lineno(4547);
/* SCCP_Emulation.ttcn, line 4547 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}
else {
current_location.update_lineno(4555);
/* SCCP_Emulation.ttcn, line 4555 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4556);
/* SCCP_Emulation.ttcn, line 4556 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const SCCP__Types::PDU__SCCP__ResetConfirm&>(pl__PDU__SCCP__ResetConfirm).sourceLocRef();
current_location.update_lineno(4557);
/* SCCP_Emulation.ttcn, line 4557 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(4559);
/* SCCP_Emulation.ttcn, line 4559 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
}

void start_processing__PDU__SCCP__ResetConfirm(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ResetConfirm& pl__PDU__SCCP__ResetConfirm)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ResetConfirm(");
pl__PDU__SCCP__ResetConfirm.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ResetConfirm", text_buf);
pl__PDU__SCCP__ResetConfirm.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ConnectionRefused(const SCCP__Types::PDU__SCCP__ConnectionRefused& pl__PDU__SCCP__ConnectionRefused)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4567, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ConnectionRefused");
current_location.update_lineno(4571);
/* SCCP_Emulation.ttcn, line 4571 */
OCTETSTRING_template tl__data(OMIT_VALUE);
current_location.update_lineno(4572);
/* SCCP_Emulation.ttcn, line 4572 */
{
boolean tmp_816;
{
boolean tmp_813 = pl__PDU__SCCP__ConnectionRefused.is_bound();
if(tmp_813) {
const OPTIONAL< SCCP__Types::SCCP__ConnRefused__optionalPart >& tmp_814 = pl__PDU__SCCP__ConnectionRefused.optionalPart();
switch (tmp_814.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_813 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_813 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__ConnRefused__optionalPart& tmp_815 = (const SCCP__Types::SCCP__ConnRefused__optionalPart&) tmp_814;
tmp_813 = tmp_815.is_present();
break;}
}
}
tmp_816 = tmp_813;
}
if (tmp_816) {
current_location.update_lineno(4574);
/* SCCP_Emulation.ttcn, line 4574 */
{
boolean tmp_822;
{
boolean tmp_817 = pl__PDU__SCCP__ConnectionRefused.is_bound();
if(tmp_817) {
const OPTIONAL< SCCP__Types::SCCP__ConnRefused__optionalPart >& tmp_818 = pl__PDU__SCCP__ConnectionRefused.optionalPart();
switch (tmp_818.get_selection()) {
case OPTIONAL_UNBOUND:
case OPTIONAL_OMIT:
tmp_817 = FALSE;
break;
default:
break;
}
if(tmp_817) {
const SCCP__Types::SCCP__ConnRefused__optionalPart& tmp_819 = (const SCCP__Types::SCCP__ConnRefused__optionalPart&) tmp_818;
tmp_817 = tmp_819.is_bound();
if(tmp_817) {
const OPTIONAL< SCCP__Types::SCCP__param__Data__opt >& tmp_820 = tmp_819.data();
switch (tmp_820.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_817 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_817 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__param__Data__opt& tmp_821 = (const SCCP__Types::SCCP__param__Data__opt&) tmp_820;
tmp_817 = tmp_821.is_present();
break;}
}
}
}
}
tmp_822 = tmp_817;
}
if (tmp_822) {
current_location.update_lineno(4576);
/* SCCP_Emulation.ttcn, line 4576 */
tl__data = const_cast< const SCCP__Types::PDU__SCCP__ConnectionRefused&>(pl__PDU__SCCP__ConnectionRefused).optionalPart()().data()().data();
}
}
}
}
current_location.update_lineno(4581);
/* SCCP_Emulation.ttcn, line 4581 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__ConnectionRefused&>(pl__PDU__SCCP__ConnectionRefused).destLocRef())) {
current_location.update_lineno(4583);
/* SCCP_Emulation.ttcn, line 4583 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__ConnectionRefused&>(pl__PDU__SCCP__ConnectionRefused).destLocRef());
current_location.update_lineno(4586);
/* SCCP_Emulation.ttcn, line 4586 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4587);
/* SCCP_Emulation.ttcn, line 4587 */
TTCN_Logger::log_str(TTCN_USER, "CREF received in state:idle");
}
else {
current_location.update_lineno(4588);
/* SCCP_Emulation.ttcn, line 4588 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4589);
/* SCCP_Emulation.ttcn, line 4589 */
TTCN_Logger::log_str(TTCN_USER, "CREF received in state:connection_pending_IC");
}
else {
current_location.update_lineno(4590);
/* SCCP_Emulation.ttcn, line 4590 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4591);
/* SCCP_Emulation.ttcn, line 4591 */
TTCN_Logger::log_str(TTCN_USER, "CREF received in state:active");
}
else {
current_location.update_lineno(4592);
/* SCCP_Emulation.ttcn, line 4592 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(4593);
/* SCCP_Emulation.ttcn, line 4593 */
TTCN_Logger::log_str(TTCN_USER, "CREF received in state:disconnect_pending");
}
else {
current_location.update_lineno(4594);
/* SCCP_Emulation.ttcn, line 4594 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(4595);
/* SCCP_Emulation.ttcn, line 4595 */
TTCN_Logger::log_str(TTCN_USER, "CREF received in state:reset_bothway");
}
else {
current_location.update_lineno(4596);
/* SCCP_Emulation.ttcn, line 4596 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4598);
/* SCCP_Emulation.ttcn, line 4598 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4600);
/* SCCP_Emulation.ttcn, line 4600 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4602);
/* SCCP_Emulation.ttcn, line 4602 */
vl__N__DISCONNECT__ind.originator() = cg__Mapping__RefCause__Orig[const_cast< const SCCP__Types::PDU__SCCP__ConnectionRefused&>(pl__PDU__SCCP__ConnectionRefused).refusalCause()];
current_location.update_lineno(4603);
/* SCCP_Emulation.ttcn, line 4603 */
vl__N__DISCONNECT__ind.reason() = cg__Mapping__RefCause__Reason[const_cast< const SCCP__Types::PDU__SCCP__ConnectionRefused&>(pl__PDU__SCCP__ConnectionRefused).refusalCause()];
current_location.update_lineno(4604);
/* SCCP_Emulation.ttcn, line 4604 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4606);
/* SCCP_Emulation.ttcn, line 4606 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), tl__data, INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4615);
/* SCCP_Emulation.ttcn, line 4615 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4617);
/* SCCP_Emulation.ttcn, line 4617 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4621);
/* SCCP_Emulation.ttcn, line 4621 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4623);
/* SCCP_Emulation.ttcn, line 4623 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4626);
/* SCCP_Emulation.ttcn, line 4626 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(4630);
/* SCCP_Emulation.ttcn, line 4630 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(4632);
/* SCCP_Emulation.ttcn, line 4632 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(4635);
/* SCCP_Emulation.ttcn, line 4635 */
TTCN_Logger::log_str(TTCN_USER, "CREF received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(4638);
/* SCCP_Emulation.ttcn, line 4638 */
TTCN_Logger::log_str(TTCN_USER, "CREF received with destLocRef not in state table");
}
}

void start_processing__PDU__SCCP__ConnectionRefused(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ConnectionRefused& pl__PDU__SCCP__ConnectionRefused)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ConnectionRefused(");
pl__PDU__SCCP__ConnectionRefused.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ConnectionRefused", text_buf);
pl__PDU__SCCP__ConnectionRefused.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__DataForm1(const SCCP__Types::PDU__SCCP__DataForm1& pl__PDU__SCCP__DataForm1)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4647, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_DataForm1");
current_location.update_lineno(4652);
/* SCCP_Emulation.ttcn, line 4652 */
if (ConnectionAlreadyEstablished(const_cast< const SCCP__Types::PDU__SCCP__DataForm1&>(pl__PDU__SCCP__DataForm1).destLocRef())) {
current_location.update_lineno(4654);
/* SCCP_Emulation.ttcn, line 4654 */
SCCP__CT_component_v__session = Retrieve__session(const_cast< const SCCP__Types::PDU__SCCP__DataForm1&>(pl__PDU__SCCP__DataForm1).destLocRef());
current_location.update_lineno(4657);
/* SCCP_Emulation.ttcn, line 4657 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4659);
/* SCCP_Emulation.ttcn, line 4659 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(4661);
/* SCCP_Emulation.ttcn, line 4661 */
vl__PDU__SCCP.pduerror().messageType() = SCCP__Types::err;
current_location.update_lineno(4662);
/* SCCP_Emulation.ttcn, line 4662 */
vl__PDU__SCCP.pduerror().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(4663);
/* SCCP_Emulation.ttcn, line 4663 */
vl__PDU__SCCP.pduerror().errorCause() = 0;
current_location.update_lineno(4665);
/* SCCP_Emulation.ttcn, line 4665 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
}
else {
current_location.update_lineno(4670);
/* SCCP_Emulation.ttcn, line 4670 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4671);
/* SCCP_Emulation.ttcn, line 4671 */
TTCN_Logger::log_str(TTCN_USER, "DT1 received in state:connection_pending_IC");
}
else {
current_location.update_lineno(4672);
/* SCCP_Emulation.ttcn, line 4672 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::disconnect__pending)) {
current_location.update_lineno(4673);
/* SCCP_Emulation.ttcn, line 4673 */
TTCN_Logger::log_str(TTCN_USER, "DT1 received in state:disconnect_pending");
}
else {
current_location.update_lineno(4674);
/* SCCP_Emulation.ttcn, line 4674 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(4675);
/* SCCP_Emulation.ttcn, line 4675 */
TTCN_Logger::log_str(TTCN_USER, "DT1 received in state:reset_bothway");
}
else {
current_location.update_lineno(4676);
/* SCCP_Emulation.ttcn, line 4676 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(4678);
/* SCCP_Emulation.ttcn, line 4678 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4679);
/* SCCP_Emulation.ttcn, line 4679 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4681);
/* SCCP_Emulation.ttcn, line 4681 */
vl__N__DISCONNECT__ind.originator() = 1;
current_location.update_lineno(4682);
/* SCCP_Emulation.ttcn, line 4682 */
vl__N__DISCONNECT__ind.reason() = 20;
current_location.update_lineno(4683);
/* SCCP_Emulation.ttcn, line 4683 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].connectionId();
current_location.update_lineno(4685);
/* SCCP_Emulation.ttcn, line 4685 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
current_location.update_lineno(4694);
/* SCCP_Emulation.ttcn, line 4694 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4696);
/* SCCP_Emulation.ttcn, line 4696 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::wait__conn__confirm)) {
current_location.update_lineno(4700);
/* SCCP_Emulation.ttcn, line 4700 */
f__StopTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4702);
/* SCCP_Emulation.ttcn, line 4702 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(4704);
/* SCCP_Emulation.ttcn, line 4704 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(4707);
/* SCCP_Emulation.ttcn, line 4707 */
SCCPasp__Types::ASP__SCCP__N__DATA__ind vl__N__DATA__ind;
current_location.update_lineno(4709);
/* SCCP_Emulation.ttcn, line 4709 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(4710);
/* SCCP_Emulation.ttcn, line 4710 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(4712);
/* SCCP_Emulation.ttcn, line 4712 */
buffered__sending__ASP__N__DATA__ind(pl__PDU__SCCP__DataForm1);
}
else {
current_location.update_lineno(4716);
/* SCCP_Emulation.ttcn, line 4716 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__IC)) {
current_location.update_lineno(4720);
/* SCCP_Emulation.ttcn, line 4720 */
f__StartTimer(TimerIdentifierType::internal__reset, INTEGER(SCCP__CT_component_v__session), 0.0);
current_location.update_lineno(4722);
/* SCCP_Emulation.ttcn, line 4722 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(4725);
/* SCCP_Emulation.ttcn, line 4725 */
TTCN_Logger::log_str(TTCN_USER, "DT1 received in an unexpected state");
}
}
}
}
}
}
}
}
}
else {
current_location.update_lineno(4728);
/* SCCP_Emulation.ttcn, line 4728 */
TTCN_Logger::log_str(TTCN_USER, "DT1 received with destLocRef  not in ConnectionTable");
}
}

void start_processing__PDU__SCCP__DataForm1(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__DataForm1& pl__PDU__SCCP__DataForm1)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_DataForm1(");
pl__PDU__SCCP__DataForm1.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_DataForm1", text_buf);
pl__PDU__SCCP__DataForm1.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__PDU__SCCP__ExtUnitdata(const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4738, TTCN_Location::LOCATION_FUNCTION, "processing_PDU_SCCP_ExtUnitdata");
current_location.update_lineno(4741);
/* SCCP_Emulation.ttcn, line 4741 */
INTEGER vl__index;
current_location.update_lineno(4742);
/* SCCP_Emulation.ttcn, line 4742 */
OCTETSTRING vl__segmRemoteRef;
current_location.update_lineno(4743);
/* SCCP_Emulation.ttcn, line 4743 */
{
boolean tmp_837;
{
boolean tmp_838 = pl__PDU__SCCP__ExtUnitdata.is_bound();
if(tmp_838) {
const OPTIONAL< SCCP__Types::SCCP__ExtUnitdata__optionalPart >& tmp_839 = pl__PDU__SCCP__ExtUnitdata.optionalPart();
switch (tmp_839.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_838 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_838 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__ExtUnitdata__optionalPart& tmp_840 = (const SCCP__Types::SCCP__ExtUnitdata__optionalPart&) tmp_839;
tmp_838 = tmp_840.is_present();
break;}
}
}
tmp_837 = tmp_838;
}
if (tmp_837) {
boolean tmp_841 = pl__PDU__SCCP__ExtUnitdata.is_bound();
if(tmp_841) {
const OPTIONAL< SCCP__Types::SCCP__ExtUnitdata__optionalPart >& tmp_842 = pl__PDU__SCCP__ExtUnitdata.optionalPart();
switch (tmp_842.get_selection()) {
case OPTIONAL_UNBOUND:
case OPTIONAL_OMIT:
tmp_841 = FALSE;
break;
default:
break;
}
if(tmp_841) {
const SCCP__Types::SCCP__ExtUnitdata__optionalPart& tmp_843 = (const SCCP__Types::SCCP__ExtUnitdata__optionalPart&) tmp_842;
tmp_841 = tmp_843.is_bound();
if(tmp_841) {
const OPTIONAL< SCCP__Types::SCCP__param__Segmentation__opt >& tmp_844 = tmp_843.segmentation();
switch (tmp_844.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_841 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_841 = FALSE;
break;
default:
{
const SCCP__Types::SCCP__param__Segmentation__opt& tmp_845 = (const SCCP__Types::SCCP__param__Segmentation__opt&) tmp_844;
tmp_841 = tmp_845.is_present();
break;}
}
}
}
}
tmp_837 = tmp_841;
}
if (tmp_837) {
current_location.update_lineno(4746);
/* SCCP_Emulation.ttcn, line 4746 */
vl__segmRemoteRef = const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).optionalPart()().segmentation()().segmLocalRef();
current_location.update_lineno(4747);
/* SCCP_Emulation.ttcn, line 4747 */
if ((const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).optionalPart()().segmentation()().firstSegm() == bs_0)) {
current_location.update_lineno(4749);
/* SCCP_Emulation.ttcn, line 4749 */
vl__index = allocate__ClessRcvBuff(vl__segmRemoteRef);
}
else {
current_location.update_lineno(4753);
/* SCCP_Emulation.ttcn, line 4753 */
vl__index = get__ClessRcvBuffIndex(vl__segmRemoteRef);
}
current_location.update_lineno(4755);
/* SCCP_Emulation.ttcn, line 4755 */
if ((vl__index == -1)) {
current_location.update_lineno(4757);
/* SCCP_Emulation.ttcn, line 4757 */
TTCN_Logger::log_str(TTCN_USER, "Buffer allocation failed, message ignored.");
current_location.update_lineno(4758);
/* SCCP_Emulation.ttcn, line 4758 */
return;
}
current_location.update_lineno(4761);
/* SCCP_Emulation.ttcn, line 4761 */
store__segmData(vl__index, pl__PDU__SCCP__ExtUnitdata);
current_location.update_lineno(4762);
/* SCCP_Emulation.ttcn, line 4762 */
if ((const_cast< const SCCP__Types::PDU__SCCP__ExtUnitdata&>(pl__PDU__SCCP__ExtUnitdata).optionalPart()().segmentation()().remainingSegment() == bs_3)) {
current_location.update_lineno(4764);
/* SCCP_Emulation.ttcn, line 4764 */
send__ClessRcvBuff__in__N__UNITDATAind(vl__index, pl__PDU__SCCP__ExtUnitdata);
current_location.update_lineno(4765);
/* SCCP_Emulation.ttcn, line 4765 */
reallocate__ClessRcvBuff(vl__index);
}
}
else {
current_location.update_lineno(4770);
/* SCCP_Emulation.ttcn, line 4770 */
send__ClessData__in__N__UNITDATAind(pl__PDU__SCCP__ExtUnitdata);
}
}
current_location.update_lineno(4772);
/* SCCP_Emulation.ttcn, line 4772 */
return;
}

void start_processing__PDU__SCCP__ExtUnitdata(const COMPONENT& component_reference, const SCCP__Types::PDU__SCCP__ExtUnitdata& pl__PDU__SCCP__ExtUnitdata)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ExtUnitdata(");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_PDU_SCCP_ExtUnitdata", text_buf);
pl__PDU__SCCP__ExtUnitdata.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__ASP__N__CONNECT__req(const SCCPasp__Types::ASP__SCCP__N__CONNECT__req& pl__N__CONNECT__req)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4784, TTCN_Location::LOCATION_FUNCTION, "processing_ASP_N_CONNECT_req");
current_location.update_lineno(4787);
/* SCCP_Emulation.ttcn, line 4787 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(4788);
/* SCCP_Emulation.ttcn, line 4788 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(4790);
/* SCCP_Emulation.ttcn, line 4790 */
if (ConnectionAlreadyEstablished__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).connectionId())) {
current_location.update_lineno(4795);
/* SCCP_Emulation.ttcn, line 4795 */
SCCP__CT_component_v__session = Retrieve__session__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).connectionId());
}
else {
current_location.update_lineno(4803);
/* SCCP_Emulation.ttcn, line 4803 */
SCCP__CT_component_v__session = CheckIdleIndividuals();
current_location.update_lineno(4804);
/* SCCP_Emulation.ttcn, line 4804 */
if ((SCCP__CT_component_v__session == -1)) {
current_location.update_lineno(4808);
/* SCCP_Emulation.ttcn, line 4808 */
vl__N__DISCONNECT__ind.originator() = 2;
current_location.update_lineno(4809);
/* SCCP_Emulation.ttcn, line 4809 */
vl__N__DISCONNECT__ind.reason() = 12;
current_location.update_lineno(4810);
/* SCCP_Emulation.ttcn, line 4810 */
vl__N__DISCONNECT__ind.connectionId() = const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).connectionId();
current_location.update_lineno(4812);
/* SCCP_Emulation.ttcn, line 4812 */
SCCP__CT_component_SCCP__SP__PORT.send(SCCPasp__Types::t__ASP__N__DISCONNECT__ind(INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).originator()), SCCPasp__Types::SCCP__PAR__Address_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).reason()), OCTETSTRING_template(OMIT_VALUE), INTEGER_template(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind&>(vl__N__DISCONNECT__ind).connectionId()), INTEGER_template(OMIT_VALUE)), NULL);
}
current_location.update_lineno(4823);
/* SCCP_Emulation.ttcn, line 4823 */
{
boolean tmp_854;
tmp_854 = (SCCP__CT_component_v__session <= 15);
if (tmp_854) tmp_854 = (SCCP__CT_component_v__session >= 0);
if (tmp_854) {
current_location.update_lineno(4827);
/* SCCP_Emulation.ttcn, line 4827 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].localReference() = int2oct(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).connectionId()(), 3);
current_location.update_lineno(4828);
/* SCCP_Emulation.ttcn, line 4828 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].connectionId() = const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).connectionId();
current_location.update_lineno(4838);
/* SCCP_Emulation.ttcn, line 4838 */
vl__PDU__SCCP.connrequest().messageType() = SCCP__Types::cr;
current_location.update_lineno(4839);
/* SCCP_Emulation.ttcn, line 4839 */
vl__PDU__SCCP.connrequest().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].localReference();
current_location.update_lineno(4841);
/* SCCP_Emulation.ttcn, line 4841 */
{
SCCP__Types::SCCP__param__ProtocolClass& tmp_860 = vl__PDU__SCCP.connrequest().protClass(); /* 7388 */
tmp_860.class_() = bs_2;
tmp_860.messageHandling() = bs_3;
}
current_location.update_lineno(4845);
/* SCCP_Emulation.ttcn, line 4845 */
vl__PDU__SCCP.connrequest().pointer1() = 2;
current_location.update_lineno(4846);
/* SCCP_Emulation.ttcn, line 4846 */
vl__PDU__SCCP.connrequest().calledPAddress() = ConvertASPAddressToEncodedAddress(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).calledAddress());
current_location.update_lineno(4847);
/* SCCP_Emulation.ttcn, line 4847 */
{
INTEGER tmp_863;
tmp_863 = (const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).connrequest().calledPAddress().paramLength() + 2);
vl__PDU__SCCP.connrequest().pointer2() = tmp_863;
}
current_location.update_lineno(4849);
/* SCCP_Emulation.ttcn, line 4849 */
{
boolean tmp_867;
{
boolean tmp_864 = pl__N__CONNECT__req.is_bound();
if(tmp_864) {
const OPTIONAL< SCCPasp__Types::SCCP__PAR__Address >& tmp_865 = pl__N__CONNECT__req.callingAddress();
switch (tmp_865.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_864 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_864 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__PAR__Address& tmp_866 = (const SCCPasp__Types::SCCP__PAR__Address&) tmp_865;
tmp_864 = tmp_866.is_present();
break;}
}
}
tmp_867 = tmp_864;
}
if (tmp_867) {
current_location.update_lineno(4853);
/* SCCP_Emulation.ttcn, line 4853 */
SCCP__Types::SCCP__param__CPartyAddressEnc__opt vl__SCCP__param__CPartyAddressEnc__opt;
current_location.update_lineno(4854);
/* SCCP_Emulation.ttcn, line 4854 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__SCCP__param__CPartyAddressEnc;
current_location.update_lineno(4856);
/* SCCP_Emulation.ttcn, line 4856 */
vl__SCCP__param__CPartyAddressEnc = ConvertASPAddressToEncodedAddress(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).callingAddress());
current_location.update_lineno(4859);
/* SCCP_Emulation.ttcn, line 4859 */
vl__SCCP__param__CPartyAddressEnc__opt.paramName() = SCCP__Types::con__SCCP__cgPA;
current_location.update_lineno(4860);
/* SCCP_Emulation.ttcn, line 4860 */
vl__SCCP__param__CPartyAddressEnc__opt.paramLength() = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__SCCP__param__CPartyAddressEnc).paramLength();
current_location.update_lineno(4861);
/* SCCP_Emulation.ttcn, line 4861 */
vl__SCCP__param__CPartyAddressEnc__opt.addr() = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__SCCP__param__CPartyAddressEnc).addr();
current_location.update_lineno(4863);
/* SCCP_Emulation.ttcn, line 4863 */
vl__PDU__SCCP.connrequest().optionalPart()().callingPAddress() = vl__SCCP__param__CPartyAddressEnc__opt;
}
else {
current_location.update_lineno(4866);
/* SCCP_Emulation.ttcn, line 4866 */
vl__PDU__SCCP.connrequest().optionalPart()().callingPAddress() = OMIT_VALUE;
}
}
current_location.update_lineno(4868);
/* SCCP_Emulation.ttcn, line 4868 */
{
boolean tmp_877;
{
boolean tmp_874 = pl__N__CONNECT__req.is_bound();
if(tmp_874) {
const OPTIONAL< OCTETSTRING >& tmp_875 = pl__N__CONNECT__req.userData();
switch (tmp_875.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_874 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_874 = FALSE;
break;
default:
{
const OCTETSTRING& tmp_876 = (const OCTETSTRING&) tmp_875;
tmp_874 = tmp_876.is_present();
break;}
}
}
tmp_877 = tmp_874;
}
if (tmp_877) {
current_location.update_lineno(4872);
/* SCCP_Emulation.ttcn, line 4872 */
SCCP__Types::SCCP__param__Data__opt vl__SCCP__param__Data__opt;
current_location.update_lineno(4874);
/* SCCP_Emulation.ttcn, line 4874 */
vl__SCCP__param__Data__opt.paramName() = SCCP__Types::con__SCCP__data;
current_location.update_lineno(4875);
/* SCCP_Emulation.ttcn, line 4875 */
vl__SCCP__param__Data__opt.data() = const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__req&>(pl__N__CONNECT__req).userData();
current_location.update_lineno(4876);
/* SCCP_Emulation.ttcn, line 4876 */
{
INTEGER tmp_880;
tmp_880 = const_cast< const SCCP__Types::SCCP__param__Data__opt&>(vl__SCCP__param__Data__opt).data().lengthof();
vl__SCCP__param__Data__opt.paramLength() = tmp_880;
}
current_location.update_lineno(4877);
/* SCCP_Emulation.ttcn, line 4877 */
vl__PDU__SCCP.connrequest().optionalPart()().data() = vl__SCCP__param__Data__opt;
}
else {
current_location.update_lineno(4880);
/* SCCP_Emulation.ttcn, line 4880 */
vl__PDU__SCCP.connrequest().optionalPart()().data() = OMIT_VALUE;
}
}
current_location.update_lineno(4882);
/* SCCP_Emulation.ttcn, line 4882 */
{
boolean tmp_883;
{
boolean tmp_884 = pl__N__CONNECT__req.is_bound();
if(tmp_884) {
const OPTIONAL< SCCPasp__Types::SCCP__PAR__Address >& tmp_885 = pl__N__CONNECT__req.callingAddress();
switch (tmp_885.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_884 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_884 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__PAR__Address& tmp_886 = (const SCCPasp__Types::SCCP__PAR__Address&) tmp_885;
tmp_884 = tmp_886.is_present();
break;}
}
}
tmp_883 = tmp_884;
}
if (!tmp_883) {
boolean tmp_887 = pl__N__CONNECT__req.is_bound();
if(tmp_887) {
const OPTIONAL< OCTETSTRING >& tmp_888 = pl__N__CONNECT__req.userData();
switch (tmp_888.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_887 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_887 = FALSE;
break;
default:
{
const OCTETSTRING& tmp_889 = (const OCTETSTRING&) tmp_888;
tmp_887 = tmp_889.is_present();
break;}
}
}
tmp_883 = tmp_887;
}
if (tmp_883) {
current_location.update_lineno(4885);
/* SCCP_Emulation.ttcn, line 4885 */
vl__PDU__SCCP.connrequest().optionalPart()().credit() = OMIT_VALUE;
current_location.update_lineno(4886);
/* SCCP_Emulation.ttcn, line 4886 */
vl__PDU__SCCP.connrequest().optionalPart()().hopCounter() = OMIT_VALUE;
current_location.update_lineno(4887);
/* SCCP_Emulation.ttcn, line 4887 */
vl__PDU__SCCP.connrequest().optionalPart()().importance() = OMIT_VALUE;
current_location.update_lineno(4889);
/* SCCP_Emulation.ttcn, line 4889 */
{
SCCP__Types::SCCP__param__EndOfOptionalParams& tmp_894 = vl__PDU__SCCP.connrequest().eop(); /* 7388 */
tmp_894.paramName() = SCCP__Types::con__SCCP__eop;
}
}
else {
current_location.update_lineno(4893);
/* SCCP_Emulation.ttcn, line 4893 */
vl__PDU__SCCP.connrequest().optionalPart() = OMIT_VALUE;
current_location.update_lineno(4894);
/* SCCP_Emulation.ttcn, line 4894 */
vl__PDU__SCCP.connrequest().eop() = OMIT_VALUE;
}
}
current_location.update_lineno(4897);
/* SCCP_Emulation.ttcn, line 4897 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(4901);
/* SCCP_Emulation.ttcn, line 4901 */
f__StartTimer(TimerIdentifierType::conn__est, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(4902);
/* SCCP_Emulation.ttcn, line 4902 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::connection__pending__OG;
}
}
}
}

void start_processing__ASP__N__CONNECT__req(const COMPONENT& component_reference, const SCCPasp__Types::ASP__SCCP__N__CONNECT__req& pl__N__CONNECT__req)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_CONNECT_req(");
pl__N__CONNECT__req.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_ASP_N_CONNECT_req", text_buf);
pl__N__CONNECT__req.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__ASP__N__CONNECT__res(const SCCPasp__Types::ASP__SCCP__N__CONNECT__res& pl__N__CONNECT__res)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 4915, TTCN_Location::LOCATION_FUNCTION, "processing_ASP_N_CONNECT_res");
current_location.update_lineno(4918);
/* SCCP_Emulation.ttcn, line 4918 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(4923);
/* SCCP_Emulation.ttcn, line 4923 */
if (ConnectionAlreadyEstablished__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__res&>(pl__N__CONNECT__res).connectionId())) {
current_location.update_lineno(4927);
/* SCCP_Emulation.ttcn, line 4927 */
SCCP__CT_component_v__session = Retrieve__session__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__res&>(pl__N__CONNECT__res).connectionId());
current_location.update_lineno(4931);
/* SCCP_Emulation.ttcn, line 4931 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(4933);
/* SCCP_Emulation.ttcn, line 4933 */
TTCN_Logger::log_str(TTCN_USER, "N_CONNECT_resp received in state:idle");
}
else {
current_location.update_lineno(4936);
/* SCCP_Emulation.ttcn, line 4936 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(4943);
/* SCCP_Emulation.ttcn, line 4943 */
vl__PDU__SCCP.connconfirm().messageType() = SCCP__Types::cc;
current_location.update_lineno(4944);
/* SCCP_Emulation.ttcn, line 4944 */
vl__PDU__SCCP.connconfirm().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].localReference();
current_location.update_lineno(4945);
/* SCCP_Emulation.ttcn, line 4945 */
vl__PDU__SCCP.connconfirm().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(4946);
/* SCCP_Emulation.ttcn, line 4946 */
vl__PDU__SCCP.connconfirm().protClass().class_() = bs_2;
current_location.update_lineno(4947);
/* SCCP_Emulation.ttcn, line 4947 */
vl__PDU__SCCP.connconfirm().protClass().messageHandling() = bs_3;
current_location.update_lineno(4949);
/* SCCP_Emulation.ttcn, line 4949 */
{
boolean tmp_907;
{
boolean tmp_904 = pl__N__CONNECT__res.is_bound();
if(tmp_904) {
const OPTIONAL< SCCPasp__Types::SCCP__PAR__Address >& tmp_905 = pl__N__CONNECT__res.respondingAddress();
switch (tmp_905.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_904 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_904 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__PAR__Address& tmp_906 = (const SCCPasp__Types::SCCP__PAR__Address&) tmp_905;
tmp_904 = tmp_906.is_present();
break;}
}
}
tmp_907 = tmp_904;
}
if (tmp_907) {
current_location.update_lineno(4953);
/* SCCP_Emulation.ttcn, line 4953 */
SCCP__Types::SCCP__param__CPartyAddressEnc__opt vl__SCCP__param__CPartyAddressEnc__opt;
current_location.update_lineno(4954);
/* SCCP_Emulation.ttcn, line 4954 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__SCCP__param__CPartyAddressEnc;
current_location.update_lineno(4956);
/* SCCP_Emulation.ttcn, line 4956 */
vl__SCCP__param__CPartyAddressEnc = ConvertASPAddressToEncodedAddress(const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__res&>(pl__N__CONNECT__res).respondingAddress());
current_location.update_lineno(4959);
/* SCCP_Emulation.ttcn, line 4959 */
vl__SCCP__param__CPartyAddressEnc__opt.paramName() = SCCP__Types::con__SCCP__cdPA;
current_location.update_lineno(4960);
/* SCCP_Emulation.ttcn, line 4960 */
vl__SCCP__param__CPartyAddressEnc__opt.paramLength() = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__SCCP__param__CPartyAddressEnc).paramLength();
current_location.update_lineno(4961);
/* SCCP_Emulation.ttcn, line 4961 */
vl__SCCP__param__CPartyAddressEnc__opt.addr() = const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__SCCP__param__CPartyAddressEnc).addr();
current_location.update_lineno(4963);
/* SCCP_Emulation.ttcn, line 4963 */
vl__PDU__SCCP.connconfirm().optionalPart()().calledPAddress() = vl__SCCP__param__CPartyAddressEnc__opt;
}
else {
current_location.update_lineno(4965);
/* SCCP_Emulation.ttcn, line 4965 */
vl__PDU__SCCP.connconfirm().optionalPart()().calledPAddress() = OMIT_VALUE;
}
}
current_location.update_lineno(4967);
/* SCCP_Emulation.ttcn, line 4967 */
{
boolean tmp_917;
{
boolean tmp_914 = pl__N__CONNECT__res.is_bound();
if(tmp_914) {
const OPTIONAL< OCTETSTRING >& tmp_915 = pl__N__CONNECT__res.userData();
switch (tmp_915.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_914 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_914 = FALSE;
break;
default:
{
const OCTETSTRING& tmp_916 = (const OCTETSTRING&) tmp_915;
tmp_914 = tmp_916.is_present();
break;}
}
}
tmp_917 = tmp_914;
}
if (tmp_917) {
current_location.update_lineno(4971);
/* SCCP_Emulation.ttcn, line 4971 */
SCCP__Types::SCCP__param__Data__opt vl__SCCP__param__Data__opt;
current_location.update_lineno(4973);
/* SCCP_Emulation.ttcn, line 4973 */
vl__SCCP__param__Data__opt.paramName() = SCCP__Types::con__SCCP__data;
current_location.update_lineno(4974);
/* SCCP_Emulation.ttcn, line 4974 */
vl__SCCP__param__Data__opt.data() = const_cast< const SCCPasp__Types::ASP__SCCP__N__CONNECT__res&>(pl__N__CONNECT__res).userData();
current_location.update_lineno(4975);
/* SCCP_Emulation.ttcn, line 4975 */
{
INTEGER tmp_920;
tmp_920 = const_cast< const SCCP__Types::SCCP__param__Data__opt&>(vl__SCCP__param__Data__opt).data().lengthof();
vl__SCCP__param__Data__opt.paramLength() = tmp_920;
}
current_location.update_lineno(4977);
/* SCCP_Emulation.ttcn, line 4977 */
vl__PDU__SCCP.connconfirm().optionalPart()().data() = vl__SCCP__param__Data__opt;
}
else {
current_location.update_lineno(4979);
/* SCCP_Emulation.ttcn, line 4979 */
vl__PDU__SCCP.connconfirm().optionalPart()().data() = OMIT_VALUE;
}
}
current_location.update_lineno(4981);
/* SCCP_Emulation.ttcn, line 4981 */
{
boolean tmp_923;
{
boolean tmp_924 = pl__N__CONNECT__res.is_bound();
if(tmp_924) {
const OPTIONAL< SCCPasp__Types::SCCP__PAR__Address >& tmp_925 = pl__N__CONNECT__res.respondingAddress();
switch (tmp_925.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_924 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_924 = FALSE;
break;
default:
{
const SCCPasp__Types::SCCP__PAR__Address& tmp_926 = (const SCCPasp__Types::SCCP__PAR__Address&) tmp_925;
tmp_924 = tmp_926.is_present();
break;}
}
}
tmp_923 = tmp_924;
}
if (!tmp_923) {
boolean tmp_927 = pl__N__CONNECT__res.is_bound();
if(tmp_927) {
const OPTIONAL< OCTETSTRING >& tmp_928 = pl__N__CONNECT__res.userData();
switch (tmp_928.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_927 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_927 = FALSE;
break;
default:
{
const OCTETSTRING& tmp_929 = (const OCTETSTRING&) tmp_928;
tmp_927 = tmp_929.is_present();
break;}
}
}
tmp_923 = tmp_927;
}
if (tmp_923) {
current_location.update_lineno(4984);
/* SCCP_Emulation.ttcn, line 4984 */
vl__PDU__SCCP.connconfirm().pointer1() = 1;
current_location.update_lineno(4985);
/* SCCP_Emulation.ttcn, line 4985 */
vl__PDU__SCCP.connconfirm().optionalPart()().credit() = OMIT_VALUE;
current_location.update_lineno(4986);
/* SCCP_Emulation.ttcn, line 4986 */
vl__PDU__SCCP.connconfirm().optionalPart()().importance() = OMIT_VALUE;
current_location.update_lineno(4987);
/* SCCP_Emulation.ttcn, line 4987 */
{
SCCP__Types::SCCP__param__EndOfOptionalParams& tmp_934 = vl__PDU__SCCP.connconfirm().eop(); /* 7388 */
tmp_934.paramName() = SCCP__Types::con__SCCP__eop;
}
}
else {
current_location.update_lineno(4991);
/* SCCP_Emulation.ttcn, line 4991 */
vl__PDU__SCCP.connconfirm().pointer1() = 0;
current_location.update_lineno(4992);
/* SCCP_Emulation.ttcn, line 4992 */
vl__PDU__SCCP.connconfirm().optionalPart() = OMIT_VALUE;
current_location.update_lineno(4993);
/* SCCP_Emulation.ttcn, line 4993 */
vl__PDU__SCCP.connconfirm().eop() = OMIT_VALUE;
}
}
current_location.update_lineno(4996);
/* SCCP_Emulation.ttcn, line 4996 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(4999);
/* SCCP_Emulation.ttcn, line 4999 */
f__StartTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(5000);
/* SCCP_Emulation.ttcn, line 5000 */
f__StartTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(5001);
/* SCCP_Emulation.ttcn, line 5001 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::active;
}
else {
current_location.update_lineno(5004);
/* SCCP_Emulation.ttcn, line 5004 */
TTCN_Logger::log_str(TTCN_USER, "N_CONNECT_resp received in an unexpected state");
}
}
}
}

void start_processing__ASP__N__CONNECT__res(const COMPONENT& component_reference, const SCCPasp__Types::ASP__SCCP__N__CONNECT__res& pl__N__CONNECT__res)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_CONNECT_res(");
pl__N__CONNECT__res.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_ASP_N_CONNECT_res", text_buf);
pl__N__CONNECT__res.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__ASP__N__DATA__req(const SCCPasp__Types::ASP__SCCP__N__DATA__req& pl__N__DATA__req)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5014, TTCN_Location::LOCATION_FUNCTION, "processing_ASP_N_DATA_req");
current_location.update_lineno(5017);
/* SCCP_Emulation.ttcn, line 5017 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(5021);
/* SCCP_Emulation.ttcn, line 5021 */
if (ConnectionAlreadyEstablished__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__DATA__req&>(pl__N__DATA__req).connectionId())) {
current_location.update_lineno(5026);
/* SCCP_Emulation.ttcn, line 5026 */
SCCP__CT_component_v__session = Retrieve__session__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__DATA__req&>(pl__N__DATA__req).connectionId());
current_location.update_lineno(5029);
/* SCCP_Emulation.ttcn, line 5029 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(5030);
/* SCCP_Emulation.ttcn, line 5030 */
TTCN_Logger::log_str(TTCN_USER, "N_DATA_req received in idle state");
}
else {
current_location.update_lineno(5031);
/* SCCP_Emulation.ttcn, line 5031 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::reset__bothway)) {
current_location.update_lineno(5032);
/* SCCP_Emulation.ttcn, line 5032 */
TTCN_Logger::log_str(TTCN_USER, "N_DATA_req received in reset_bothway state");
}
else {
current_location.update_lineno(5033);
/* SCCP_Emulation.ttcn, line 5033 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(5035);
/* SCCP_Emulation.ttcn, line 5035 */
sending__dataform1s__in__ASP__MTP__TRANSFERreqs(pl__N__DATA__req);
}
else {
current_location.update_lineno(5038);
/* SCCP_Emulation.ttcn, line 5038 */
TTCN_Logger::log_str(TTCN_USER, "N_DATA_req received in an unexpected state");
}
}
}
}
else {
current_location.update_lineno(5041);
/* SCCP_Emulation.ttcn, line 5041 */
TTCN_Logger::log_str(TTCN_USER, "N_DATA_req with Connection ID not in the state table -- illegal request");
}
}

void start_processing__ASP__N__DATA__req(const COMPONENT& component_reference, const SCCPasp__Types::ASP__SCCP__N__DATA__req& pl__N__DATA__req)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_DATA_req(");
pl__N__DATA__req.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_ASP_N_DATA_req", text_buf);
pl__N__DATA__req.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__ASP__N__DISCONNECT__req(const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req& pl__N__DISCONNECT__req)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5049, TTCN_Location::LOCATION_FUNCTION, "processing_ASP_N_DISCONNECT_req");
current_location.update_lineno(5052);
/* SCCP_Emulation.ttcn, line 5052 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(5053);
/* SCCP_Emulation.ttcn, line 5053 */
BOOLEAN vl__opt__part__present(FALSE);
current_location.update_lineno(5057);
/* SCCP_Emulation.ttcn, line 5057 */
if (ConnectionAlreadyEstablished__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).connectionId())) {
current_location.update_lineno(5062);
/* SCCP_Emulation.ttcn, line 5062 */
SCCP__CT_component_v__session = Retrieve__session__connectionId(const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).connectionId());
current_location.update_lineno(5065);
/* SCCP_Emulation.ttcn, line 5065 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::idle)) {
current_location.update_lineno(5066);
/* SCCP_Emulation.ttcn, line 5066 */
TTCN_Logger::log_str(TTCN_USER, "N_DISCONNECT_req received in state:idle");
}
else {
current_location.update_lineno(5067);
/* SCCP_Emulation.ttcn, line 5067 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__IC)) {
current_location.update_lineno(5071);
/* SCCP_Emulation.ttcn, line 5071 */
vl__PDU__SCCP.connrefused().messageType() = SCCP__Types::cref;
current_location.update_lineno(5072);
/* SCCP_Emulation.ttcn, line 5072 */
vl__PDU__SCCP.connrefused().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(5073);
/* SCCP_Emulation.ttcn, line 5073 */
vl__PDU__SCCP.connrefused().refusalCause() = const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).reason();
current_location.update_lineno(5074);
/* SCCP_Emulation.ttcn, line 5074 */
vl__PDU__SCCP.connrefused().pointer1() = 0;
current_location.update_lineno(5075);
/* SCCP_Emulation.ttcn, line 5075 */
vl__PDU__SCCP.connrefused().optionalPart() = OMIT_VALUE;
current_location.update_lineno(5076);
/* SCCP_Emulation.ttcn, line 5076 */
vl__PDU__SCCP.connrefused().eop() = OMIT_VALUE;
current_location.update_lineno(5078);
/* SCCP_Emulation.ttcn, line 5078 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(5082);
/* SCCP_Emulation.ttcn, line 5082 */
ReleaseResources(INTEGER(SCCP__CT_component_v__session));
}
else {
current_location.update_lineno(5085);
/* SCCP_Emulation.ttcn, line 5085 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::active)) {
current_location.update_lineno(5089);
/* SCCP_Emulation.ttcn, line 5089 */
f__StopTimer(TimerIdentifierType::ias, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(5090);
/* SCCP_Emulation.ttcn, line 5090 */
f__StopTimer(TimerIdentifierType::iar, INTEGER(SCCP__CT_component_v__session));
current_location.update_lineno(5094);
/* SCCP_Emulation.ttcn, line 5094 */
vl__PDU__SCCP.released().messageType() = SCCP__Types::rlsd;
current_location.update_lineno(5095);
/* SCCP_Emulation.ttcn, line 5095 */
vl__PDU__SCCP.released().destLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].remoteReference();
current_location.update_lineno(5096);
/* SCCP_Emulation.ttcn, line 5096 */
vl__PDU__SCCP.released().sourceLocRef() = const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].localReference();
current_location.update_lineno(5097);
/* SCCP_Emulation.ttcn, line 5097 */
vl__PDU__SCCP.released().releaseCause() = const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).reason();
current_location.update_lineno(5098);
/* SCCP_Emulation.ttcn, line 5098 */
{
boolean tmp_954;
{
boolean tmp_951 = pl__N__DISCONNECT__req.is_bound();
if(tmp_951) {
const OPTIONAL< OCTETSTRING >& tmp_952 = pl__N__DISCONNECT__req.userData();
switch (tmp_952.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_951 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_951 = FALSE;
break;
default:
{
const OCTETSTRING& tmp_953 = (const OCTETSTRING&) tmp_952;
tmp_951 = tmp_953.is_present();
break;}
}
}
tmp_954 = tmp_951;
}
if (tmp_954) {
current_location.update_lineno(5099);
/* SCCP_Emulation.ttcn, line 5099 */
vl__opt__part__present = TRUE;
current_location.update_lineno(5100);
/* SCCP_Emulation.ttcn, line 5100 */
vl__PDU__SCCP.released().optionalPart()().data()().paramName() = SCCP__Types::con__SCCP__data;
current_location.update_lineno(5101);
/* SCCP_Emulation.ttcn, line 5101 */
vl__PDU__SCCP.released().optionalPart()().data()().paramLength() = const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).userData()().lengthof();
current_location.update_lineno(5102);
/* SCCP_Emulation.ttcn, line 5102 */
vl__PDU__SCCP.released().optionalPart()().data()().data() = const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).userData();
}
else {
current_location.update_lineno(5104);
/* SCCP_Emulation.ttcn, line 5104 */
vl__PDU__SCCP.released().optionalPart()().data() = OMIT_VALUE;
}
}
current_location.update_lineno(5106);
/* SCCP_Emulation.ttcn, line 5106 */
{
boolean tmp_963;
{
boolean tmp_960 = pl__N__DISCONNECT__req.is_bound();
if(tmp_960) {
const OPTIONAL< INTEGER >& tmp_961 = pl__N__DISCONNECT__req.importance();
switch (tmp_961.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_960 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_960 = FALSE;
break;
default:
{
const INTEGER& tmp_962 = (const INTEGER&) tmp_961;
tmp_960 = tmp_962.is_present();
break;}
}
}
tmp_963 = tmp_960;
}
if (tmp_963) {
current_location.update_lineno(5107);
/* SCCP_Emulation.ttcn, line 5107 */
vl__opt__part__present = TRUE;
current_location.update_lineno(5108);
/* SCCP_Emulation.ttcn, line 5108 */
vl__PDU__SCCP.released().optionalPart()().importance()().paramName() = SCCP__Types::con__SCCP__imp;
current_location.update_lineno(5109);
/* SCCP_Emulation.ttcn, line 5109 */
vl__PDU__SCCP.released().optionalPart()().importance()().paramLength() = 1;
current_location.update_lineno(5110);
/* SCCP_Emulation.ttcn, line 5110 */
vl__PDU__SCCP.released().optionalPart()().importance()().importance() = const_cast< const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req&>(pl__N__DISCONNECT__req).importance();
current_location.update_lineno(5111);
/* SCCP_Emulation.ttcn, line 5111 */
vl__PDU__SCCP.released().optionalPart()().importance()().reserved() = bs_9;
}
else {
current_location.update_lineno(5113);
/* SCCP_Emulation.ttcn, line 5113 */
vl__PDU__SCCP.released().optionalPart()().importance() = OMIT_VALUE;
}
}
current_location.update_lineno(5115);
/* SCCP_Emulation.ttcn, line 5115 */
if (vl__opt__part__present) {
current_location.update_lineno(5116);
/* SCCP_Emulation.ttcn, line 5116 */
vl__PDU__SCCP.released().pointer1() = 1;
current_location.update_lineno(5117);
/* SCCP_Emulation.ttcn, line 5117 */
vl__PDU__SCCP.released().eop()().paramName() = SCCP__Types::con__SCCP__eop;
}
else {
current_location.update_lineno(5119);
/* SCCP_Emulation.ttcn, line 5119 */
vl__PDU__SCCP.released().pointer1() = 0;
current_location.update_lineno(5120);
/* SCCP_Emulation.ttcn, line 5120 */
vl__PDU__SCCP.released().optionalPart() = OMIT_VALUE;
current_location.update_lineno(5121);
/* SCCP_Emulation.ttcn, line 5121 */
vl__PDU__SCCP.released().eop() = OMIT_VALUE;
}
current_location.update_lineno(5124);
/* SCCP_Emulation.ttcn, line 5124 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(5128);
/* SCCP_Emulation.ttcn, line 5128 */
f__StartTimer(TimerIdentifierType::rel, INTEGER(SCCP__CT_component_v__session), f__StartTimer_pl__duration_defval);
current_location.update_lineno(5130);
/* SCCP_Emulation.ttcn, line 5130 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::disconnect__pending;
}
else {
current_location.update_lineno(5133);
/* SCCP_Emulation.ttcn, line 5133 */
if ((const_cast< const VALUE_ARRAY<SCCP__Types::ConnectionData, 16, 0>&>(SCCP__CT_component_ConnectionTable)[SCCP__CT_component_v__session].state() == SCCP__Types::connection__pending__OG)) {
current_location.update_lineno(5137);
/* SCCP_Emulation.ttcn, line 5137 */
SCCP__CT_component_ConnectionTable[SCCP__CT_component_v__session].state() = SCCP__Types::wait__conn__confirm;
}
else {
current_location.update_lineno(5141);
/* SCCP_Emulation.ttcn, line 5141 */
TTCN_Logger::log_str(TTCN_USER, "N_DISCONNECT_req received in an unexpected state");
}
}
}
}
}
}

void start_processing__ASP__N__DISCONNECT__req(const COMPONENT& component_reference, const SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req& pl__N__DISCONNECT__req)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_DISCONNECT_req(");
pl__N__DISCONNECT__req.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_ASP_N_DISCONNECT_req", text_buf);
pl__N__DISCONNECT__req.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

BITSTRING SCCP__SPC__int2bit(const INTEGER& pl__SPC, const CHARSTRING& pl__SCCP__ServiceType, const OCTETSTRING& pl__SIO)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5153, TTCN_Location::LOCATION_FUNCTION, "SCCP_SPC_int2bit");
current_location.update_lineno(5156);
/* SCCP_Emulation.ttcn, line 5156 */
BITSTRING vl__SPC;
current_location.update_lineno(5157);
/* SCCP_Emulation.ttcn, line 5157 */
vl__SPC = bs_10;
current_location.update_lineno(5159);
/* SCCP_Emulation.ttcn, line 5159 */
{
boolean tmp_978;
tmp_978 = (pl__SCCP__ServiceType == SCCP__Types::mtp3__itu);
if (!tmp_978) tmp_978 = (pl__SCCP__ServiceType == SCCP__Types::mtp3b__itu);
if (tmp_978) {
current_location.update_lineno(5162);
/* SCCP_Emulation.ttcn, line 5162 */
vl__SPC = int2bit(pl__SPC, 14);
}
else {
current_location.update_lineno(5164);
/* SCCP_Emulation.ttcn, line 5164 */
boolean tmp_980;
tmp_980 = (pl__SCCP__ServiceType == SCCP__Types::mtp3__ansi);
if (!tmp_980) tmp_980 = (pl__SCCP__ServiceType == SCCP__Types::mtp3b__ansi);
if (tmp_980) {
current_location.update_lineno(5166);
/* SCCP_Emulation.ttcn, line 5166 */
vl__SPC = int2bit(pl__SPC, 24);
}
else {
current_location.update_lineno(5168);
/* SCCP_Emulation.ttcn, line 5168 */
boolean tmp_982;
tmp_982 = (pl__SCCP__ServiceType == SCCP__Types::mtp3__ttc);
if (!tmp_982) tmp_982 = (pl__SCCP__ServiceType == SCCP__Types::mtp3b__ttc);
if (tmp_982) {
current_location.update_lineno(5170);
/* SCCP_Emulation.ttcn, line 5170 */
{
boolean tmp_983;
{
boolean tmp_984;
tmp_984 = (pl__SIO == os_3);
if (!tmp_984) tmp_984 = (pl__SIO == os_4);
tmp_983 = tmp_984;
}
if (!tmp_983) tmp_983 = (pl__SIO == os_5);
if (tmp_983) {
current_location.update_lineno(5172);
/* SCCP_Emulation.ttcn, line 5172 */
vl__SPC = int2bit(pl__SPC, 16);
}
else {
current_location.update_lineno(5174);
/* SCCP_Emulation.ttcn, line 5174 */
if ((pl__SIO == os_6)) {
current_location.update_lineno(5177);
/* SCCP_Emulation.ttcn, line 5177 */
vl__SPC = int2bit(pl__SPC, 14);
}
else {
current_location.update_lineno(5179);
/* SCCP_Emulation.ttcn, line 5179 */
TTCN_Logger::log_str(TTCN_USER, "SIO setting error");
}
}
}
}
else {
current_location.update_lineno(5181);
/* SCCP_Emulation.ttcn, line 5181 */
if ((pl__SCCP__ServiceType == SCCP__Types::mtp3__mpt)) {
current_location.update_lineno(5183);
/* SCCP_Emulation.ttcn, line 5183 */
INTEGER vl__NI((oct2int(pl__SIO) / 64));
current_location.update_lineno(5184);
/* SCCP_Emulation.ttcn, line 5184 */
if ((vl__NI == 2)) {
current_location.update_lineno(5186);
/* SCCP_Emulation.ttcn, line 5186 */
vl__SPC = int2bit(pl__SPC, 24);
}
else {
current_location.update_lineno(5190);
/* SCCP_Emulation.ttcn, line 5190 */
vl__SPC = int2bit(pl__SPC, 14);
}
}
else {
current_location.update_lineno(5194);
/* SCCP_Emulation.ttcn, line 5194 */
TTCN_Logger::log_str(TTCN_USER, "ServiceType setting error. Use valuesmtp3_itu, mtp3b_itu, mtp3_ansi, mtp3b_ansi, mtp3_ttc, mtp3b_ttc, mtp3_mpt or m3ua");
}
}
}
}
}
current_location.update_lineno(5199);
/* SCCP_Emulation.ttcn, line 5199 */
return vl__SPC;
}

void sending__udt__in__ASP__MTP__TRANSFERreqs(const SCCP__Types::SCCP__param__ProtocolClass& pl__protClass, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledPAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CallingPAddress, const SCCP__Types::SCCP__param__Data& pl__data)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5207, TTCN_Location::LOCATION_FUNCTION, "sending_udt_in_ASP_MTP_TRANSFERreqs");
current_location.update_lineno(5213);
/* SCCP_Emulation.ttcn, line 5213 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(5214);
/* SCCP_Emulation.ttcn, line 5214 */
vl__PDU__SCCP.unitdata().messageType() = SCCP__Types::udt;
current_location.update_lineno(5215);
/* SCCP_Emulation.ttcn, line 5215 */
vl__PDU__SCCP.unitdata().protClass() = pl__protClass;
current_location.update_lineno(5216);
/* SCCP_Emulation.ttcn, line 5216 */
vl__PDU__SCCP.unitdata().calledPAddress() = pl__CalledPAddress;
current_location.update_lineno(5217);
/* SCCP_Emulation.ttcn, line 5217 */
vl__PDU__SCCP.unitdata().callingPAddress() = pl__CallingPAddress;
current_location.update_lineno(5218);
/* SCCP_Emulation.ttcn, line 5218 */
vl__PDU__SCCP.unitdata().data() = pl__data;
current_location.update_lineno(5219);
/* SCCP_Emulation.ttcn, line 5219 */
vl__PDU__SCCP.unitdata().pointer1() = 0;
current_location.update_lineno(5220);
/* SCCP_Emulation.ttcn, line 5220 */
vl__PDU__SCCP.unitdata().pointer2() = 0;
current_location.update_lineno(5221);
/* SCCP_Emulation.ttcn, line 5221 */
vl__PDU__SCCP.unitdata().pointer3() = 0;
current_location.update_lineno(5223);
/* SCCP_Emulation.ttcn, line 5223 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(5225);
/* SCCP_Emulation.ttcn, line 5225 */
return;
}

void start_sending__udt__in__ASP__MTP__TRANSFERreqs(const COMPONENT& component_reference, const SCCP__Types::SCCP__param__ProtocolClass& pl__protClass, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledPAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CallingPAddress, const SCCP__Types::SCCP__param__Data& pl__data)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function sending_udt_in_ASP_MTP_TRANSFERreqs(");
pl__protClass.log();
TTCN_Logger::log_event_str(", ");
pl__CalledPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__CallingPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__data.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "sending_udt_in_ASP_MTP_TRANSFERreqs", text_buf);
pl__protClass.encode_text(text_buf);
pl__CalledPAddress.encode_text(text_buf);
pl__CallingPAddress.encode_text(text_buf);
pl__data.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void sending__xudt__in__ASP__MTP__TRANSFERreqs(const SCCP__Types::SCCP__param__ProtocolClass& pl__protClass, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledPAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CallingPAddress, const SCCP__Types::SCCP__param__Data& pl__data)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5233, TTCN_Location::LOCATION_FUNCTION, "sending_xudt_in_ASP_MTP_TRANSFERreqs");
current_location.update_lineno(5239);
/* SCCP_Emulation.ttcn, line 5239 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(5240);
/* SCCP_Emulation.ttcn, line 5240 */
INTEGER vl__actdatalen;
current_location.update_lineno(5241);
/* SCCP_Emulation.ttcn, line 5241 */
INTEGER vl__len;
current_location.update_lineno(5242);
/* SCCP_Emulation.ttcn, line 5242 */
INTEGER vl__from;
current_location.update_lineno(5243);
/* SCCP_Emulation.ttcn, line 5243 */
INTEGER vl__overhead;
current_location.update_lineno(5244);
/* SCCP_Emulation.ttcn, line 5244 */
INTEGER vl__maxdatalen;
current_location.update_lineno(5245);
/* SCCP_Emulation.ttcn, line 5245 */
INTEGER vl__numberofPDUs;
current_location.update_lineno(5247);
/* SCCP_Emulation.ttcn, line 5247 */
vl__PDU__SCCP.extudata().messageType() = SCCP__Types::xudt;
current_location.update_lineno(5248);
/* SCCP_Emulation.ttcn, line 5248 */
vl__PDU__SCCP.extudata().hopCounter() = 15;
current_location.update_lineno(5249);
/* SCCP_Emulation.ttcn, line 5249 */
vl__PDU__SCCP.extudata().protClass() = pl__protClass;
current_location.update_lineno(5250);
/* SCCP_Emulation.ttcn, line 5250 */
vl__PDU__SCCP.extudata().pointer1() = 0;
current_location.update_lineno(5251);
/* SCCP_Emulation.ttcn, line 5251 */
vl__PDU__SCCP.extudata().pointer2() = 0;
current_location.update_lineno(5252);
/* SCCP_Emulation.ttcn, line 5252 */
vl__PDU__SCCP.extudata().pointer3() = 0;
current_location.update_lineno(5253);
/* SCCP_Emulation.ttcn, line 5253 */
vl__PDU__SCCP.extudata().pointer4() = 0;
current_location.update_lineno(5254);
/* SCCP_Emulation.ttcn, line 5254 */
vl__PDU__SCCP.extudata().calledPAddress() = pl__CalledPAddress;
current_location.update_lineno(5255);
/* SCCP_Emulation.ttcn, line 5255 */
vl__PDU__SCCP.extudata().callingPAddress() = pl__CallingPAddress;
current_location.update_lineno(5257);
/* SCCP_Emulation.ttcn, line 5257 */
vl__overhead = ((15 + (const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).extudata().calledPAddress().paramLength() + 1)) + (const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).extudata().callingPAddress().paramLength() + 1));
current_location.update_lineno(5261);
/* SCCP_Emulation.ttcn, line 5261 */
vl__len = const_cast< const SCCP__Types::SCCP__param__Data&>(pl__data).paramLength();
current_location.update_lineno(5262);
/* SCCP_Emulation.ttcn, line 5262 */
vl__maxdatalen = ((SCCP__CT_component_v__sccp__pdu__maxlen - vl__overhead) - 1);
current_location.update_lineno(5263);
/* SCCP_Emulation.ttcn, line 5263 */
vl__numberofPDUs = (vl__len / vl__maxdatalen);
current_location.update_lineno(5266);
/* SCCP_Emulation.ttcn, line 5266 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().segmLocalRef() = create__segmLocalRef();
current_location.update_lineno(5267);
/* SCCP_Emulation.ttcn, line 5267 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().firstSegm() = bs_0;
current_location.update_lineno(5268);
/* SCCP_Emulation.ttcn, line 5268 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().paramName() = SCCP__Types::con__SCCP__segm;
current_location.update_lineno(5269);
/* SCCP_Emulation.ttcn, line 5269 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().paramLength() = 4;
current_location.update_lineno(5270);
/* SCCP_Emulation.ttcn, line 5270 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().remainingSegment() = int2bit(vl__numberofPDUs, 4);
current_location.update_lineno(5271);
/* SCCP_Emulation.ttcn, line 5271 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().reserved() = bs_8;
current_location.update_lineno(5273);
/* SCCP_Emulation.ttcn, line 5273 */
if ((const_cast< const SCCP__Types::SCCP__param__ProtocolClass&>(pl__protClass).class_() == bs_11)) {
current_location.update_lineno(5274);
/* SCCP_Emulation.ttcn, line 5274 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().class_() = bs_0;
}
else {
current_location.update_lineno(5276);
/* SCCP_Emulation.ttcn, line 5276 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().class_() = bs_1;
}
current_location.update_lineno(5278);
/* SCCP_Emulation.ttcn, line 5278 */
vl__PDU__SCCP.extudata().optionalPart()().importance() = OMIT_VALUE;
current_location.update_lineno(5279);
/* SCCP_Emulation.ttcn, line 5279 */
vl__PDU__SCCP.extudata().eop()().paramName() = SCCP__Types::con__SCCP__eop;
current_location.update_lineno(5281);
/* SCCP_Emulation.ttcn, line 5281 */
vl__from = 0;
for ( ; ; ) {
current_location.update_lineno(5283);
/* SCCP_Emulation.ttcn, line 5283 */
if (!(vl__len > 0)) break;
current_location.update_lineno(5285);
/* SCCP_Emulation.ttcn, line 5285 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().remainingSegment() = int2bit(vl__numberofPDUs, 4);
current_location.update_lineno(5287);
/* SCCP_Emulation.ttcn, line 5287 */
if ((vl__len > vl__maxdatalen)) {
current_location.update_lineno(5288);
/* SCCP_Emulation.ttcn, line 5288 */
vl__actdatalen = vl__maxdatalen;
}
else {
current_location.update_lineno(5290);
/* SCCP_Emulation.ttcn, line 5290 */
vl__actdatalen = vl__len;
}
current_location.update_lineno(5292);
/* SCCP_Emulation.ttcn, line 5292 */
vl__PDU__SCCP.extudata().data().data() = substr(const_cast< const SCCP__Types::SCCP__param__Data&>(pl__data).data(), vl__from, vl__actdatalen);
current_location.update_lineno(5293);
/* SCCP_Emulation.ttcn, line 5293 */
vl__PDU__SCCP.extudata().data().paramLength() = vl__actdatalen;
current_location.update_lineno(5295);
/* SCCP_Emulation.ttcn, line 5295 */
SCCP__CT_component_MTP3__SCCP__PORT.send(SCCP__Types::t__ASP__MTP3__TRANSFERreq__sccp(SCCP__CT_component_v__SIO, SCCP__CT_component_v__own__SPC, SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SLS, SCCP__Types::PDU__SCCP_template(vl__PDU__SCCP)), NULL);
current_location.update_lineno(5298);
/* SCCP_Emulation.ttcn, line 5298 */
vl__PDU__SCCP.extudata().optionalPart()().segmentation()().firstSegm() = bs_1;
current_location.update_lineno(5300);
/* SCCP_Emulation.ttcn, line 5300 */
{
INTEGER tmp_1027;
--vl__numberofPDUs;
}
current_location.update_lineno(5301);
/* SCCP_Emulation.ttcn, line 5301 */
{
INTEGER tmp_1028;
tmp_1028 = (vl__from + vl__actdatalen);
vl__from = tmp_1028;
}
current_location.update_lineno(5302);
/* SCCP_Emulation.ttcn, line 5302 */
{
INTEGER tmp_1029;
tmp_1029 = (vl__len - vl__actdatalen);
vl__len = tmp_1029;
}
}
current_location.update_lineno(5305);
/* SCCP_Emulation.ttcn, line 5305 */
try {
TTCN_Logger::begin_event(TTCN_USER);
TTCN_Logger::log_event_str("Last remaining Segment:");
const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).extudata().optionalPart()().segmentation()().remainingSegment().log();
TTCN_Logger::end_event();
} catch (...) {
TTCN_Logger::finish_event();
throw;
}
current_location.update_lineno(5309);
/* SCCP_Emulation.ttcn, line 5309 */
return;
}

void start_sending__xudt__in__ASP__MTP__TRANSFERreqs(const COMPONENT& component_reference, const SCCP__Types::SCCP__param__ProtocolClass& pl__protClass, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CalledPAddress, const SCCP__Types::SCCP__param__CPartyAddressEnc& pl__CallingPAddress, const SCCP__Types::SCCP__param__Data& pl__data)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function sending_xudt_in_ASP_MTP_TRANSFERreqs(");
pl__protClass.log();
TTCN_Logger::log_event_str(", ");
pl__CalledPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__CallingPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__data.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "sending_xudt_in_ASP_MTP_TRANSFERreqs", text_buf);
pl__protClass.encode_text(text_buf);
pl__CalledPAddress.encode_text(text_buf);
pl__CallingPAddress.encode_text(text_buf);
pl__data.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void processing__ASP__N__UNITDATA__req(const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req& pl__N__UNITDATA__req)
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5316, TTCN_Location::LOCATION_FUNCTION, "processing_ASP_N_UNITDATA_req");
current_location.update_lineno(5319);
/* SCCP_Emulation.ttcn, line 5319 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(5320);
/* SCCP_Emulation.ttcn, line 5320 */
SCCP__Types::SCCP__param__ProtocolClass vl__protClass;
current_location.update_lineno(5321);
/* SCCP_Emulation.ttcn, line 5321 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__CalledPAddress;
current_location.update_lineno(5321);
/* SCCP_Emulation.ttcn, line 5321 */
SCCP__Types::SCCP__param__CPartyAddressEnc vl__CallingPAddress;
current_location.update_lineno(5322);
/* SCCP_Emulation.ttcn, line 5322 */
INTEGER vl__overhead__length;
current_location.update_lineno(5323);
/* SCCP_Emulation.ttcn, line 5323 */
SCCP__Types::SCCP__param__Data vl__data;
current_location.update_lineno(5329);
/* SCCP_Emulation.ttcn, line 5329 */
{
boolean tmp_1030;
{
boolean tmp_1031 = pl__N__UNITDATA__req.is_bound();
if(tmp_1031) {
const OPTIONAL< BITSTRING >& tmp_1032 = pl__N__UNITDATA__req.sequenceControl();
switch (tmp_1032.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_1031 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_1031 = FALSE;
break;
default:
{
const BITSTRING& tmp_1033 = (const BITSTRING&) tmp_1032;
tmp_1031 = tmp_1033.is_present();
break;}
}
}
tmp_1030 = tmp_1031;
}
if (tmp_1030) tmp_1030 = (substr(const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).sequenceControl()(), 7, 1) == bs_0);
if (tmp_1030) {
current_location.update_lineno(5331);
/* SCCP_Emulation.ttcn, line 5331 */
vl__protClass.class_() = bs_11;
}
else {
current_location.update_lineno(5333);
/* SCCP_Emulation.ttcn, line 5333 */
vl__protClass.class_() = bs_3;
}
}
current_location.update_lineno(5336);
/* SCCP_Emulation.ttcn, line 5336 */
{
boolean tmp_1036;
{
boolean tmp_1037 = pl__N__UNITDATA__req.is_bound();
if(tmp_1037) {
const OPTIONAL< BITSTRING >& tmp_1038 = pl__N__UNITDATA__req.returnOption();
switch (tmp_1038.get_selection()) {
case OPTIONAL_UNBOUND:
tmp_1037 = FALSE;
break;
case OPTIONAL_OMIT:
tmp_1037 = FALSE;
break;
default:
{
const BITSTRING& tmp_1039 = (const BITSTRING&) tmp_1038;
tmp_1037 = tmp_1039.is_present();
break;}
}
}
tmp_1036 = tmp_1037;
}
if (tmp_1036) tmp_1036 = (substr(const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).returnOption()(), 7, 1) == bs_0);
if (tmp_1036) {
current_location.update_lineno(5338);
/* SCCP_Emulation.ttcn, line 5338 */
vl__protClass.messageHandling() = bs_5;
}
else {
current_location.update_lineno(5340);
/* SCCP_Emulation.ttcn, line 5340 */
vl__protClass.messageHandling() = bs_3;
}
}
current_location.update_lineno(5343);
/* SCCP_Emulation.ttcn, line 5343 */
if ((const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).calledAddress().addressIndicator().pointCodeIndic() == bs_0)) {
current_location.update_lineno(5346);
/* SCCP_Emulation.ttcn, line 5346 */
if ((bit2int(const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).calledAddress().signPointCode()()) == SCCP__CT_component_v__remote__SPC)) {
current_location.update_lineno(5348);
/* SCCP_Emulation.ttcn, line 5348 */
vl__CalledPAddress = ConvertASPAddressToEncodedAddress(const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).calledAddress());
}
else {
current_location.update_lineno(5353);
/* SCCP_Emulation.ttcn, line 5353 */
TTCN_Logger::log_str(TTCN_USER, "The remote SPC in ASP_SCCP_N_UNITDATA_req is not the same as the one you called by StartSCCP.ASP dropped");
current_location.update_lineno(5354);
/* SCCP_Emulation.ttcn, line 5354 */
return;
}
}
else {
current_location.update_lineno(5361);
/* SCCP_Emulation.ttcn, line 5361 */
SCCPasp__Types::SCCP__PAR__Address vl__SCCP__PAR__Address;
current_location.update_lineno(5362);
/* SCCP_Emulation.ttcn, line 5362 */
vl__SCCP__PAR__Address = const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).calledAddress();
current_location.update_lineno(5364);
/* SCCP_Emulation.ttcn, line 5364 */
{
boolean tmp_1044;
tmp_1044 = tsp__override__called__address;
if (tmp_1044) tmp_1044 = (SCCP__CT_component_v__remote__SPC > 0);
if (tmp_1044) {
current_location.update_lineno(5366);
/* SCCP_Emulation.ttcn, line 5366 */
vl__SCCP__PAR__Address.addressIndicator().pointCodeIndic() = bs_0;
current_location.update_lineno(5367);
/* SCCP_Emulation.ttcn, line 5367 */
vl__SCCP__PAR__Address.addressIndicator().routingIndicator() = bs_0;
current_location.update_lineno(5369);
/* SCCP_Emulation.ttcn, line 5369 */
vl__SCCP__PAR__Address.signPointCode() = SCCP__SPC__int2bit(SCCP__CT_component_v__remote__SPC, SCCP__CT_component_v__SCCPServiceType, SCCP__CT_component_v__SIO);
}
}
current_location.update_lineno(5376);
/* SCCP_Emulation.ttcn, line 5376 */
vl__CalledPAddress = ConvertASPAddressToEncodedAddress(vl__SCCP__PAR__Address);
}
current_location.update_lineno(5381);
/* SCCP_Emulation.ttcn, line 5381 */
vl__CallingPAddress = ConvertASPAddressToEncodedAddress(const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).callingAddress());
current_location.update_lineno(5384);
/* SCCP_Emulation.ttcn, line 5384 */
vl__data.data() = const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).userData();
current_location.update_lineno(5385);
/* SCCP_Emulation.ttcn, line 5385 */
vl__data.paramLength() = const_cast< const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req&>(pl__N__UNITDATA__req).userData().lengthof();
current_location.update_lineno(5389);
/* SCCP_Emulation.ttcn, line 5389 */
vl__overhead__length = (((const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__CalledPAddress).paramLength() + 1) + (const_cast< const SCCP__Types::SCCP__param__CPartyAddressEnc&>(vl__CallingPAddress).paramLength() + 1)) + 6);
current_location.update_lineno(5392);
/* SCCP_Emulation.ttcn, line 5392 */
{
boolean tmp_1053;
tmp_1053 = (tsp__force__xudt == 0);
if (tmp_1053) tmp_1053 = (((vl__overhead__length + const_cast< const SCCP__Types::SCCP__param__Data&>(vl__data).paramLength()) + 1) <= SCCP__CT_component_v__sccp__pdu__maxlen);
if (tmp_1053) {
current_location.update_lineno(5395);
/* SCCP_Emulation.ttcn, line 5395 */
sending__udt__in__ASP__MTP__TRANSFERreqs(vl__protClass, vl__CalledPAddress, vl__CallingPAddress, vl__data);
}
else {
current_location.update_lineno(5402);
/* SCCP_Emulation.ttcn, line 5402 */
sending__xudt__in__ASP__MTP__TRANSFERreqs(vl__protClass, vl__CalledPAddress, vl__CallingPAddress, vl__data);
}
}
}

void start_processing__ASP__N__UNITDATA__req(const COMPONENT& component_reference, const SCCPasp__Types::ASP__SCCP__N__UNITDATA__req& pl__N__UNITDATA__req)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_UNITDATA_req(");
pl__N__UNITDATA__req.log();
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "processing_ASP_N_UNITDATA_req", text_buf);
pl__N__UNITDATA__req.encode_text(text_buf);
TTCN_Runtime::send_start_component(text_buf);
}

void ScanEvents()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 5412, TTCN_Location::LOCATION_FUNCTION, "ScanEvents");
current_location.update_lineno(5417);
/* SCCP_Emulation.ttcn, line 5417 */
SCCP__Types::PDU__SCCP vl__PDU__SCCP;
current_location.update_lineno(5419);
/* SCCP_Emulation.ttcn, line 5419 */
SCCPasp__Types::ASP__SCCP__N__CONNECT__req vl__N__CONNECT__req;
current_location.update_lineno(5420);
/* SCCP_Emulation.ttcn, line 5420 */
SCCPasp__Types::ASP__SCCP__N__CONNECT__ind vl__N__CONNECT__ind;
current_location.update_lineno(5421);
/* SCCP_Emulation.ttcn, line 5421 */
SCCPasp__Types::ASP__SCCP__N__CONNECT__res vl__N__CONNECT__res;
current_location.update_lineno(5422);
/* SCCP_Emulation.ttcn, line 5422 */
SCCPasp__Types::ASP__SCCP__N__CONNECT__cfm vl__N__CONNECT__cfm;
current_location.update_lineno(5423);
/* SCCP_Emulation.ttcn, line 5423 */
SCCPasp__Types::ASP__SCCP__N__DATA__req vl__N__DATA__req;
current_location.update_lineno(5424);
/* SCCP_Emulation.ttcn, line 5424 */
SCCPasp__Types::ASP__SCCP__N__DATA__ind vl__N__DATA__ind;
current_location.update_lineno(5425);
/* SCCP_Emulation.ttcn, line 5425 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req vl__N__DISCONNECT__req;
current_location.update_lineno(5426);
/* SCCP_Emulation.ttcn, line 5426 */
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__ind vl__N__DISCONNECT__ind;
current_location.update_lineno(5427);
/* SCCP_Emulation.ttcn, line 5427 */
SCCPasp__Types::ASP__SCCP__N__UNITDATA__req vl__N__UNITDATA__req;
current_location.update_lineno(5428);
/* SCCP_Emulation.ttcn, line 5428 */
SCCPasp__Types::ASP__SCCP__N__UNITDATA__ind vl__N__UNITDATA__ind;
current_location.update_lineno(5429);
/* SCCP_Emulation.ttcn, line 5429 */
SCCPasp__Types::ASP__SCCP__N__NOTICE__ind vl__N__NOTICE__ind;
current_location.update_lineno(5431);
/* SCCP_Emulation.ttcn, line 5431 */
INTEGER i;
current_location.update_lineno(5434);
/* SCCP_Emulation.ttcn, line 5434 */
f__initialize__timer__states();
for ( ; ; ) {
current_location.update_lineno(5439);
/* SCCP_Emulation.ttcn, line 5439 */
{
tmp_1054:
alt_status tmp_1054_alt_flag_0 = ALT_MAYBE;
alt_status tmp_1054_alt_flag_1 = ALT_MAYBE;
alt_status tmp_1054_alt_flag_2 = ALT_MAYBE;
alt_status tmp_1054_alt_flag_3 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_4 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_5 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_6 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_7 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_8 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_9 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_10 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_11 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_12 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_13 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_14 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_15 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_16 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_17 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_18 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_19 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_20 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_21 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_22 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_23 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_24 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_25 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_26 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_27 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_28 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_29 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_30 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_31 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_32 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_33 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_34 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_35 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_36 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_37 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_38 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_39 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_40 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_41 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_42 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_43 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_44 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_45 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_46 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_47 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_48 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_49 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_50 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_51 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_52 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_53 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_54 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_55 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_56 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_57 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_58 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_59 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_60 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_61 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_62 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_63 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_64 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_65 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_66 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_67 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_68 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_69 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_70 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_71 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_72 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_73 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_74 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_75 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_76 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_77 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_78 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_79 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_80 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_81 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_82 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_83 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_84 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_85 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_86 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_87 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_88 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_89 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_90 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_91 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_92 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_93 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_94 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_95 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_96 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_97 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_98 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_99 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_100 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_101 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_102 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_103 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_104 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_105 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_106 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_107 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_108 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_109 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_110 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_111 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_112 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_113 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_114 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_115 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_116 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_117 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_118 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_119 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_120 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_121 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_122 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_123 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_124 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_125 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_126 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_127 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_128 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_129 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_130 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_131 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_132 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_133 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_134 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_135 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_136 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_137 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_138 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_139 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_140 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_141 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_142 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_143 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_144 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_145 = ALT_UNCHECKED;
alt_status tmp_1054_alt_flag_146 = ALT_UNCHECKED;
alt_status tmp_1054_default_flag = ALT_MAYBE;
TTCN_Snapshot::take_new(FALSE);
for ( ; ; ) {
if (tmp_1054_alt_flag_0 == ALT_MAYBE) {
current_location.update_lineno(5443);
/* SCCP_Emulation.ttcn, line 5443 */
tmp_1054_alt_flag_0 = SCCP__CT_component_MTP3__SCCP__PORT.receive(SCCP__Types::PDU__SCCP_template(ANY_VALUE), &(vl__PDU__SCCP), any_compref, NULL, NULL, NULL);
if (tmp_1054_alt_flag_0 == ALT_YES) {
current_location.update_lineno(5448);
/* SCCP_Emulation.ttcn, line 5448 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_unitdata)) {
current_location.update_lineno(5453);
/* SCCP_Emulation.ttcn, line 5453 */
processing__PDU__SCCP__Unitdata(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).unitdata());
}
else {
current_location.update_lineno(5459);
/* SCCP_Emulation.ttcn, line 5459 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_dataform1)) {
current_location.update_lineno(5462);
/* SCCP_Emulation.ttcn, line 5462 */
processing__PDU__SCCP__DataForm1(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).dataform1());
}
else {
current_location.update_lineno(5468);
/* SCCP_Emulation.ttcn, line 5468 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_extudata)) {
current_location.update_lineno(5474);
/* SCCP_Emulation.ttcn, line 5474 */
processing__PDU__SCCP__ExtUnitdata(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).extudata());
}
else {
current_location.update_lineno(5480);
/* SCCP_Emulation.ttcn, line 5480 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_connrequest)) {
current_location.update_lineno(5484);
/* SCCP_Emulation.ttcn, line 5484 */
processing__PDU__SCCP__ConnectionRequest(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).connrequest());
}
else {
current_location.update_lineno(5490);
/* SCCP_Emulation.ttcn, line 5490 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_connconfirm)) {
current_location.update_lineno(5493);
/* SCCP_Emulation.ttcn, line 5493 */
processing__PDU__SCCP__ConnectionConfirm(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).connconfirm());
}
else {
current_location.update_lineno(5499);
/* SCCP_Emulation.ttcn, line 5499 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_released)) {
current_location.update_lineno(5502);
/* SCCP_Emulation.ttcn, line 5502 */
processing__PDU__SCCP__Released(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).released());
}
else {
current_location.update_lineno(5508);
/* SCCP_Emulation.ttcn, line 5508 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_relcomp)) {
current_location.update_lineno(5510);
/* SCCP_Emulation.ttcn, line 5510 */
processing__PDU__SCCP__ReleaseComplete(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).relcomp());
}
else {
current_location.update_lineno(5516);
/* SCCP_Emulation.ttcn, line 5516 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_udataserv)) {
current_location.update_lineno(5521);
/* SCCP_Emulation.ttcn, line 5521 */
processing__PDU__SCCP__UnitdataService(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).udataserv());
}
else {
current_location.update_lineno(5527);
/* SCCP_Emulation.ttcn, line 5527 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_pduerror)) {
current_location.update_lineno(5529);
/* SCCP_Emulation.ttcn, line 5529 */
processing__PDU__SCCP__ProtDataUnitError(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).pduerror());
}
else {
current_location.update_lineno(5535);
/* SCCP_Emulation.ttcn, line 5535 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_inacttest)) {
current_location.update_lineno(5537);
/* SCCP_Emulation.ttcn, line 5537 */
processing__PDU__SCCP__InactivityTest(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).inacttest());
}
else {
current_location.update_lineno(5543);
/* SCCP_Emulation.ttcn, line 5543 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_resetreq)) {
current_location.update_lineno(5545);
/* SCCP_Emulation.ttcn, line 5545 */
processing__PDU__SCCP__ResetRequest(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).resetreq());
}
else {
current_location.update_lineno(5551);
/* SCCP_Emulation.ttcn, line 5551 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_resconf)) {
current_location.update_lineno(5553);
/* SCCP_Emulation.ttcn, line 5553 */
processing__PDU__SCCP__ResetConfirm(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).resconf());
}
else {
current_location.update_lineno(5559);
/* SCCP_Emulation.ttcn, line 5559 */
if (vl__PDU__SCCP.ischosen(SCCP__Types::PDU__SCCP::ALT_connrefused)) {
current_location.update_lineno(5562);
/* SCCP_Emulation.ttcn, line 5562 */
processing__PDU__SCCP__ConnectionRefused(const_cast< const SCCP__Types::PDU__SCCP&>(vl__PDU__SCCP).connrefused());
}
else {
current_location.update_lineno(5565);
/* SCCP_Emulation.ttcn, line 5565 */
TTCN_Logger::log_str(TTCN_USER, "Unsupported message received and discarded");
}
}
}
}
}
}
}
}
}
}
}
}
}
break;
}
}
if (tmp_1054_alt_flag_1 == ALT_MAYBE) {
current_location.update_lineno(5568);
/* SCCP_Emulation.ttcn, line 5568 */
tmp_1054_alt_flag_1 = SCCP__CT_component_MTP3__SCCP__PORT.receive(any_compref, NULL, NULL, NULL);
if (tmp_1054_alt_flag_1 == ALT_YES) {
current_location.update_lineno(5569);
/* SCCP_Emulation.ttcn, line 5569 */
TTCN_Logger::log_str(TTCN_USER, "Unsupported or unrecognized message discarded after reception");
break;
}
}
if (tmp_1054_alt_flag_2 == ALT_MAYBE) {
current_location.update_lineno(5577);
/* SCCP_Emulation.ttcn, line 5577 */
tmp_1054_alt_flag_2 = SCCP__CT_component_SCCP__SP__PORT.check(any_compref, NULL, NULL, NULL);
if (tmp_1054_alt_flag_2 == ALT_YES) {
current_location.update_lineno(5580);
/* SCCP_Emulation.ttcn, line 5580 */
{
tmp_1055:
alt_status tmp_1055_alt_flag_0 = ALT_MAYBE;
alt_status tmp_1055_alt_flag_1 = ALT_MAYBE;
alt_status tmp_1055_alt_flag_2 = ALT_MAYBE;
alt_status tmp_1055_alt_flag_3 = ALT_MAYBE;
alt_status tmp_1055_alt_flag_4 = ALT_MAYBE;
alt_status tmp_1055_alt_flag_5 = ALT_MAYBE;
alt_status tmp_1055_default_flag = ALT_MAYBE;
TTCN_Snapshot::take_new(FALSE);
for ( ; ; ) {
if (tmp_1055_alt_flag_0 == ALT_MAYBE) {
current_location.update_lineno(5585);
/* SCCP_Emulation.ttcn, line 5585 */
tmp_1055_alt_flag_0 = SCCP__CT_component_SCCP__SP__PORT.receive(SCCPasp__Types::tr__ASP__N__DATA__req, &(vl__N__DATA__req), any_compref, NULL, NULL, NULL);
if (tmp_1055_alt_flag_0 == ALT_YES) {
current_location.update_lineno(5586);
/* SCCP_Emulation.ttcn, line 5586 */
processing__ASP__N__DATA__req(vl__N__DATA__req);
break;
}
}
if (tmp_1055_alt_flag_1 == ALT_MAYBE) {
current_location.update_lineno(5591);
/* SCCP_Emulation.ttcn, line 5591 */
tmp_1055_alt_flag_1 = SCCP__CT_component_SCCP__SP__PORT.receive(SCCPasp__Types::tr__ASP__N__UNITDATA__req, &(vl__N__UNITDATA__req), any_compref, NULL, NULL, NULL);
if (tmp_1055_alt_flag_1 == ALT_YES) {
current_location.update_lineno(5592);
/* SCCP_Emulation.ttcn, line 5592 */
processing__ASP__N__UNITDATA__req(vl__N__UNITDATA__req);
break;
}
}
if (tmp_1055_alt_flag_2 == ALT_MAYBE) {
current_location.update_lineno(5597);
/* SCCP_Emulation.ttcn, line 5597 */
tmp_1055_alt_flag_2 = SCCP__CT_component_SCCP__SP__PORT.receive(SCCPasp__Types::tr__ASP__N__CONNECT__req, &(vl__N__CONNECT__req), any_compref, NULL, NULL, NULL);
if (tmp_1055_alt_flag_2 == ALT_YES) {
current_location.update_lineno(5598);
/* SCCP_Emulation.ttcn, line 5598 */
processing__ASP__N__CONNECT__req(vl__N__CONNECT__req);
break;
}
}
if (tmp_1055_alt_flag_3 == ALT_MAYBE) {
current_location.update_lineno(5603);
/* SCCP_Emulation.ttcn, line 5603 */
tmp_1055_alt_flag_3 = SCCP__CT_component_SCCP__SP__PORT.receive(SCCPasp__Types::tr__ASP__N__CONNECT__res, &(vl__N__CONNECT__res), any_compref, NULL, NULL, NULL);
if (tmp_1055_alt_flag_3 == ALT_YES) {
current_location.update_lineno(5604);
/* SCCP_Emulation.ttcn, line 5604 */
processing__ASP__N__CONNECT__res(vl__N__CONNECT__res);
break;
}
}
if (tmp_1055_alt_flag_4 == ALT_MAYBE) {
current_location.update_lineno(5609);
/* SCCP_Emulation.ttcn, line 5609 */
tmp_1055_alt_flag_4 = SCCP__CT_component_SCCP__SP__PORT.receive(SCCPasp__Types::tr__ASP__N__DISCONNECT__req, &(vl__N__DISCONNECT__req), any_compref, NULL, NULL, NULL);
if (tmp_1055_alt_flag_4 == ALT_YES) {
current_location.update_lineno(5610);
/* SCCP_Emulation.ttcn, line 5610 */
processing__ASP__N__DISCONNECT__req(vl__N__DISCONNECT__req);
break;
}
}
if (tmp_1055_alt_flag_5 == ALT_MAYBE) {
current_location.update_lineno(5626);
/* SCCP_Emulation.ttcn, line 5626 */
tmp_1055_alt_flag_5 = SCCP__CT_component_SCCP__SP__PORT.receive(any_compref, NULL, NULL, NULL);
if (tmp_1055_alt_flag_5 == ALT_YES) break;
}
if (tmp_1055_default_flag == ALT_MAYBE) {
tmp_1055_default_flag = TTCN_Default::try_altsteps();
if (tmp_1055_default_flag == ALT_YES || tmp_1055_default_flag == ALT_BREAK) break;
else if (tmp_1055_default_flag == ALT_REPEAT) goto tmp_1055;
}
current_location.update_lineno(5580);
/* SCCP_Emulation.ttcn, line 5580 */
if (tmp_1055_alt_flag_0 == ALT_NO && tmp_1055_alt_flag_1 == ALT_NO && tmp_1055_alt_flag_2 == ALT_NO && tmp_1055_alt_flag_3 == ALT_NO && tmp_1055_alt_flag_4 == ALT_NO && tmp_1055_alt_flag_5 == ALT_NO && tmp_1055_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file SCCP_Emulation.ttcn between lines 5580 and 5629.");
TTCN_Snapshot::take_new(TRUE);
}
}
break;
}
}
if (tmp_1054_alt_flag_3 == ALT_UNCHECKED) {
current_location.update_lineno(5636);
/* SCCP_Emulation.ttcn, line 5636 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[0]) tmp_1054_alt_flag_3 = ALT_MAYBE;
else tmp_1054_alt_flag_3 = ALT_NO;
}
if (tmp_1054_alt_flag_3 == ALT_MAYBE) {
current_location.update_lineno(5636);
/* SCCP_Emulation.ttcn, line 5636 */
tmp_1054_alt_flag_3 = SCCP__CT_component_T__conn__est[0].timeout(NULL);
if (tmp_1054_alt_flag_3 == ALT_YES) {
current_location.update_lineno(5636);
/* SCCP_Emulation.ttcn, line 5636 */
Conn__Timer__Expired(0);
current_location.update_lineno(5637);
/* SCCP_Emulation.ttcn, line 5637 */
SCCP__CT_component_v__T__conn__est[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_4 == ALT_UNCHECKED) {
current_location.update_lineno(5638);
/* SCCP_Emulation.ttcn, line 5638 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[1]) tmp_1054_alt_flag_4 = ALT_MAYBE;
else tmp_1054_alt_flag_4 = ALT_NO;
}
if (tmp_1054_alt_flag_4 == ALT_MAYBE) {
current_location.update_lineno(5638);
/* SCCP_Emulation.ttcn, line 5638 */
tmp_1054_alt_flag_4 = SCCP__CT_component_T__conn__est[1].timeout(NULL);
if (tmp_1054_alt_flag_4 == ALT_YES) {
current_location.update_lineno(5638);
/* SCCP_Emulation.ttcn, line 5638 */
Conn__Timer__Expired(1);
current_location.update_lineno(5639);
/* SCCP_Emulation.ttcn, line 5639 */
SCCP__CT_component_v__T__conn__est[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_5 == ALT_UNCHECKED) {
current_location.update_lineno(5640);
/* SCCP_Emulation.ttcn, line 5640 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[2]) tmp_1054_alt_flag_5 = ALT_MAYBE;
else tmp_1054_alt_flag_5 = ALT_NO;
}
if (tmp_1054_alt_flag_5 == ALT_MAYBE) {
current_location.update_lineno(5640);
/* SCCP_Emulation.ttcn, line 5640 */
tmp_1054_alt_flag_5 = SCCP__CT_component_T__conn__est[2].timeout(NULL);
if (tmp_1054_alt_flag_5 == ALT_YES) {
current_location.update_lineno(5640);
/* SCCP_Emulation.ttcn, line 5640 */
Conn__Timer__Expired(2);
current_location.update_lineno(5641);
/* SCCP_Emulation.ttcn, line 5641 */
SCCP__CT_component_v__T__conn__est[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_6 == ALT_UNCHECKED) {
current_location.update_lineno(5642);
/* SCCP_Emulation.ttcn, line 5642 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[3]) tmp_1054_alt_flag_6 = ALT_MAYBE;
else tmp_1054_alt_flag_6 = ALT_NO;
}
if (tmp_1054_alt_flag_6 == ALT_MAYBE) {
current_location.update_lineno(5642);
/* SCCP_Emulation.ttcn, line 5642 */
tmp_1054_alt_flag_6 = SCCP__CT_component_T__conn__est[3].timeout(NULL);
if (tmp_1054_alt_flag_6 == ALT_YES) {
current_location.update_lineno(5642);
/* SCCP_Emulation.ttcn, line 5642 */
Conn__Timer__Expired(3);
current_location.update_lineno(5643);
/* SCCP_Emulation.ttcn, line 5643 */
SCCP__CT_component_v__T__conn__est[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_7 == ALT_UNCHECKED) {
current_location.update_lineno(5644);
/* SCCP_Emulation.ttcn, line 5644 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[4]) tmp_1054_alt_flag_7 = ALT_MAYBE;
else tmp_1054_alt_flag_7 = ALT_NO;
}
if (tmp_1054_alt_flag_7 == ALT_MAYBE) {
current_location.update_lineno(5644);
/* SCCP_Emulation.ttcn, line 5644 */
tmp_1054_alt_flag_7 = SCCP__CT_component_T__conn__est[4].timeout(NULL);
if (tmp_1054_alt_flag_7 == ALT_YES) {
current_location.update_lineno(5644);
/* SCCP_Emulation.ttcn, line 5644 */
Conn__Timer__Expired(4);
current_location.update_lineno(5645);
/* SCCP_Emulation.ttcn, line 5645 */
SCCP__CT_component_v__T__conn__est[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_8 == ALT_UNCHECKED) {
current_location.update_lineno(5646);
/* SCCP_Emulation.ttcn, line 5646 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[5]) tmp_1054_alt_flag_8 = ALT_MAYBE;
else tmp_1054_alt_flag_8 = ALT_NO;
}
if (tmp_1054_alt_flag_8 == ALT_MAYBE) {
current_location.update_lineno(5646);
/* SCCP_Emulation.ttcn, line 5646 */
tmp_1054_alt_flag_8 = SCCP__CT_component_T__conn__est[5].timeout(NULL);
if (tmp_1054_alt_flag_8 == ALT_YES) {
current_location.update_lineno(5646);
/* SCCP_Emulation.ttcn, line 5646 */
Conn__Timer__Expired(5);
current_location.update_lineno(5647);
/* SCCP_Emulation.ttcn, line 5647 */
SCCP__CT_component_v__T__conn__est[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_9 == ALT_UNCHECKED) {
current_location.update_lineno(5648);
/* SCCP_Emulation.ttcn, line 5648 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[6]) tmp_1054_alt_flag_9 = ALT_MAYBE;
else tmp_1054_alt_flag_9 = ALT_NO;
}
if (tmp_1054_alt_flag_9 == ALT_MAYBE) {
current_location.update_lineno(5648);
/* SCCP_Emulation.ttcn, line 5648 */
tmp_1054_alt_flag_9 = SCCP__CT_component_T__conn__est[6].timeout(NULL);
if (tmp_1054_alt_flag_9 == ALT_YES) {
current_location.update_lineno(5648);
/* SCCP_Emulation.ttcn, line 5648 */
Conn__Timer__Expired(6);
current_location.update_lineno(5649);
/* SCCP_Emulation.ttcn, line 5649 */
SCCP__CT_component_v__T__conn__est[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_10 == ALT_UNCHECKED) {
current_location.update_lineno(5650);
/* SCCP_Emulation.ttcn, line 5650 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[7]) tmp_1054_alt_flag_10 = ALT_MAYBE;
else tmp_1054_alt_flag_10 = ALT_NO;
}
if (tmp_1054_alt_flag_10 == ALT_MAYBE) {
current_location.update_lineno(5650);
/* SCCP_Emulation.ttcn, line 5650 */
tmp_1054_alt_flag_10 = SCCP__CT_component_T__conn__est[7].timeout(NULL);
if (tmp_1054_alt_flag_10 == ALT_YES) {
current_location.update_lineno(5650);
/* SCCP_Emulation.ttcn, line 5650 */
Conn__Timer__Expired(7);
current_location.update_lineno(5651);
/* SCCP_Emulation.ttcn, line 5651 */
SCCP__CT_component_v__T__conn__est[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_11 == ALT_UNCHECKED) {
current_location.update_lineno(5652);
/* SCCP_Emulation.ttcn, line 5652 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[8]) tmp_1054_alt_flag_11 = ALT_MAYBE;
else tmp_1054_alt_flag_11 = ALT_NO;
}
if (tmp_1054_alt_flag_11 == ALT_MAYBE) {
current_location.update_lineno(5652);
/* SCCP_Emulation.ttcn, line 5652 */
tmp_1054_alt_flag_11 = SCCP__CT_component_T__conn__est[8].timeout(NULL);
if (tmp_1054_alt_flag_11 == ALT_YES) {
current_location.update_lineno(5652);
/* SCCP_Emulation.ttcn, line 5652 */
Conn__Timer__Expired(8);
current_location.update_lineno(5653);
/* SCCP_Emulation.ttcn, line 5653 */
SCCP__CT_component_v__T__conn__est[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_12 == ALT_UNCHECKED) {
current_location.update_lineno(5654);
/* SCCP_Emulation.ttcn, line 5654 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[9]) tmp_1054_alt_flag_12 = ALT_MAYBE;
else tmp_1054_alt_flag_12 = ALT_NO;
}
if (tmp_1054_alt_flag_12 == ALT_MAYBE) {
current_location.update_lineno(5654);
/* SCCP_Emulation.ttcn, line 5654 */
tmp_1054_alt_flag_12 = SCCP__CT_component_T__conn__est[9].timeout(NULL);
if (tmp_1054_alt_flag_12 == ALT_YES) {
current_location.update_lineno(5654);
/* SCCP_Emulation.ttcn, line 5654 */
Conn__Timer__Expired(9);
current_location.update_lineno(5655);
/* SCCP_Emulation.ttcn, line 5655 */
SCCP__CT_component_v__T__conn__est[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_13 == ALT_UNCHECKED) {
current_location.update_lineno(5656);
/* SCCP_Emulation.ttcn, line 5656 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[10]) tmp_1054_alt_flag_13 = ALT_MAYBE;
else tmp_1054_alt_flag_13 = ALT_NO;
}
if (tmp_1054_alt_flag_13 == ALT_MAYBE) {
current_location.update_lineno(5656);
/* SCCP_Emulation.ttcn, line 5656 */
tmp_1054_alt_flag_13 = SCCP__CT_component_T__conn__est[10].timeout(NULL);
if (tmp_1054_alt_flag_13 == ALT_YES) {
current_location.update_lineno(5656);
/* SCCP_Emulation.ttcn, line 5656 */
Conn__Timer__Expired(10);
current_location.update_lineno(5657);
/* SCCP_Emulation.ttcn, line 5657 */
SCCP__CT_component_v__T__conn__est[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_14 == ALT_UNCHECKED) {
current_location.update_lineno(5658);
/* SCCP_Emulation.ttcn, line 5658 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[11]) tmp_1054_alt_flag_14 = ALT_MAYBE;
else tmp_1054_alt_flag_14 = ALT_NO;
}
if (tmp_1054_alt_flag_14 == ALT_MAYBE) {
current_location.update_lineno(5658);
/* SCCP_Emulation.ttcn, line 5658 */
tmp_1054_alt_flag_14 = SCCP__CT_component_T__conn__est[11].timeout(NULL);
if (tmp_1054_alt_flag_14 == ALT_YES) {
current_location.update_lineno(5658);
/* SCCP_Emulation.ttcn, line 5658 */
Conn__Timer__Expired(11);
current_location.update_lineno(5659);
/* SCCP_Emulation.ttcn, line 5659 */
SCCP__CT_component_v__T__conn__est[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_15 == ALT_UNCHECKED) {
current_location.update_lineno(5660);
/* SCCP_Emulation.ttcn, line 5660 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[12]) tmp_1054_alt_flag_15 = ALT_MAYBE;
else tmp_1054_alt_flag_15 = ALT_NO;
}
if (tmp_1054_alt_flag_15 == ALT_MAYBE) {
current_location.update_lineno(5660);
/* SCCP_Emulation.ttcn, line 5660 */
tmp_1054_alt_flag_15 = SCCP__CT_component_T__conn__est[12].timeout(NULL);
if (tmp_1054_alt_flag_15 == ALT_YES) {
current_location.update_lineno(5660);
/* SCCP_Emulation.ttcn, line 5660 */
Conn__Timer__Expired(12);
current_location.update_lineno(5661);
/* SCCP_Emulation.ttcn, line 5661 */
SCCP__CT_component_v__T__conn__est[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_16 == ALT_UNCHECKED) {
current_location.update_lineno(5662);
/* SCCP_Emulation.ttcn, line 5662 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[13]) tmp_1054_alt_flag_16 = ALT_MAYBE;
else tmp_1054_alt_flag_16 = ALT_NO;
}
if (tmp_1054_alt_flag_16 == ALT_MAYBE) {
current_location.update_lineno(5662);
/* SCCP_Emulation.ttcn, line 5662 */
tmp_1054_alt_flag_16 = SCCP__CT_component_T__conn__est[13].timeout(NULL);
if (tmp_1054_alt_flag_16 == ALT_YES) {
current_location.update_lineno(5662);
/* SCCP_Emulation.ttcn, line 5662 */
Conn__Timer__Expired(13);
current_location.update_lineno(5663);
/* SCCP_Emulation.ttcn, line 5663 */
SCCP__CT_component_v__T__conn__est[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_17 == ALT_UNCHECKED) {
current_location.update_lineno(5664);
/* SCCP_Emulation.ttcn, line 5664 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[14]) tmp_1054_alt_flag_17 = ALT_MAYBE;
else tmp_1054_alt_flag_17 = ALT_NO;
}
if (tmp_1054_alt_flag_17 == ALT_MAYBE) {
current_location.update_lineno(5664);
/* SCCP_Emulation.ttcn, line 5664 */
tmp_1054_alt_flag_17 = SCCP__CT_component_T__conn__est[14].timeout(NULL);
if (tmp_1054_alt_flag_17 == ALT_YES) {
current_location.update_lineno(5664);
/* SCCP_Emulation.ttcn, line 5664 */
Conn__Timer__Expired(14);
current_location.update_lineno(5665);
/* SCCP_Emulation.ttcn, line 5665 */
SCCP__CT_component_v__T__conn__est[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_18 == ALT_UNCHECKED) {
current_location.update_lineno(5666);
/* SCCP_Emulation.ttcn, line 5666 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__conn__est)[15]) tmp_1054_alt_flag_18 = ALT_MAYBE;
else tmp_1054_alt_flag_18 = ALT_NO;
}
if (tmp_1054_alt_flag_18 == ALT_MAYBE) {
current_location.update_lineno(5666);
/* SCCP_Emulation.ttcn, line 5666 */
tmp_1054_alt_flag_18 = SCCP__CT_component_T__conn__est[15].timeout(NULL);
if (tmp_1054_alt_flag_18 == ALT_YES) {
current_location.update_lineno(5666);
/* SCCP_Emulation.ttcn, line 5666 */
Conn__Timer__Expired(15);
current_location.update_lineno(5667);
/* SCCP_Emulation.ttcn, line 5667 */
SCCP__CT_component_v__T__conn__est[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_19 == ALT_UNCHECKED) {
current_location.update_lineno(5673);
/* SCCP_Emulation.ttcn, line 5673 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[0]) tmp_1054_alt_flag_19 = ALT_MAYBE;
else tmp_1054_alt_flag_19 = ALT_NO;
}
if (tmp_1054_alt_flag_19 == ALT_MAYBE) {
current_location.update_lineno(5673);
/* SCCP_Emulation.ttcn, line 5673 */
tmp_1054_alt_flag_19 = SCCP__CT_component_T__ias[0].timeout(NULL);
if (tmp_1054_alt_flag_19 == ALT_YES) {
current_location.update_lineno(5673);
/* SCCP_Emulation.ttcn, line 5673 */
SendInactivity__Timer__Expired(0);
current_location.update_lineno(5674);
/* SCCP_Emulation.ttcn, line 5674 */
SCCP__CT_component_v__T__ias[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_20 == ALT_UNCHECKED) {
current_location.update_lineno(5675);
/* SCCP_Emulation.ttcn, line 5675 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[1]) tmp_1054_alt_flag_20 = ALT_MAYBE;
else tmp_1054_alt_flag_20 = ALT_NO;
}
if (tmp_1054_alt_flag_20 == ALT_MAYBE) {
current_location.update_lineno(5675);
/* SCCP_Emulation.ttcn, line 5675 */
tmp_1054_alt_flag_20 = SCCP__CT_component_T__ias[1].timeout(NULL);
if (tmp_1054_alt_flag_20 == ALT_YES) {
current_location.update_lineno(5675);
/* SCCP_Emulation.ttcn, line 5675 */
SendInactivity__Timer__Expired(1);
current_location.update_lineno(5676);
/* SCCP_Emulation.ttcn, line 5676 */
SCCP__CT_component_v__T__ias[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_21 == ALT_UNCHECKED) {
current_location.update_lineno(5677);
/* SCCP_Emulation.ttcn, line 5677 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[2]) tmp_1054_alt_flag_21 = ALT_MAYBE;
else tmp_1054_alt_flag_21 = ALT_NO;
}
if (tmp_1054_alt_flag_21 == ALT_MAYBE) {
current_location.update_lineno(5677);
/* SCCP_Emulation.ttcn, line 5677 */
tmp_1054_alt_flag_21 = SCCP__CT_component_T__ias[2].timeout(NULL);
if (tmp_1054_alt_flag_21 == ALT_YES) {
current_location.update_lineno(5677);
/* SCCP_Emulation.ttcn, line 5677 */
SendInactivity__Timer__Expired(2);
current_location.update_lineno(5678);
/* SCCP_Emulation.ttcn, line 5678 */
SCCP__CT_component_v__T__ias[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_22 == ALT_UNCHECKED) {
current_location.update_lineno(5679);
/* SCCP_Emulation.ttcn, line 5679 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[3]) tmp_1054_alt_flag_22 = ALT_MAYBE;
else tmp_1054_alt_flag_22 = ALT_NO;
}
if (tmp_1054_alt_flag_22 == ALT_MAYBE) {
current_location.update_lineno(5679);
/* SCCP_Emulation.ttcn, line 5679 */
tmp_1054_alt_flag_22 = SCCP__CT_component_T__ias[3].timeout(NULL);
if (tmp_1054_alt_flag_22 == ALT_YES) {
current_location.update_lineno(5679);
/* SCCP_Emulation.ttcn, line 5679 */
SendInactivity__Timer__Expired(3);
current_location.update_lineno(5680);
/* SCCP_Emulation.ttcn, line 5680 */
SCCP__CT_component_v__T__ias[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_23 == ALT_UNCHECKED) {
current_location.update_lineno(5681);
/* SCCP_Emulation.ttcn, line 5681 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[4]) tmp_1054_alt_flag_23 = ALT_MAYBE;
else tmp_1054_alt_flag_23 = ALT_NO;
}
if (tmp_1054_alt_flag_23 == ALT_MAYBE) {
current_location.update_lineno(5681);
/* SCCP_Emulation.ttcn, line 5681 */
tmp_1054_alt_flag_23 = SCCP__CT_component_T__ias[4].timeout(NULL);
if (tmp_1054_alt_flag_23 == ALT_YES) {
current_location.update_lineno(5681);
/* SCCP_Emulation.ttcn, line 5681 */
SendInactivity__Timer__Expired(4);
current_location.update_lineno(5682);
/* SCCP_Emulation.ttcn, line 5682 */
SCCP__CT_component_v__T__ias[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_24 == ALT_UNCHECKED) {
current_location.update_lineno(5683);
/* SCCP_Emulation.ttcn, line 5683 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[5]) tmp_1054_alt_flag_24 = ALT_MAYBE;
else tmp_1054_alt_flag_24 = ALT_NO;
}
if (tmp_1054_alt_flag_24 == ALT_MAYBE) {
current_location.update_lineno(5683);
/* SCCP_Emulation.ttcn, line 5683 */
tmp_1054_alt_flag_24 = SCCP__CT_component_T__ias[5].timeout(NULL);
if (tmp_1054_alt_flag_24 == ALT_YES) {
current_location.update_lineno(5683);
/* SCCP_Emulation.ttcn, line 5683 */
SendInactivity__Timer__Expired(5);
current_location.update_lineno(5684);
/* SCCP_Emulation.ttcn, line 5684 */
SCCP__CT_component_v__T__ias[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_25 == ALT_UNCHECKED) {
current_location.update_lineno(5685);
/* SCCP_Emulation.ttcn, line 5685 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[6]) tmp_1054_alt_flag_25 = ALT_MAYBE;
else tmp_1054_alt_flag_25 = ALT_NO;
}
if (tmp_1054_alt_flag_25 == ALT_MAYBE) {
current_location.update_lineno(5685);
/* SCCP_Emulation.ttcn, line 5685 */
tmp_1054_alt_flag_25 = SCCP__CT_component_T__ias[6].timeout(NULL);
if (tmp_1054_alt_flag_25 == ALT_YES) {
current_location.update_lineno(5685);
/* SCCP_Emulation.ttcn, line 5685 */
SendInactivity__Timer__Expired(6);
current_location.update_lineno(5686);
/* SCCP_Emulation.ttcn, line 5686 */
SCCP__CT_component_v__T__ias[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_26 == ALT_UNCHECKED) {
current_location.update_lineno(5687);
/* SCCP_Emulation.ttcn, line 5687 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[7]) tmp_1054_alt_flag_26 = ALT_MAYBE;
else tmp_1054_alt_flag_26 = ALT_NO;
}
if (tmp_1054_alt_flag_26 == ALT_MAYBE) {
current_location.update_lineno(5687);
/* SCCP_Emulation.ttcn, line 5687 */
tmp_1054_alt_flag_26 = SCCP__CT_component_T__ias[7].timeout(NULL);
if (tmp_1054_alt_flag_26 == ALT_YES) {
current_location.update_lineno(5687);
/* SCCP_Emulation.ttcn, line 5687 */
SendInactivity__Timer__Expired(7);
current_location.update_lineno(5688);
/* SCCP_Emulation.ttcn, line 5688 */
SCCP__CT_component_v__T__ias[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_27 == ALT_UNCHECKED) {
current_location.update_lineno(5689);
/* SCCP_Emulation.ttcn, line 5689 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[8]) tmp_1054_alt_flag_27 = ALT_MAYBE;
else tmp_1054_alt_flag_27 = ALT_NO;
}
if (tmp_1054_alt_flag_27 == ALT_MAYBE) {
current_location.update_lineno(5689);
/* SCCP_Emulation.ttcn, line 5689 */
tmp_1054_alt_flag_27 = SCCP__CT_component_T__ias[8].timeout(NULL);
if (tmp_1054_alt_flag_27 == ALT_YES) {
current_location.update_lineno(5689);
/* SCCP_Emulation.ttcn, line 5689 */
SendInactivity__Timer__Expired(8);
current_location.update_lineno(5690);
/* SCCP_Emulation.ttcn, line 5690 */
SCCP__CT_component_v__T__ias[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_28 == ALT_UNCHECKED) {
current_location.update_lineno(5691);
/* SCCP_Emulation.ttcn, line 5691 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[9]) tmp_1054_alt_flag_28 = ALT_MAYBE;
else tmp_1054_alt_flag_28 = ALT_NO;
}
if (tmp_1054_alt_flag_28 == ALT_MAYBE) {
current_location.update_lineno(5691);
/* SCCP_Emulation.ttcn, line 5691 */
tmp_1054_alt_flag_28 = SCCP__CT_component_T__ias[9].timeout(NULL);
if (tmp_1054_alt_flag_28 == ALT_YES) {
current_location.update_lineno(5691);
/* SCCP_Emulation.ttcn, line 5691 */
SendInactivity__Timer__Expired(9);
current_location.update_lineno(5692);
/* SCCP_Emulation.ttcn, line 5692 */
SCCP__CT_component_v__T__ias[i] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_29 == ALT_UNCHECKED) {
current_location.update_lineno(5693);
/* SCCP_Emulation.ttcn, line 5693 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[10]) tmp_1054_alt_flag_29 = ALT_MAYBE;
else tmp_1054_alt_flag_29 = ALT_NO;
}
if (tmp_1054_alt_flag_29 == ALT_MAYBE) {
current_location.update_lineno(5693);
/* SCCP_Emulation.ttcn, line 5693 */
tmp_1054_alt_flag_29 = SCCP__CT_component_T__ias[10].timeout(NULL);
if (tmp_1054_alt_flag_29 == ALT_YES) {
current_location.update_lineno(5693);
/* SCCP_Emulation.ttcn, line 5693 */
SendInactivity__Timer__Expired(10);
current_location.update_lineno(5694);
/* SCCP_Emulation.ttcn, line 5694 */
SCCP__CT_component_v__T__ias[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_30 == ALT_UNCHECKED) {
current_location.update_lineno(5695);
/* SCCP_Emulation.ttcn, line 5695 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[11]) tmp_1054_alt_flag_30 = ALT_MAYBE;
else tmp_1054_alt_flag_30 = ALT_NO;
}
if (tmp_1054_alt_flag_30 == ALT_MAYBE) {
current_location.update_lineno(5695);
/* SCCP_Emulation.ttcn, line 5695 */
tmp_1054_alt_flag_30 = SCCP__CT_component_T__ias[11].timeout(NULL);
if (tmp_1054_alt_flag_30 == ALT_YES) {
current_location.update_lineno(5695);
/* SCCP_Emulation.ttcn, line 5695 */
SendInactivity__Timer__Expired(11);
current_location.update_lineno(5696);
/* SCCP_Emulation.ttcn, line 5696 */
SCCP__CT_component_v__T__ias[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_31 == ALT_UNCHECKED) {
current_location.update_lineno(5697);
/* SCCP_Emulation.ttcn, line 5697 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[12]) tmp_1054_alt_flag_31 = ALT_MAYBE;
else tmp_1054_alt_flag_31 = ALT_NO;
}
if (tmp_1054_alt_flag_31 == ALT_MAYBE) {
current_location.update_lineno(5697);
/* SCCP_Emulation.ttcn, line 5697 */
tmp_1054_alt_flag_31 = SCCP__CT_component_T__ias[12].timeout(NULL);
if (tmp_1054_alt_flag_31 == ALT_YES) {
current_location.update_lineno(5697);
/* SCCP_Emulation.ttcn, line 5697 */
SendInactivity__Timer__Expired(12);
current_location.update_lineno(5698);
/* SCCP_Emulation.ttcn, line 5698 */
SCCP__CT_component_v__T__ias[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_32 == ALT_UNCHECKED) {
current_location.update_lineno(5699);
/* SCCP_Emulation.ttcn, line 5699 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[13]) tmp_1054_alt_flag_32 = ALT_MAYBE;
else tmp_1054_alt_flag_32 = ALT_NO;
}
if (tmp_1054_alt_flag_32 == ALT_MAYBE) {
current_location.update_lineno(5699);
/* SCCP_Emulation.ttcn, line 5699 */
tmp_1054_alt_flag_32 = SCCP__CT_component_T__ias[13].timeout(NULL);
if (tmp_1054_alt_flag_32 == ALT_YES) {
current_location.update_lineno(5699);
/* SCCP_Emulation.ttcn, line 5699 */
SendInactivity__Timer__Expired(13);
current_location.update_lineno(5700);
/* SCCP_Emulation.ttcn, line 5700 */
SCCP__CT_component_v__T__ias[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_33 == ALT_UNCHECKED) {
current_location.update_lineno(5701);
/* SCCP_Emulation.ttcn, line 5701 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[14]) tmp_1054_alt_flag_33 = ALT_MAYBE;
else tmp_1054_alt_flag_33 = ALT_NO;
}
if (tmp_1054_alt_flag_33 == ALT_MAYBE) {
current_location.update_lineno(5701);
/* SCCP_Emulation.ttcn, line 5701 */
tmp_1054_alt_flag_33 = SCCP__CT_component_T__ias[14].timeout(NULL);
if (tmp_1054_alt_flag_33 == ALT_YES) {
current_location.update_lineno(5701);
/* SCCP_Emulation.ttcn, line 5701 */
SendInactivity__Timer__Expired(14);
current_location.update_lineno(5702);
/* SCCP_Emulation.ttcn, line 5702 */
SCCP__CT_component_v__T__ias[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_34 == ALT_UNCHECKED) {
current_location.update_lineno(5703);
/* SCCP_Emulation.ttcn, line 5703 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__ias)[15]) tmp_1054_alt_flag_34 = ALT_MAYBE;
else tmp_1054_alt_flag_34 = ALT_NO;
}
if (tmp_1054_alt_flag_34 == ALT_MAYBE) {
current_location.update_lineno(5703);
/* SCCP_Emulation.ttcn, line 5703 */
tmp_1054_alt_flag_34 = SCCP__CT_component_T__ias[15].timeout(NULL);
if (tmp_1054_alt_flag_34 == ALT_YES) {
current_location.update_lineno(5703);
/* SCCP_Emulation.ttcn, line 5703 */
SendInactivity__Timer__Expired(15);
current_location.update_lineno(5704);
/* SCCP_Emulation.ttcn, line 5704 */
SCCP__CT_component_v__T__ias[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_35 == ALT_UNCHECKED) {
current_location.update_lineno(5709);
/* SCCP_Emulation.ttcn, line 5709 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[0]) tmp_1054_alt_flag_35 = ALT_MAYBE;
else tmp_1054_alt_flag_35 = ALT_NO;
}
if (tmp_1054_alt_flag_35 == ALT_MAYBE) {
current_location.update_lineno(5709);
/* SCCP_Emulation.ttcn, line 5709 */
tmp_1054_alt_flag_35 = SCCP__CT_component_T__iar[0].timeout(NULL);
if (tmp_1054_alt_flag_35 == ALT_YES) {
current_location.update_lineno(5709);
/* SCCP_Emulation.ttcn, line 5709 */
ReceiveInactivity__Timer__Expired(0);
current_location.update_lineno(5710);
/* SCCP_Emulation.ttcn, line 5710 */
SCCP__CT_component_v__T__iar[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_36 == ALT_UNCHECKED) {
current_location.update_lineno(5711);
/* SCCP_Emulation.ttcn, line 5711 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[1]) tmp_1054_alt_flag_36 = ALT_MAYBE;
else tmp_1054_alt_flag_36 = ALT_NO;
}
if (tmp_1054_alt_flag_36 == ALT_MAYBE) {
current_location.update_lineno(5711);
/* SCCP_Emulation.ttcn, line 5711 */
tmp_1054_alt_flag_36 = SCCP__CT_component_T__iar[1].timeout(NULL);
if (tmp_1054_alt_flag_36 == ALT_YES) {
current_location.update_lineno(5711);
/* SCCP_Emulation.ttcn, line 5711 */
ReceiveInactivity__Timer__Expired(1);
current_location.update_lineno(5712);
/* SCCP_Emulation.ttcn, line 5712 */
SCCP__CT_component_v__T__iar[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_37 == ALT_UNCHECKED) {
current_location.update_lineno(5713);
/* SCCP_Emulation.ttcn, line 5713 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[2]) tmp_1054_alt_flag_37 = ALT_MAYBE;
else tmp_1054_alt_flag_37 = ALT_NO;
}
if (tmp_1054_alt_flag_37 == ALT_MAYBE) {
current_location.update_lineno(5713);
/* SCCP_Emulation.ttcn, line 5713 */
tmp_1054_alt_flag_37 = SCCP__CT_component_T__iar[2].timeout(NULL);
if (tmp_1054_alt_flag_37 == ALT_YES) {
current_location.update_lineno(5713);
/* SCCP_Emulation.ttcn, line 5713 */
ReceiveInactivity__Timer__Expired(2);
current_location.update_lineno(5714);
/* SCCP_Emulation.ttcn, line 5714 */
SCCP__CT_component_v__T__iar[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_38 == ALT_UNCHECKED) {
current_location.update_lineno(5715);
/* SCCP_Emulation.ttcn, line 5715 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[3]) tmp_1054_alt_flag_38 = ALT_MAYBE;
else tmp_1054_alt_flag_38 = ALT_NO;
}
if (tmp_1054_alt_flag_38 == ALT_MAYBE) {
current_location.update_lineno(5715);
/* SCCP_Emulation.ttcn, line 5715 */
tmp_1054_alt_flag_38 = SCCP__CT_component_T__iar[3].timeout(NULL);
if (tmp_1054_alt_flag_38 == ALT_YES) {
current_location.update_lineno(5715);
/* SCCP_Emulation.ttcn, line 5715 */
ReceiveInactivity__Timer__Expired(3);
current_location.update_lineno(5716);
/* SCCP_Emulation.ttcn, line 5716 */
SCCP__CT_component_v__T__iar[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_39 == ALT_UNCHECKED) {
current_location.update_lineno(5717);
/* SCCP_Emulation.ttcn, line 5717 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[4]) tmp_1054_alt_flag_39 = ALT_MAYBE;
else tmp_1054_alt_flag_39 = ALT_NO;
}
if (tmp_1054_alt_flag_39 == ALT_MAYBE) {
current_location.update_lineno(5717);
/* SCCP_Emulation.ttcn, line 5717 */
tmp_1054_alt_flag_39 = SCCP__CT_component_T__iar[4].timeout(NULL);
if (tmp_1054_alt_flag_39 == ALT_YES) {
current_location.update_lineno(5717);
/* SCCP_Emulation.ttcn, line 5717 */
ReceiveInactivity__Timer__Expired(4);
current_location.update_lineno(5718);
/* SCCP_Emulation.ttcn, line 5718 */
SCCP__CT_component_v__T__iar[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_40 == ALT_UNCHECKED) {
current_location.update_lineno(5719);
/* SCCP_Emulation.ttcn, line 5719 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[5]) tmp_1054_alt_flag_40 = ALT_MAYBE;
else tmp_1054_alt_flag_40 = ALT_NO;
}
if (tmp_1054_alt_flag_40 == ALT_MAYBE) {
current_location.update_lineno(5719);
/* SCCP_Emulation.ttcn, line 5719 */
tmp_1054_alt_flag_40 = SCCP__CT_component_T__iar[5].timeout(NULL);
if (tmp_1054_alt_flag_40 == ALT_YES) {
current_location.update_lineno(5719);
/* SCCP_Emulation.ttcn, line 5719 */
ReceiveInactivity__Timer__Expired(5);
current_location.update_lineno(5720);
/* SCCP_Emulation.ttcn, line 5720 */
SCCP__CT_component_v__T__iar[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_41 == ALT_UNCHECKED) {
current_location.update_lineno(5721);
/* SCCP_Emulation.ttcn, line 5721 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[6]) tmp_1054_alt_flag_41 = ALT_MAYBE;
else tmp_1054_alt_flag_41 = ALT_NO;
}
if (tmp_1054_alt_flag_41 == ALT_MAYBE) {
current_location.update_lineno(5721);
/* SCCP_Emulation.ttcn, line 5721 */
tmp_1054_alt_flag_41 = SCCP__CT_component_T__iar[6].timeout(NULL);
if (tmp_1054_alt_flag_41 == ALT_YES) {
current_location.update_lineno(5721);
/* SCCP_Emulation.ttcn, line 5721 */
ReceiveInactivity__Timer__Expired(6);
current_location.update_lineno(5722);
/* SCCP_Emulation.ttcn, line 5722 */
SCCP__CT_component_v__T__iar[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_42 == ALT_UNCHECKED) {
current_location.update_lineno(5723);
/* SCCP_Emulation.ttcn, line 5723 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[7]) tmp_1054_alt_flag_42 = ALT_MAYBE;
else tmp_1054_alt_flag_42 = ALT_NO;
}
if (tmp_1054_alt_flag_42 == ALT_MAYBE) {
current_location.update_lineno(5723);
/* SCCP_Emulation.ttcn, line 5723 */
tmp_1054_alt_flag_42 = SCCP__CT_component_T__iar[7].timeout(NULL);
if (tmp_1054_alt_flag_42 == ALT_YES) {
current_location.update_lineno(5723);
/* SCCP_Emulation.ttcn, line 5723 */
ReceiveInactivity__Timer__Expired(7);
current_location.update_lineno(5724);
/* SCCP_Emulation.ttcn, line 5724 */
SCCP__CT_component_v__T__iar[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_43 == ALT_UNCHECKED) {
current_location.update_lineno(5725);
/* SCCP_Emulation.ttcn, line 5725 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[8]) tmp_1054_alt_flag_43 = ALT_MAYBE;
else tmp_1054_alt_flag_43 = ALT_NO;
}
if (tmp_1054_alt_flag_43 == ALT_MAYBE) {
current_location.update_lineno(5725);
/* SCCP_Emulation.ttcn, line 5725 */
tmp_1054_alt_flag_43 = SCCP__CT_component_T__iar[8].timeout(NULL);
if (tmp_1054_alt_flag_43 == ALT_YES) {
current_location.update_lineno(5725);
/* SCCP_Emulation.ttcn, line 5725 */
ReceiveInactivity__Timer__Expired(8);
current_location.update_lineno(5726);
/* SCCP_Emulation.ttcn, line 5726 */
SCCP__CT_component_v__T__iar[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_44 == ALT_UNCHECKED) {
current_location.update_lineno(5727);
/* SCCP_Emulation.ttcn, line 5727 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[9]) tmp_1054_alt_flag_44 = ALT_MAYBE;
else tmp_1054_alt_flag_44 = ALT_NO;
}
if (tmp_1054_alt_flag_44 == ALT_MAYBE) {
current_location.update_lineno(5727);
/* SCCP_Emulation.ttcn, line 5727 */
tmp_1054_alt_flag_44 = SCCP__CT_component_T__iar[9].timeout(NULL);
if (tmp_1054_alt_flag_44 == ALT_YES) {
current_location.update_lineno(5727);
/* SCCP_Emulation.ttcn, line 5727 */
ReceiveInactivity__Timer__Expired(9);
current_location.update_lineno(5728);
/* SCCP_Emulation.ttcn, line 5728 */
SCCP__CT_component_v__T__iar[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_45 == ALT_UNCHECKED) {
current_location.update_lineno(5729);
/* SCCP_Emulation.ttcn, line 5729 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[10]) tmp_1054_alt_flag_45 = ALT_MAYBE;
else tmp_1054_alt_flag_45 = ALT_NO;
}
if (tmp_1054_alt_flag_45 == ALT_MAYBE) {
current_location.update_lineno(5729);
/* SCCP_Emulation.ttcn, line 5729 */
tmp_1054_alt_flag_45 = SCCP__CT_component_T__iar[10].timeout(NULL);
if (tmp_1054_alt_flag_45 == ALT_YES) {
current_location.update_lineno(5729);
/* SCCP_Emulation.ttcn, line 5729 */
ReceiveInactivity__Timer__Expired(10);
current_location.update_lineno(5730);
/* SCCP_Emulation.ttcn, line 5730 */
SCCP__CT_component_v__T__iar[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_46 == ALT_UNCHECKED) {
current_location.update_lineno(5731);
/* SCCP_Emulation.ttcn, line 5731 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[11]) tmp_1054_alt_flag_46 = ALT_MAYBE;
else tmp_1054_alt_flag_46 = ALT_NO;
}
if (tmp_1054_alt_flag_46 == ALT_MAYBE) {
current_location.update_lineno(5731);
/* SCCP_Emulation.ttcn, line 5731 */
tmp_1054_alt_flag_46 = SCCP__CT_component_T__iar[11].timeout(NULL);
if (tmp_1054_alt_flag_46 == ALT_YES) {
current_location.update_lineno(5731);
/* SCCP_Emulation.ttcn, line 5731 */
ReceiveInactivity__Timer__Expired(11);
current_location.update_lineno(5732);
/* SCCP_Emulation.ttcn, line 5732 */
SCCP__CT_component_v__T__iar[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_47 == ALT_UNCHECKED) {
current_location.update_lineno(5733);
/* SCCP_Emulation.ttcn, line 5733 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[12]) tmp_1054_alt_flag_47 = ALT_MAYBE;
else tmp_1054_alt_flag_47 = ALT_NO;
}
if (tmp_1054_alt_flag_47 == ALT_MAYBE) {
current_location.update_lineno(5733);
/* SCCP_Emulation.ttcn, line 5733 */
tmp_1054_alt_flag_47 = SCCP__CT_component_T__iar[12].timeout(NULL);
if (tmp_1054_alt_flag_47 == ALT_YES) {
current_location.update_lineno(5733);
/* SCCP_Emulation.ttcn, line 5733 */
ReceiveInactivity__Timer__Expired(12);
current_location.update_lineno(5734);
/* SCCP_Emulation.ttcn, line 5734 */
SCCP__CT_component_v__T__iar[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_48 == ALT_UNCHECKED) {
current_location.update_lineno(5735);
/* SCCP_Emulation.ttcn, line 5735 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[13]) tmp_1054_alt_flag_48 = ALT_MAYBE;
else tmp_1054_alt_flag_48 = ALT_NO;
}
if (tmp_1054_alt_flag_48 == ALT_MAYBE) {
current_location.update_lineno(5735);
/* SCCP_Emulation.ttcn, line 5735 */
tmp_1054_alt_flag_48 = SCCP__CT_component_T__iar[13].timeout(NULL);
if (tmp_1054_alt_flag_48 == ALT_YES) {
current_location.update_lineno(5735);
/* SCCP_Emulation.ttcn, line 5735 */
ReceiveInactivity__Timer__Expired(13);
current_location.update_lineno(5736);
/* SCCP_Emulation.ttcn, line 5736 */
SCCP__CT_component_v__T__iar[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_49 == ALT_UNCHECKED) {
current_location.update_lineno(5737);
/* SCCP_Emulation.ttcn, line 5737 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[14]) tmp_1054_alt_flag_49 = ALT_MAYBE;
else tmp_1054_alt_flag_49 = ALT_NO;
}
if (tmp_1054_alt_flag_49 == ALT_MAYBE) {
current_location.update_lineno(5737);
/* SCCP_Emulation.ttcn, line 5737 */
tmp_1054_alt_flag_49 = SCCP__CT_component_T__iar[14].timeout(NULL);
if (tmp_1054_alt_flag_49 == ALT_YES) {
current_location.update_lineno(5737);
/* SCCP_Emulation.ttcn, line 5737 */
ReceiveInactivity__Timer__Expired(14);
current_location.update_lineno(5738);
/* SCCP_Emulation.ttcn, line 5738 */
SCCP__CT_component_v__T__iar[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_50 == ALT_UNCHECKED) {
current_location.update_lineno(5739);
/* SCCP_Emulation.ttcn, line 5739 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__iar)[15]) tmp_1054_alt_flag_50 = ALT_MAYBE;
else tmp_1054_alt_flag_50 = ALT_NO;
}
if (tmp_1054_alt_flag_50 == ALT_MAYBE) {
current_location.update_lineno(5739);
/* SCCP_Emulation.ttcn, line 5739 */
tmp_1054_alt_flag_50 = SCCP__CT_component_T__iar[15].timeout(NULL);
if (tmp_1054_alt_flag_50 == ALT_YES) {
current_location.update_lineno(5739);
/* SCCP_Emulation.ttcn, line 5739 */
ReceiveInactivity__Timer__Expired(15);
current_location.update_lineno(5740);
/* SCCP_Emulation.ttcn, line 5740 */
SCCP__CT_component_v__T__iar[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_51 == ALT_UNCHECKED) {
current_location.update_lineno(5745);
/* SCCP_Emulation.ttcn, line 5745 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[0]) tmp_1054_alt_flag_51 = ALT_MAYBE;
else tmp_1054_alt_flag_51 = ALT_NO;
}
if (tmp_1054_alt_flag_51 == ALT_MAYBE) {
current_location.update_lineno(5745);
/* SCCP_Emulation.ttcn, line 5745 */
tmp_1054_alt_flag_51 = SCCP__CT_component_T__rel[0].timeout(NULL);
if (tmp_1054_alt_flag_51 == ALT_YES) {
current_location.update_lineno(5745);
/* SCCP_Emulation.ttcn, line 5745 */
Release__Timer__Expired(0);
current_location.update_lineno(5746);
/* SCCP_Emulation.ttcn, line 5746 */
SCCP__CT_component_v__T__rel[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_52 == ALT_UNCHECKED) {
current_location.update_lineno(5747);
/* SCCP_Emulation.ttcn, line 5747 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[1]) tmp_1054_alt_flag_52 = ALT_MAYBE;
else tmp_1054_alt_flag_52 = ALT_NO;
}
if (tmp_1054_alt_flag_52 == ALT_MAYBE) {
current_location.update_lineno(5747);
/* SCCP_Emulation.ttcn, line 5747 */
tmp_1054_alt_flag_52 = SCCP__CT_component_T__rel[1].timeout(NULL);
if (tmp_1054_alt_flag_52 == ALT_YES) {
current_location.update_lineno(5747);
/* SCCP_Emulation.ttcn, line 5747 */
Release__Timer__Expired(1);
current_location.update_lineno(5748);
/* SCCP_Emulation.ttcn, line 5748 */
SCCP__CT_component_v__T__rel[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_53 == ALT_UNCHECKED) {
current_location.update_lineno(5749);
/* SCCP_Emulation.ttcn, line 5749 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[2]) tmp_1054_alt_flag_53 = ALT_MAYBE;
else tmp_1054_alt_flag_53 = ALT_NO;
}
if (tmp_1054_alt_flag_53 == ALT_MAYBE) {
current_location.update_lineno(5749);
/* SCCP_Emulation.ttcn, line 5749 */
tmp_1054_alt_flag_53 = SCCP__CT_component_T__rel[2].timeout(NULL);
if (tmp_1054_alt_flag_53 == ALT_YES) {
current_location.update_lineno(5749);
/* SCCP_Emulation.ttcn, line 5749 */
Release__Timer__Expired(2);
current_location.update_lineno(5750);
/* SCCP_Emulation.ttcn, line 5750 */
SCCP__CT_component_v__T__rel[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_54 == ALT_UNCHECKED) {
current_location.update_lineno(5751);
/* SCCP_Emulation.ttcn, line 5751 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[3]) tmp_1054_alt_flag_54 = ALT_MAYBE;
else tmp_1054_alt_flag_54 = ALT_NO;
}
if (tmp_1054_alt_flag_54 == ALT_MAYBE) {
current_location.update_lineno(5751);
/* SCCP_Emulation.ttcn, line 5751 */
tmp_1054_alt_flag_54 = SCCP__CT_component_T__rel[3].timeout(NULL);
if (tmp_1054_alt_flag_54 == ALT_YES) {
current_location.update_lineno(5751);
/* SCCP_Emulation.ttcn, line 5751 */
Release__Timer__Expired(3);
current_location.update_lineno(5752);
/* SCCP_Emulation.ttcn, line 5752 */
SCCP__CT_component_v__T__rel[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_55 == ALT_UNCHECKED) {
current_location.update_lineno(5753);
/* SCCP_Emulation.ttcn, line 5753 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[4]) tmp_1054_alt_flag_55 = ALT_MAYBE;
else tmp_1054_alt_flag_55 = ALT_NO;
}
if (tmp_1054_alt_flag_55 == ALT_MAYBE) {
current_location.update_lineno(5753);
/* SCCP_Emulation.ttcn, line 5753 */
tmp_1054_alt_flag_55 = SCCP__CT_component_T__rel[4].timeout(NULL);
if (tmp_1054_alt_flag_55 == ALT_YES) {
current_location.update_lineno(5753);
/* SCCP_Emulation.ttcn, line 5753 */
Release__Timer__Expired(4);
current_location.update_lineno(5754);
/* SCCP_Emulation.ttcn, line 5754 */
SCCP__CT_component_v__T__rel[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_56 == ALT_UNCHECKED) {
current_location.update_lineno(5755);
/* SCCP_Emulation.ttcn, line 5755 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[5]) tmp_1054_alt_flag_56 = ALT_MAYBE;
else tmp_1054_alt_flag_56 = ALT_NO;
}
if (tmp_1054_alt_flag_56 == ALT_MAYBE) {
current_location.update_lineno(5755);
/* SCCP_Emulation.ttcn, line 5755 */
tmp_1054_alt_flag_56 = SCCP__CT_component_T__rel[5].timeout(NULL);
if (tmp_1054_alt_flag_56 == ALT_YES) {
current_location.update_lineno(5755);
/* SCCP_Emulation.ttcn, line 5755 */
Release__Timer__Expired(5);
current_location.update_lineno(5756);
/* SCCP_Emulation.ttcn, line 5756 */
SCCP__CT_component_v__T__rel[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_57 == ALT_UNCHECKED) {
current_location.update_lineno(5757);
/* SCCP_Emulation.ttcn, line 5757 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[6]) tmp_1054_alt_flag_57 = ALT_MAYBE;
else tmp_1054_alt_flag_57 = ALT_NO;
}
if (tmp_1054_alt_flag_57 == ALT_MAYBE) {
current_location.update_lineno(5757);
/* SCCP_Emulation.ttcn, line 5757 */
tmp_1054_alt_flag_57 = SCCP__CT_component_T__rel[6].timeout(NULL);
if (tmp_1054_alt_flag_57 == ALT_YES) {
current_location.update_lineno(5757);
/* SCCP_Emulation.ttcn, line 5757 */
Release__Timer__Expired(6);
current_location.update_lineno(5758);
/* SCCP_Emulation.ttcn, line 5758 */
SCCP__CT_component_v__T__rel[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_58 == ALT_UNCHECKED) {
current_location.update_lineno(5759);
/* SCCP_Emulation.ttcn, line 5759 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[7]) tmp_1054_alt_flag_58 = ALT_MAYBE;
else tmp_1054_alt_flag_58 = ALT_NO;
}
if (tmp_1054_alt_flag_58 == ALT_MAYBE) {
current_location.update_lineno(5759);
/* SCCP_Emulation.ttcn, line 5759 */
tmp_1054_alt_flag_58 = SCCP__CT_component_T__rel[7].timeout(NULL);
if (tmp_1054_alt_flag_58 == ALT_YES) {
current_location.update_lineno(5759);
/* SCCP_Emulation.ttcn, line 5759 */
Release__Timer__Expired(7);
current_location.update_lineno(5760);
/* SCCP_Emulation.ttcn, line 5760 */
SCCP__CT_component_v__T__rel[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_59 == ALT_UNCHECKED) {
current_location.update_lineno(5761);
/* SCCP_Emulation.ttcn, line 5761 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[8]) tmp_1054_alt_flag_59 = ALT_MAYBE;
else tmp_1054_alt_flag_59 = ALT_NO;
}
if (tmp_1054_alt_flag_59 == ALT_MAYBE) {
current_location.update_lineno(5761);
/* SCCP_Emulation.ttcn, line 5761 */
tmp_1054_alt_flag_59 = SCCP__CT_component_T__rel[8].timeout(NULL);
if (tmp_1054_alt_flag_59 == ALT_YES) {
current_location.update_lineno(5761);
/* SCCP_Emulation.ttcn, line 5761 */
Release__Timer__Expired(8);
current_location.update_lineno(5762);
/* SCCP_Emulation.ttcn, line 5762 */
SCCP__CT_component_v__T__rel[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_60 == ALT_UNCHECKED) {
current_location.update_lineno(5763);
/* SCCP_Emulation.ttcn, line 5763 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[9]) tmp_1054_alt_flag_60 = ALT_MAYBE;
else tmp_1054_alt_flag_60 = ALT_NO;
}
if (tmp_1054_alt_flag_60 == ALT_MAYBE) {
current_location.update_lineno(5763);
/* SCCP_Emulation.ttcn, line 5763 */
tmp_1054_alt_flag_60 = SCCP__CT_component_T__rel[9].timeout(NULL);
if (tmp_1054_alt_flag_60 == ALT_YES) {
current_location.update_lineno(5763);
/* SCCP_Emulation.ttcn, line 5763 */
Release__Timer__Expired(9);
current_location.update_lineno(5764);
/* SCCP_Emulation.ttcn, line 5764 */
SCCP__CT_component_v__T__rel[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_61 == ALT_UNCHECKED) {
current_location.update_lineno(5765);
/* SCCP_Emulation.ttcn, line 5765 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[10]) tmp_1054_alt_flag_61 = ALT_MAYBE;
else tmp_1054_alt_flag_61 = ALT_NO;
}
if (tmp_1054_alt_flag_61 == ALT_MAYBE) {
current_location.update_lineno(5765);
/* SCCP_Emulation.ttcn, line 5765 */
tmp_1054_alt_flag_61 = SCCP__CT_component_T__rel[10].timeout(NULL);
if (tmp_1054_alt_flag_61 == ALT_YES) {
current_location.update_lineno(5765);
/* SCCP_Emulation.ttcn, line 5765 */
Release__Timer__Expired(10);
current_location.update_lineno(5766);
/* SCCP_Emulation.ttcn, line 5766 */
SCCP__CT_component_v__T__rel[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_62 == ALT_UNCHECKED) {
current_location.update_lineno(5767);
/* SCCP_Emulation.ttcn, line 5767 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[11]) tmp_1054_alt_flag_62 = ALT_MAYBE;
else tmp_1054_alt_flag_62 = ALT_NO;
}
if (tmp_1054_alt_flag_62 == ALT_MAYBE) {
current_location.update_lineno(5767);
/* SCCP_Emulation.ttcn, line 5767 */
tmp_1054_alt_flag_62 = SCCP__CT_component_T__rel[11].timeout(NULL);
if (tmp_1054_alt_flag_62 == ALT_YES) {
current_location.update_lineno(5767);
/* SCCP_Emulation.ttcn, line 5767 */
Release__Timer__Expired(11);
current_location.update_lineno(5768);
/* SCCP_Emulation.ttcn, line 5768 */
SCCP__CT_component_v__T__rel[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_63 == ALT_UNCHECKED) {
current_location.update_lineno(5769);
/* SCCP_Emulation.ttcn, line 5769 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[12]) tmp_1054_alt_flag_63 = ALT_MAYBE;
else tmp_1054_alt_flag_63 = ALT_NO;
}
if (tmp_1054_alt_flag_63 == ALT_MAYBE) {
current_location.update_lineno(5769);
/* SCCP_Emulation.ttcn, line 5769 */
tmp_1054_alt_flag_63 = SCCP__CT_component_T__rel[12].timeout(NULL);
if (tmp_1054_alt_flag_63 == ALT_YES) {
current_location.update_lineno(5769);
/* SCCP_Emulation.ttcn, line 5769 */
Release__Timer__Expired(12);
current_location.update_lineno(5770);
/* SCCP_Emulation.ttcn, line 5770 */
SCCP__CT_component_v__T__rel[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_64 == ALT_UNCHECKED) {
current_location.update_lineno(5771);
/* SCCP_Emulation.ttcn, line 5771 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[13]) tmp_1054_alt_flag_64 = ALT_MAYBE;
else tmp_1054_alt_flag_64 = ALT_NO;
}
if (tmp_1054_alt_flag_64 == ALT_MAYBE) {
current_location.update_lineno(5771);
/* SCCP_Emulation.ttcn, line 5771 */
tmp_1054_alt_flag_64 = SCCP__CT_component_T__rel[13].timeout(NULL);
if (tmp_1054_alt_flag_64 == ALT_YES) {
current_location.update_lineno(5771);
/* SCCP_Emulation.ttcn, line 5771 */
Release__Timer__Expired(13);
current_location.update_lineno(5772);
/* SCCP_Emulation.ttcn, line 5772 */
SCCP__CT_component_v__T__rel[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_65 == ALT_UNCHECKED) {
current_location.update_lineno(5773);
/* SCCP_Emulation.ttcn, line 5773 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[14]) tmp_1054_alt_flag_65 = ALT_MAYBE;
else tmp_1054_alt_flag_65 = ALT_NO;
}
if (tmp_1054_alt_flag_65 == ALT_MAYBE) {
current_location.update_lineno(5773);
/* SCCP_Emulation.ttcn, line 5773 */
tmp_1054_alt_flag_65 = SCCP__CT_component_T__rel[14].timeout(NULL);
if (tmp_1054_alt_flag_65 == ALT_YES) {
current_location.update_lineno(5773);
/* SCCP_Emulation.ttcn, line 5773 */
Release__Timer__Expired(14);
current_location.update_lineno(5774);
/* SCCP_Emulation.ttcn, line 5774 */
SCCP__CT_component_v__T__rel[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_66 == ALT_UNCHECKED) {
current_location.update_lineno(5775);
/* SCCP_Emulation.ttcn, line 5775 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__rel)[15]) tmp_1054_alt_flag_66 = ALT_MAYBE;
else tmp_1054_alt_flag_66 = ALT_NO;
}
if (tmp_1054_alt_flag_66 == ALT_MAYBE) {
current_location.update_lineno(5775);
/* SCCP_Emulation.ttcn, line 5775 */
tmp_1054_alt_flag_66 = SCCP__CT_component_T__rel[15].timeout(NULL);
if (tmp_1054_alt_flag_66 == ALT_YES) {
current_location.update_lineno(5775);
/* SCCP_Emulation.ttcn, line 5775 */
Release__Timer__Expired(15);
current_location.update_lineno(5776);
/* SCCP_Emulation.ttcn, line 5776 */
SCCP__CT_component_v__T__rel[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_67 == ALT_UNCHECKED) {
current_location.update_lineno(5782);
/* SCCP_Emulation.ttcn, line 5782 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[0]) tmp_1054_alt_flag_67 = ALT_MAYBE;
else tmp_1054_alt_flag_67 = ALT_NO;
}
if (tmp_1054_alt_flag_67 == ALT_MAYBE) {
current_location.update_lineno(5782);
/* SCCP_Emulation.ttcn, line 5782 */
tmp_1054_alt_flag_67 = SCCP__CT_component_T__repeat__rel[0].timeout(NULL);
if (tmp_1054_alt_flag_67 == ALT_YES) {
current_location.update_lineno(5782);
/* SCCP_Emulation.ttcn, line 5782 */
RepeatRelease__Timer__Expired(0);
current_location.update_lineno(5783);
/* SCCP_Emulation.ttcn, line 5783 */
SCCP__CT_component_v__T__repeat__rel[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_68 == ALT_UNCHECKED) {
current_location.update_lineno(5784);
/* SCCP_Emulation.ttcn, line 5784 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[1]) tmp_1054_alt_flag_68 = ALT_MAYBE;
else tmp_1054_alt_flag_68 = ALT_NO;
}
if (tmp_1054_alt_flag_68 == ALT_MAYBE) {
current_location.update_lineno(5784);
/* SCCP_Emulation.ttcn, line 5784 */
tmp_1054_alt_flag_68 = SCCP__CT_component_T__repeat__rel[1].timeout(NULL);
if (tmp_1054_alt_flag_68 == ALT_YES) {
current_location.update_lineno(5784);
/* SCCP_Emulation.ttcn, line 5784 */
RepeatRelease__Timer__Expired(1);
current_location.update_lineno(5785);
/* SCCP_Emulation.ttcn, line 5785 */
SCCP__CT_component_v__T__repeat__rel[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_69 == ALT_UNCHECKED) {
current_location.update_lineno(5786);
/* SCCP_Emulation.ttcn, line 5786 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[2]) tmp_1054_alt_flag_69 = ALT_MAYBE;
else tmp_1054_alt_flag_69 = ALT_NO;
}
if (tmp_1054_alt_flag_69 == ALT_MAYBE) {
current_location.update_lineno(5786);
/* SCCP_Emulation.ttcn, line 5786 */
tmp_1054_alt_flag_69 = SCCP__CT_component_T__repeat__rel[2].timeout(NULL);
if (tmp_1054_alt_flag_69 == ALT_YES) {
current_location.update_lineno(5786);
/* SCCP_Emulation.ttcn, line 5786 */
RepeatRelease__Timer__Expired(2);
current_location.update_lineno(5787);
/* SCCP_Emulation.ttcn, line 5787 */
SCCP__CT_component_v__T__repeat__rel[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_70 == ALT_UNCHECKED) {
current_location.update_lineno(5788);
/* SCCP_Emulation.ttcn, line 5788 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[3]) tmp_1054_alt_flag_70 = ALT_MAYBE;
else tmp_1054_alt_flag_70 = ALT_NO;
}
if (tmp_1054_alt_flag_70 == ALT_MAYBE) {
current_location.update_lineno(5788);
/* SCCP_Emulation.ttcn, line 5788 */
tmp_1054_alt_flag_70 = SCCP__CT_component_T__repeat__rel[3].timeout(NULL);
if (tmp_1054_alt_flag_70 == ALT_YES) {
current_location.update_lineno(5788);
/* SCCP_Emulation.ttcn, line 5788 */
RepeatRelease__Timer__Expired(3);
current_location.update_lineno(5789);
/* SCCP_Emulation.ttcn, line 5789 */
SCCP__CT_component_v__T__repeat__rel[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_71 == ALT_UNCHECKED) {
current_location.update_lineno(5790);
/* SCCP_Emulation.ttcn, line 5790 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[4]) tmp_1054_alt_flag_71 = ALT_MAYBE;
else tmp_1054_alt_flag_71 = ALT_NO;
}
if (tmp_1054_alt_flag_71 == ALT_MAYBE) {
current_location.update_lineno(5790);
/* SCCP_Emulation.ttcn, line 5790 */
tmp_1054_alt_flag_71 = SCCP__CT_component_T__repeat__rel[4].timeout(NULL);
if (tmp_1054_alt_flag_71 == ALT_YES) {
current_location.update_lineno(5790);
/* SCCP_Emulation.ttcn, line 5790 */
RepeatRelease__Timer__Expired(4);
current_location.update_lineno(5791);
/* SCCP_Emulation.ttcn, line 5791 */
SCCP__CT_component_v__T__repeat__rel[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_72 == ALT_UNCHECKED) {
current_location.update_lineno(5792);
/* SCCP_Emulation.ttcn, line 5792 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[5]) tmp_1054_alt_flag_72 = ALT_MAYBE;
else tmp_1054_alt_flag_72 = ALT_NO;
}
if (tmp_1054_alt_flag_72 == ALT_MAYBE) {
current_location.update_lineno(5792);
/* SCCP_Emulation.ttcn, line 5792 */
tmp_1054_alt_flag_72 = SCCP__CT_component_T__repeat__rel[5].timeout(NULL);
if (tmp_1054_alt_flag_72 == ALT_YES) {
current_location.update_lineno(5792);
/* SCCP_Emulation.ttcn, line 5792 */
RepeatRelease__Timer__Expired(5);
current_location.update_lineno(5793);
/* SCCP_Emulation.ttcn, line 5793 */
SCCP__CT_component_v__T__repeat__rel[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_73 == ALT_UNCHECKED) {
current_location.update_lineno(5794);
/* SCCP_Emulation.ttcn, line 5794 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[6]) tmp_1054_alt_flag_73 = ALT_MAYBE;
else tmp_1054_alt_flag_73 = ALT_NO;
}
if (tmp_1054_alt_flag_73 == ALT_MAYBE) {
current_location.update_lineno(5794);
/* SCCP_Emulation.ttcn, line 5794 */
tmp_1054_alt_flag_73 = SCCP__CT_component_T__repeat__rel[6].timeout(NULL);
if (tmp_1054_alt_flag_73 == ALT_YES) {
current_location.update_lineno(5794);
/* SCCP_Emulation.ttcn, line 5794 */
RepeatRelease__Timer__Expired(6);
current_location.update_lineno(5795);
/* SCCP_Emulation.ttcn, line 5795 */
SCCP__CT_component_v__T__repeat__rel[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_74 == ALT_UNCHECKED) {
current_location.update_lineno(5796);
/* SCCP_Emulation.ttcn, line 5796 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[7]) tmp_1054_alt_flag_74 = ALT_MAYBE;
else tmp_1054_alt_flag_74 = ALT_NO;
}
if (tmp_1054_alt_flag_74 == ALT_MAYBE) {
current_location.update_lineno(5796);
/* SCCP_Emulation.ttcn, line 5796 */
tmp_1054_alt_flag_74 = SCCP__CT_component_T__repeat__rel[7].timeout(NULL);
if (tmp_1054_alt_flag_74 == ALT_YES) {
current_location.update_lineno(5796);
/* SCCP_Emulation.ttcn, line 5796 */
RepeatRelease__Timer__Expired(7);
current_location.update_lineno(5797);
/* SCCP_Emulation.ttcn, line 5797 */
SCCP__CT_component_v__T__repeat__rel[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_75 == ALT_UNCHECKED) {
current_location.update_lineno(5798);
/* SCCP_Emulation.ttcn, line 5798 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[8]) tmp_1054_alt_flag_75 = ALT_MAYBE;
else tmp_1054_alt_flag_75 = ALT_NO;
}
if (tmp_1054_alt_flag_75 == ALT_MAYBE) {
current_location.update_lineno(5798);
/* SCCP_Emulation.ttcn, line 5798 */
tmp_1054_alt_flag_75 = SCCP__CT_component_T__repeat__rel[8].timeout(NULL);
if (tmp_1054_alt_flag_75 == ALT_YES) {
current_location.update_lineno(5798);
/* SCCP_Emulation.ttcn, line 5798 */
RepeatRelease__Timer__Expired(8);
current_location.update_lineno(5799);
/* SCCP_Emulation.ttcn, line 5799 */
SCCP__CT_component_v__T__repeat__rel[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_76 == ALT_UNCHECKED) {
current_location.update_lineno(5800);
/* SCCP_Emulation.ttcn, line 5800 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[9]) tmp_1054_alt_flag_76 = ALT_MAYBE;
else tmp_1054_alt_flag_76 = ALT_NO;
}
if (tmp_1054_alt_flag_76 == ALT_MAYBE) {
current_location.update_lineno(5800);
/* SCCP_Emulation.ttcn, line 5800 */
tmp_1054_alt_flag_76 = SCCP__CT_component_T__repeat__rel[9].timeout(NULL);
if (tmp_1054_alt_flag_76 == ALT_YES) {
current_location.update_lineno(5800);
/* SCCP_Emulation.ttcn, line 5800 */
RepeatRelease__Timer__Expired(9);
current_location.update_lineno(5801);
/* SCCP_Emulation.ttcn, line 5801 */
SCCP__CT_component_v__T__repeat__rel[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_77 == ALT_UNCHECKED) {
current_location.update_lineno(5802);
/* SCCP_Emulation.ttcn, line 5802 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[10]) tmp_1054_alt_flag_77 = ALT_MAYBE;
else tmp_1054_alt_flag_77 = ALT_NO;
}
if (tmp_1054_alt_flag_77 == ALT_MAYBE) {
current_location.update_lineno(5802);
/* SCCP_Emulation.ttcn, line 5802 */
tmp_1054_alt_flag_77 = SCCP__CT_component_T__repeat__rel[10].timeout(NULL);
if (tmp_1054_alt_flag_77 == ALT_YES) {
current_location.update_lineno(5802);
/* SCCP_Emulation.ttcn, line 5802 */
RepeatRelease__Timer__Expired(10);
current_location.update_lineno(5803);
/* SCCP_Emulation.ttcn, line 5803 */
SCCP__CT_component_v__T__repeat__rel[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_78 == ALT_UNCHECKED) {
current_location.update_lineno(5804);
/* SCCP_Emulation.ttcn, line 5804 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[11]) tmp_1054_alt_flag_78 = ALT_MAYBE;
else tmp_1054_alt_flag_78 = ALT_NO;
}
if (tmp_1054_alt_flag_78 == ALT_MAYBE) {
current_location.update_lineno(5804);
/* SCCP_Emulation.ttcn, line 5804 */
tmp_1054_alt_flag_78 = SCCP__CT_component_T__repeat__rel[11].timeout(NULL);
if (tmp_1054_alt_flag_78 == ALT_YES) {
current_location.update_lineno(5804);
/* SCCP_Emulation.ttcn, line 5804 */
RepeatRelease__Timer__Expired(11);
current_location.update_lineno(5805);
/* SCCP_Emulation.ttcn, line 5805 */
SCCP__CT_component_v__T__repeat__rel[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_79 == ALT_UNCHECKED) {
current_location.update_lineno(5806);
/* SCCP_Emulation.ttcn, line 5806 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[12]) tmp_1054_alt_flag_79 = ALT_MAYBE;
else tmp_1054_alt_flag_79 = ALT_NO;
}
if (tmp_1054_alt_flag_79 == ALT_MAYBE) {
current_location.update_lineno(5806);
/* SCCP_Emulation.ttcn, line 5806 */
tmp_1054_alt_flag_79 = SCCP__CT_component_T__repeat__rel[12].timeout(NULL);
if (tmp_1054_alt_flag_79 == ALT_YES) {
current_location.update_lineno(5806);
/* SCCP_Emulation.ttcn, line 5806 */
RepeatRelease__Timer__Expired(12);
current_location.update_lineno(5807);
/* SCCP_Emulation.ttcn, line 5807 */
SCCP__CT_component_v__T__repeat__rel[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_80 == ALT_UNCHECKED) {
current_location.update_lineno(5808);
/* SCCP_Emulation.ttcn, line 5808 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[13]) tmp_1054_alt_flag_80 = ALT_MAYBE;
else tmp_1054_alt_flag_80 = ALT_NO;
}
if (tmp_1054_alt_flag_80 == ALT_MAYBE) {
current_location.update_lineno(5808);
/* SCCP_Emulation.ttcn, line 5808 */
tmp_1054_alt_flag_80 = SCCP__CT_component_T__repeat__rel[13].timeout(NULL);
if (tmp_1054_alt_flag_80 == ALT_YES) {
current_location.update_lineno(5808);
/* SCCP_Emulation.ttcn, line 5808 */
RepeatRelease__Timer__Expired(13);
current_location.update_lineno(5809);
/* SCCP_Emulation.ttcn, line 5809 */
SCCP__CT_component_v__T__repeat__rel[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_81 == ALT_UNCHECKED) {
current_location.update_lineno(5810);
/* SCCP_Emulation.ttcn, line 5810 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[14]) tmp_1054_alt_flag_81 = ALT_MAYBE;
else tmp_1054_alt_flag_81 = ALT_NO;
}
if (tmp_1054_alt_flag_81 == ALT_MAYBE) {
current_location.update_lineno(5810);
/* SCCP_Emulation.ttcn, line 5810 */
tmp_1054_alt_flag_81 = SCCP__CT_component_T__repeat__rel[14].timeout(NULL);
if (tmp_1054_alt_flag_81 == ALT_YES) {
current_location.update_lineno(5810);
/* SCCP_Emulation.ttcn, line 5810 */
RepeatRelease__Timer__Expired(14);
current_location.update_lineno(5811);
/* SCCP_Emulation.ttcn, line 5811 */
SCCP__CT_component_v__T__repeat__rel[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_82 == ALT_UNCHECKED) {
current_location.update_lineno(5812);
/* SCCP_Emulation.ttcn, line 5812 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__repeat__rel)[15]) tmp_1054_alt_flag_82 = ALT_MAYBE;
else tmp_1054_alt_flag_82 = ALT_NO;
}
if (tmp_1054_alt_flag_82 == ALT_MAYBE) {
current_location.update_lineno(5812);
/* SCCP_Emulation.ttcn, line 5812 */
tmp_1054_alt_flag_82 = SCCP__CT_component_T__repeat__rel[15].timeout(NULL);
if (tmp_1054_alt_flag_82 == ALT_YES) {
current_location.update_lineno(5812);
/* SCCP_Emulation.ttcn, line 5812 */
RepeatRelease__Timer__Expired(15);
current_location.update_lineno(5813);
/* SCCP_Emulation.ttcn, line 5813 */
SCCP__CT_component_v__T__repeat__rel[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_83 == ALT_UNCHECKED) {
current_location.update_lineno(5818);
/* SCCP_Emulation.ttcn, line 5818 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[0]) tmp_1054_alt_flag_83 = ALT_MAYBE;
else tmp_1054_alt_flag_83 = ALT_NO;
}
if (tmp_1054_alt_flag_83 == ALT_MAYBE) {
current_location.update_lineno(5818);
/* SCCP_Emulation.ttcn, line 5818 */
tmp_1054_alt_flag_83 = SCCP__CT_component_T__int[0].timeout(NULL);
if (tmp_1054_alt_flag_83 == ALT_YES) {
current_location.update_lineno(5818);
/* SCCP_Emulation.ttcn, line 5818 */
Interval__Timer__Expired(0);
current_location.update_lineno(5819);
/* SCCP_Emulation.ttcn, line 5819 */
SCCP__CT_component_v__T__int[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_84 == ALT_UNCHECKED) {
current_location.update_lineno(5820);
/* SCCP_Emulation.ttcn, line 5820 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[1]) tmp_1054_alt_flag_84 = ALT_MAYBE;
else tmp_1054_alt_flag_84 = ALT_NO;
}
if (tmp_1054_alt_flag_84 == ALT_MAYBE) {
current_location.update_lineno(5820);
/* SCCP_Emulation.ttcn, line 5820 */
tmp_1054_alt_flag_84 = SCCP__CT_component_T__int[1].timeout(NULL);
if (tmp_1054_alt_flag_84 == ALT_YES) {
current_location.update_lineno(5820);
/* SCCP_Emulation.ttcn, line 5820 */
Interval__Timer__Expired(1);
current_location.update_lineno(5821);
/* SCCP_Emulation.ttcn, line 5821 */
SCCP__CT_component_v__T__int[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_85 == ALT_UNCHECKED) {
current_location.update_lineno(5822);
/* SCCP_Emulation.ttcn, line 5822 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[2]) tmp_1054_alt_flag_85 = ALT_MAYBE;
else tmp_1054_alt_flag_85 = ALT_NO;
}
if (tmp_1054_alt_flag_85 == ALT_MAYBE) {
current_location.update_lineno(5822);
/* SCCP_Emulation.ttcn, line 5822 */
tmp_1054_alt_flag_85 = SCCP__CT_component_T__int[2].timeout(NULL);
if (tmp_1054_alt_flag_85 == ALT_YES) {
current_location.update_lineno(5822);
/* SCCP_Emulation.ttcn, line 5822 */
Interval__Timer__Expired(2);
current_location.update_lineno(5823);
/* SCCP_Emulation.ttcn, line 5823 */
SCCP__CT_component_v__T__int[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_86 == ALT_UNCHECKED) {
current_location.update_lineno(5824);
/* SCCP_Emulation.ttcn, line 5824 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[3]) tmp_1054_alt_flag_86 = ALT_MAYBE;
else tmp_1054_alt_flag_86 = ALT_NO;
}
if (tmp_1054_alt_flag_86 == ALT_MAYBE) {
current_location.update_lineno(5824);
/* SCCP_Emulation.ttcn, line 5824 */
tmp_1054_alt_flag_86 = SCCP__CT_component_T__int[3].timeout(NULL);
if (tmp_1054_alt_flag_86 == ALT_YES) {
current_location.update_lineno(5824);
/* SCCP_Emulation.ttcn, line 5824 */
Interval__Timer__Expired(3);
current_location.update_lineno(5825);
/* SCCP_Emulation.ttcn, line 5825 */
SCCP__CT_component_v__T__int[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_87 == ALT_UNCHECKED) {
current_location.update_lineno(5826);
/* SCCP_Emulation.ttcn, line 5826 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[4]) tmp_1054_alt_flag_87 = ALT_MAYBE;
else tmp_1054_alt_flag_87 = ALT_NO;
}
if (tmp_1054_alt_flag_87 == ALT_MAYBE) {
current_location.update_lineno(5826);
/* SCCP_Emulation.ttcn, line 5826 */
tmp_1054_alt_flag_87 = SCCP__CT_component_T__int[4].timeout(NULL);
if (tmp_1054_alt_flag_87 == ALT_YES) {
current_location.update_lineno(5826);
/* SCCP_Emulation.ttcn, line 5826 */
Interval__Timer__Expired(4);
current_location.update_lineno(5827);
/* SCCP_Emulation.ttcn, line 5827 */
SCCP__CT_component_v__T__int[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_88 == ALT_UNCHECKED) {
current_location.update_lineno(5828);
/* SCCP_Emulation.ttcn, line 5828 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[5]) tmp_1054_alt_flag_88 = ALT_MAYBE;
else tmp_1054_alt_flag_88 = ALT_NO;
}
if (tmp_1054_alt_flag_88 == ALT_MAYBE) {
current_location.update_lineno(5828);
/* SCCP_Emulation.ttcn, line 5828 */
tmp_1054_alt_flag_88 = SCCP__CT_component_T__int[5].timeout(NULL);
if (tmp_1054_alt_flag_88 == ALT_YES) {
current_location.update_lineno(5828);
/* SCCP_Emulation.ttcn, line 5828 */
Interval__Timer__Expired(5);
current_location.update_lineno(5829);
/* SCCP_Emulation.ttcn, line 5829 */
SCCP__CT_component_v__T__int[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_89 == ALT_UNCHECKED) {
current_location.update_lineno(5830);
/* SCCP_Emulation.ttcn, line 5830 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[6]) tmp_1054_alt_flag_89 = ALT_MAYBE;
else tmp_1054_alt_flag_89 = ALT_NO;
}
if (tmp_1054_alt_flag_89 == ALT_MAYBE) {
current_location.update_lineno(5830);
/* SCCP_Emulation.ttcn, line 5830 */
tmp_1054_alt_flag_89 = SCCP__CT_component_T__int[6].timeout(NULL);
if (tmp_1054_alt_flag_89 == ALT_YES) {
current_location.update_lineno(5830);
/* SCCP_Emulation.ttcn, line 5830 */
Interval__Timer__Expired(6);
current_location.update_lineno(5831);
/* SCCP_Emulation.ttcn, line 5831 */
SCCP__CT_component_v__T__int[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_90 == ALT_UNCHECKED) {
current_location.update_lineno(5832);
/* SCCP_Emulation.ttcn, line 5832 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[7]) tmp_1054_alt_flag_90 = ALT_MAYBE;
else tmp_1054_alt_flag_90 = ALT_NO;
}
if (tmp_1054_alt_flag_90 == ALT_MAYBE) {
current_location.update_lineno(5832);
/* SCCP_Emulation.ttcn, line 5832 */
tmp_1054_alt_flag_90 = SCCP__CT_component_T__int[7].timeout(NULL);
if (tmp_1054_alt_flag_90 == ALT_YES) {
current_location.update_lineno(5832);
/* SCCP_Emulation.ttcn, line 5832 */
Interval__Timer__Expired(7);
current_location.update_lineno(5833);
/* SCCP_Emulation.ttcn, line 5833 */
SCCP__CT_component_v__T__int[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_91 == ALT_UNCHECKED) {
current_location.update_lineno(5834);
/* SCCP_Emulation.ttcn, line 5834 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[8]) tmp_1054_alt_flag_91 = ALT_MAYBE;
else tmp_1054_alt_flag_91 = ALT_NO;
}
if (tmp_1054_alt_flag_91 == ALT_MAYBE) {
current_location.update_lineno(5834);
/* SCCP_Emulation.ttcn, line 5834 */
tmp_1054_alt_flag_91 = SCCP__CT_component_T__int[8].timeout(NULL);
if (tmp_1054_alt_flag_91 == ALT_YES) {
current_location.update_lineno(5834);
/* SCCP_Emulation.ttcn, line 5834 */
Interval__Timer__Expired(8);
current_location.update_lineno(5835);
/* SCCP_Emulation.ttcn, line 5835 */
SCCP__CT_component_v__T__int[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_92 == ALT_UNCHECKED) {
current_location.update_lineno(5836);
/* SCCP_Emulation.ttcn, line 5836 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[9]) tmp_1054_alt_flag_92 = ALT_MAYBE;
else tmp_1054_alt_flag_92 = ALT_NO;
}
if (tmp_1054_alt_flag_92 == ALT_MAYBE) {
current_location.update_lineno(5836);
/* SCCP_Emulation.ttcn, line 5836 */
tmp_1054_alt_flag_92 = SCCP__CT_component_T__int[9].timeout(NULL);
if (tmp_1054_alt_flag_92 == ALT_YES) {
current_location.update_lineno(5836);
/* SCCP_Emulation.ttcn, line 5836 */
Interval__Timer__Expired(9);
current_location.update_lineno(5837);
/* SCCP_Emulation.ttcn, line 5837 */
SCCP__CT_component_v__T__int[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_93 == ALT_UNCHECKED) {
current_location.update_lineno(5838);
/* SCCP_Emulation.ttcn, line 5838 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[10]) tmp_1054_alt_flag_93 = ALT_MAYBE;
else tmp_1054_alt_flag_93 = ALT_NO;
}
if (tmp_1054_alt_flag_93 == ALT_MAYBE) {
current_location.update_lineno(5838);
/* SCCP_Emulation.ttcn, line 5838 */
tmp_1054_alt_flag_93 = SCCP__CT_component_T__int[10].timeout(NULL);
if (tmp_1054_alt_flag_93 == ALT_YES) {
current_location.update_lineno(5838);
/* SCCP_Emulation.ttcn, line 5838 */
Interval__Timer__Expired(10);
current_location.update_lineno(5839);
/* SCCP_Emulation.ttcn, line 5839 */
SCCP__CT_component_v__T__int[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_94 == ALT_UNCHECKED) {
current_location.update_lineno(5840);
/* SCCP_Emulation.ttcn, line 5840 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[11]) tmp_1054_alt_flag_94 = ALT_MAYBE;
else tmp_1054_alt_flag_94 = ALT_NO;
}
if (tmp_1054_alt_flag_94 == ALT_MAYBE) {
current_location.update_lineno(5840);
/* SCCP_Emulation.ttcn, line 5840 */
tmp_1054_alt_flag_94 = SCCP__CT_component_T__int[11].timeout(NULL);
if (tmp_1054_alt_flag_94 == ALT_YES) {
current_location.update_lineno(5840);
/* SCCP_Emulation.ttcn, line 5840 */
Interval__Timer__Expired(11);
current_location.update_lineno(5841);
/* SCCP_Emulation.ttcn, line 5841 */
SCCP__CT_component_v__T__int[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_95 == ALT_UNCHECKED) {
current_location.update_lineno(5842);
/* SCCP_Emulation.ttcn, line 5842 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[12]) tmp_1054_alt_flag_95 = ALT_MAYBE;
else tmp_1054_alt_flag_95 = ALT_NO;
}
if (tmp_1054_alt_flag_95 == ALT_MAYBE) {
current_location.update_lineno(5842);
/* SCCP_Emulation.ttcn, line 5842 */
tmp_1054_alt_flag_95 = SCCP__CT_component_T__int[12].timeout(NULL);
if (tmp_1054_alt_flag_95 == ALT_YES) {
current_location.update_lineno(5842);
/* SCCP_Emulation.ttcn, line 5842 */
Interval__Timer__Expired(12);
current_location.update_lineno(5843);
/* SCCP_Emulation.ttcn, line 5843 */
SCCP__CT_component_v__T__int[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_96 == ALT_UNCHECKED) {
current_location.update_lineno(5844);
/* SCCP_Emulation.ttcn, line 5844 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[13]) tmp_1054_alt_flag_96 = ALT_MAYBE;
else tmp_1054_alt_flag_96 = ALT_NO;
}
if (tmp_1054_alt_flag_96 == ALT_MAYBE) {
current_location.update_lineno(5844);
/* SCCP_Emulation.ttcn, line 5844 */
tmp_1054_alt_flag_96 = SCCP__CT_component_T__int[13].timeout(NULL);
if (tmp_1054_alt_flag_96 == ALT_YES) {
current_location.update_lineno(5844);
/* SCCP_Emulation.ttcn, line 5844 */
Interval__Timer__Expired(13);
current_location.update_lineno(5845);
/* SCCP_Emulation.ttcn, line 5845 */
SCCP__CT_component_v__T__int[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_97 == ALT_UNCHECKED) {
current_location.update_lineno(5846);
/* SCCP_Emulation.ttcn, line 5846 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[14]) tmp_1054_alt_flag_97 = ALT_MAYBE;
else tmp_1054_alt_flag_97 = ALT_NO;
}
if (tmp_1054_alt_flag_97 == ALT_MAYBE) {
current_location.update_lineno(5846);
/* SCCP_Emulation.ttcn, line 5846 */
tmp_1054_alt_flag_97 = SCCP__CT_component_T__int[14].timeout(NULL);
if (tmp_1054_alt_flag_97 == ALT_YES) {
current_location.update_lineno(5846);
/* SCCP_Emulation.ttcn, line 5846 */
Interval__Timer__Expired(14);
current_location.update_lineno(5847);
/* SCCP_Emulation.ttcn, line 5847 */
SCCP__CT_component_v__T__int[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_98 == ALT_UNCHECKED) {
current_location.update_lineno(5848);
/* SCCP_Emulation.ttcn, line 5848 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__int)[15]) tmp_1054_alt_flag_98 = ALT_MAYBE;
else tmp_1054_alt_flag_98 = ALT_NO;
}
if (tmp_1054_alt_flag_98 == ALT_MAYBE) {
current_location.update_lineno(5848);
/* SCCP_Emulation.ttcn, line 5848 */
tmp_1054_alt_flag_98 = SCCP__CT_component_T__int[15].timeout(NULL);
if (tmp_1054_alt_flag_98 == ALT_YES) {
current_location.update_lineno(5848);
/* SCCP_Emulation.ttcn, line 5848 */
Interval__Timer__Expired(15);
current_location.update_lineno(5849);
/* SCCP_Emulation.ttcn, line 5849 */
SCCP__CT_component_v__T__int[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_99 == ALT_UNCHECKED) {
current_location.update_lineno(5854);
/* SCCP_Emulation.ttcn, line 5854 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[0]) tmp_1054_alt_flag_99 = ALT_MAYBE;
else tmp_1054_alt_flag_99 = ALT_NO;
}
if (tmp_1054_alt_flag_99 == ALT_MAYBE) {
current_location.update_lineno(5854);
/* SCCP_Emulation.ttcn, line 5854 */
tmp_1054_alt_flag_99 = SCCP__CT_component_T__reset[0].timeout(NULL);
if (tmp_1054_alt_flag_99 == ALT_YES) {
current_location.update_lineno(5854);
/* SCCP_Emulation.ttcn, line 5854 */
Reset__Timer__Expired(0);
current_location.update_lineno(5855);
/* SCCP_Emulation.ttcn, line 5855 */
SCCP__CT_component_v__T__reset[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_100 == ALT_UNCHECKED) {
current_location.update_lineno(5856);
/* SCCP_Emulation.ttcn, line 5856 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[1]) tmp_1054_alt_flag_100 = ALT_MAYBE;
else tmp_1054_alt_flag_100 = ALT_NO;
}
if (tmp_1054_alt_flag_100 == ALT_MAYBE) {
current_location.update_lineno(5856);
/* SCCP_Emulation.ttcn, line 5856 */
tmp_1054_alt_flag_100 = SCCP__CT_component_T__reset[1].timeout(NULL);
if (tmp_1054_alt_flag_100 == ALT_YES) {
current_location.update_lineno(5856);
/* SCCP_Emulation.ttcn, line 5856 */
Reset__Timer__Expired(1);
current_location.update_lineno(5857);
/* SCCP_Emulation.ttcn, line 5857 */
SCCP__CT_component_v__T__reset[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_101 == ALT_UNCHECKED) {
current_location.update_lineno(5858);
/* SCCP_Emulation.ttcn, line 5858 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[2]) tmp_1054_alt_flag_101 = ALT_MAYBE;
else tmp_1054_alt_flag_101 = ALT_NO;
}
if (tmp_1054_alt_flag_101 == ALT_MAYBE) {
current_location.update_lineno(5858);
/* SCCP_Emulation.ttcn, line 5858 */
tmp_1054_alt_flag_101 = SCCP__CT_component_T__reset[2].timeout(NULL);
if (tmp_1054_alt_flag_101 == ALT_YES) {
current_location.update_lineno(5858);
/* SCCP_Emulation.ttcn, line 5858 */
Reset__Timer__Expired(2);
current_location.update_lineno(5859);
/* SCCP_Emulation.ttcn, line 5859 */
SCCP__CT_component_v__T__reset[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_102 == ALT_UNCHECKED) {
current_location.update_lineno(5860);
/* SCCP_Emulation.ttcn, line 5860 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[3]) tmp_1054_alt_flag_102 = ALT_MAYBE;
else tmp_1054_alt_flag_102 = ALT_NO;
}
if (tmp_1054_alt_flag_102 == ALT_MAYBE) {
current_location.update_lineno(5860);
/* SCCP_Emulation.ttcn, line 5860 */
tmp_1054_alt_flag_102 = SCCP__CT_component_T__reset[3].timeout(NULL);
if (tmp_1054_alt_flag_102 == ALT_YES) {
current_location.update_lineno(5860);
/* SCCP_Emulation.ttcn, line 5860 */
Reset__Timer__Expired(3);
current_location.update_lineno(5861);
/* SCCP_Emulation.ttcn, line 5861 */
SCCP__CT_component_v__T__reset[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_103 == ALT_UNCHECKED) {
current_location.update_lineno(5862);
/* SCCP_Emulation.ttcn, line 5862 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[4]) tmp_1054_alt_flag_103 = ALT_MAYBE;
else tmp_1054_alt_flag_103 = ALT_NO;
}
if (tmp_1054_alt_flag_103 == ALT_MAYBE) {
current_location.update_lineno(5862);
/* SCCP_Emulation.ttcn, line 5862 */
tmp_1054_alt_flag_103 = SCCP__CT_component_T__reset[4].timeout(NULL);
if (tmp_1054_alt_flag_103 == ALT_YES) {
current_location.update_lineno(5862);
/* SCCP_Emulation.ttcn, line 5862 */
Reset__Timer__Expired(4);
current_location.update_lineno(5863);
/* SCCP_Emulation.ttcn, line 5863 */
SCCP__CT_component_v__T__reset[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_104 == ALT_UNCHECKED) {
current_location.update_lineno(5864);
/* SCCP_Emulation.ttcn, line 5864 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[5]) tmp_1054_alt_flag_104 = ALT_MAYBE;
else tmp_1054_alt_flag_104 = ALT_NO;
}
if (tmp_1054_alt_flag_104 == ALT_MAYBE) {
current_location.update_lineno(5864);
/* SCCP_Emulation.ttcn, line 5864 */
tmp_1054_alt_flag_104 = SCCP__CT_component_T__reset[5].timeout(NULL);
if (tmp_1054_alt_flag_104 == ALT_YES) {
current_location.update_lineno(5864);
/* SCCP_Emulation.ttcn, line 5864 */
Reset__Timer__Expired(5);
current_location.update_lineno(5865);
/* SCCP_Emulation.ttcn, line 5865 */
SCCP__CT_component_v__T__reset[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_105 == ALT_UNCHECKED) {
current_location.update_lineno(5866);
/* SCCP_Emulation.ttcn, line 5866 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[6]) tmp_1054_alt_flag_105 = ALT_MAYBE;
else tmp_1054_alt_flag_105 = ALT_NO;
}
if (tmp_1054_alt_flag_105 == ALT_MAYBE) {
current_location.update_lineno(5866);
/* SCCP_Emulation.ttcn, line 5866 */
tmp_1054_alt_flag_105 = SCCP__CT_component_T__reset[6].timeout(NULL);
if (tmp_1054_alt_flag_105 == ALT_YES) {
current_location.update_lineno(5866);
/* SCCP_Emulation.ttcn, line 5866 */
Reset__Timer__Expired(6);
current_location.update_lineno(5867);
/* SCCP_Emulation.ttcn, line 5867 */
SCCP__CT_component_v__T__reset[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_106 == ALT_UNCHECKED) {
current_location.update_lineno(5868);
/* SCCP_Emulation.ttcn, line 5868 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[7]) tmp_1054_alt_flag_106 = ALT_MAYBE;
else tmp_1054_alt_flag_106 = ALT_NO;
}
if (tmp_1054_alt_flag_106 == ALT_MAYBE) {
current_location.update_lineno(5868);
/* SCCP_Emulation.ttcn, line 5868 */
tmp_1054_alt_flag_106 = SCCP__CT_component_T__reset[7].timeout(NULL);
if (tmp_1054_alt_flag_106 == ALT_YES) {
current_location.update_lineno(5868);
/* SCCP_Emulation.ttcn, line 5868 */
Reset__Timer__Expired(7);
current_location.update_lineno(5869);
/* SCCP_Emulation.ttcn, line 5869 */
SCCP__CT_component_v__T__reset[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_107 == ALT_UNCHECKED) {
current_location.update_lineno(5870);
/* SCCP_Emulation.ttcn, line 5870 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[8]) tmp_1054_alt_flag_107 = ALT_MAYBE;
else tmp_1054_alt_flag_107 = ALT_NO;
}
if (tmp_1054_alt_flag_107 == ALT_MAYBE) {
current_location.update_lineno(5870);
/* SCCP_Emulation.ttcn, line 5870 */
tmp_1054_alt_flag_107 = SCCP__CT_component_T__reset[8].timeout(NULL);
if (tmp_1054_alt_flag_107 == ALT_YES) {
current_location.update_lineno(5870);
/* SCCP_Emulation.ttcn, line 5870 */
Reset__Timer__Expired(8);
current_location.update_lineno(5871);
/* SCCP_Emulation.ttcn, line 5871 */
SCCP__CT_component_v__T__reset[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_108 == ALT_UNCHECKED) {
current_location.update_lineno(5872);
/* SCCP_Emulation.ttcn, line 5872 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[9]) tmp_1054_alt_flag_108 = ALT_MAYBE;
else tmp_1054_alt_flag_108 = ALT_NO;
}
if (tmp_1054_alt_flag_108 == ALT_MAYBE) {
current_location.update_lineno(5872);
/* SCCP_Emulation.ttcn, line 5872 */
tmp_1054_alt_flag_108 = SCCP__CT_component_T__reset[9].timeout(NULL);
if (tmp_1054_alt_flag_108 == ALT_YES) {
current_location.update_lineno(5872);
/* SCCP_Emulation.ttcn, line 5872 */
Reset__Timer__Expired(9);
current_location.update_lineno(5873);
/* SCCP_Emulation.ttcn, line 5873 */
SCCP__CT_component_v__T__reset[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_109 == ALT_UNCHECKED) {
current_location.update_lineno(5874);
/* SCCP_Emulation.ttcn, line 5874 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[10]) tmp_1054_alt_flag_109 = ALT_MAYBE;
else tmp_1054_alt_flag_109 = ALT_NO;
}
if (tmp_1054_alt_flag_109 == ALT_MAYBE) {
current_location.update_lineno(5874);
/* SCCP_Emulation.ttcn, line 5874 */
tmp_1054_alt_flag_109 = SCCP__CT_component_T__reset[10].timeout(NULL);
if (tmp_1054_alt_flag_109 == ALT_YES) {
current_location.update_lineno(5874);
/* SCCP_Emulation.ttcn, line 5874 */
Reset__Timer__Expired(10);
current_location.update_lineno(5875);
/* SCCP_Emulation.ttcn, line 5875 */
SCCP__CT_component_v__T__reset[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_110 == ALT_UNCHECKED) {
current_location.update_lineno(5876);
/* SCCP_Emulation.ttcn, line 5876 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[11]) tmp_1054_alt_flag_110 = ALT_MAYBE;
else tmp_1054_alt_flag_110 = ALT_NO;
}
if (tmp_1054_alt_flag_110 == ALT_MAYBE) {
current_location.update_lineno(5876);
/* SCCP_Emulation.ttcn, line 5876 */
tmp_1054_alt_flag_110 = SCCP__CT_component_T__reset[11].timeout(NULL);
if (tmp_1054_alt_flag_110 == ALT_YES) {
current_location.update_lineno(5876);
/* SCCP_Emulation.ttcn, line 5876 */
Reset__Timer__Expired(11);
current_location.update_lineno(5877);
/* SCCP_Emulation.ttcn, line 5877 */
SCCP__CT_component_v__T__reset[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_111 == ALT_UNCHECKED) {
current_location.update_lineno(5878);
/* SCCP_Emulation.ttcn, line 5878 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[12]) tmp_1054_alt_flag_111 = ALT_MAYBE;
else tmp_1054_alt_flag_111 = ALT_NO;
}
if (tmp_1054_alt_flag_111 == ALT_MAYBE) {
current_location.update_lineno(5878);
/* SCCP_Emulation.ttcn, line 5878 */
tmp_1054_alt_flag_111 = SCCP__CT_component_T__reset[12].timeout(NULL);
if (tmp_1054_alt_flag_111 == ALT_YES) {
current_location.update_lineno(5878);
/* SCCP_Emulation.ttcn, line 5878 */
Reset__Timer__Expired(12);
current_location.update_lineno(5879);
/* SCCP_Emulation.ttcn, line 5879 */
SCCP__CT_component_v__T__reset[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_112 == ALT_UNCHECKED) {
current_location.update_lineno(5880);
/* SCCP_Emulation.ttcn, line 5880 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[13]) tmp_1054_alt_flag_112 = ALT_MAYBE;
else tmp_1054_alt_flag_112 = ALT_NO;
}
if (tmp_1054_alt_flag_112 == ALT_MAYBE) {
current_location.update_lineno(5880);
/* SCCP_Emulation.ttcn, line 5880 */
tmp_1054_alt_flag_112 = SCCP__CT_component_T__reset[13].timeout(NULL);
if (tmp_1054_alt_flag_112 == ALT_YES) {
current_location.update_lineno(5880);
/* SCCP_Emulation.ttcn, line 5880 */
Reset__Timer__Expired(13);
current_location.update_lineno(5881);
/* SCCP_Emulation.ttcn, line 5881 */
SCCP__CT_component_v__T__reset[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_113 == ALT_UNCHECKED) {
current_location.update_lineno(5882);
/* SCCP_Emulation.ttcn, line 5882 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[14]) tmp_1054_alt_flag_113 = ALT_MAYBE;
else tmp_1054_alt_flag_113 = ALT_NO;
}
if (tmp_1054_alt_flag_113 == ALT_MAYBE) {
current_location.update_lineno(5882);
/* SCCP_Emulation.ttcn, line 5882 */
tmp_1054_alt_flag_113 = SCCP__CT_component_T__reset[14].timeout(NULL);
if (tmp_1054_alt_flag_113 == ALT_YES) {
current_location.update_lineno(5882);
/* SCCP_Emulation.ttcn, line 5882 */
Reset__Timer__Expired(14);
current_location.update_lineno(5883);
/* SCCP_Emulation.ttcn, line 5883 */
SCCP__CT_component_v__T__reset[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_114 == ALT_UNCHECKED) {
current_location.update_lineno(5884);
/* SCCP_Emulation.ttcn, line 5884 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__reset)[15]) tmp_1054_alt_flag_114 = ALT_MAYBE;
else tmp_1054_alt_flag_114 = ALT_NO;
}
if (tmp_1054_alt_flag_114 == ALT_MAYBE) {
current_location.update_lineno(5884);
/* SCCP_Emulation.ttcn, line 5884 */
tmp_1054_alt_flag_114 = SCCP__CT_component_T__reset[15].timeout(NULL);
if (tmp_1054_alt_flag_114 == ALT_YES) {
current_location.update_lineno(5884);
/* SCCP_Emulation.ttcn, line 5884 */
Reset__Timer__Expired(15);
current_location.update_lineno(5885);
/* SCCP_Emulation.ttcn, line 5885 */
SCCP__CT_component_v__T__reset[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_115 == ALT_UNCHECKED) {
current_location.update_lineno(5890);
/* SCCP_Emulation.ttcn, line 5890 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[0]) tmp_1054_alt_flag_115 = ALT_MAYBE;
else tmp_1054_alt_flag_115 = ALT_NO;
}
if (tmp_1054_alt_flag_115 == ALT_MAYBE) {
current_location.update_lineno(5890);
/* SCCP_Emulation.ttcn, line 5890 */
tmp_1054_alt_flag_115 = SCCP__CT_component_T__internal__reset[0].timeout(NULL);
if (tmp_1054_alt_flag_115 == ALT_YES) {
current_location.update_lineno(5890);
/* SCCP_Emulation.ttcn, line 5890 */
InternalResetTimer__Expired(0);
current_location.update_lineno(5891);
/* SCCP_Emulation.ttcn, line 5891 */
SCCP__CT_component_v__T__internal__reset[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_116 == ALT_UNCHECKED) {
current_location.update_lineno(5892);
/* SCCP_Emulation.ttcn, line 5892 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[1]) tmp_1054_alt_flag_116 = ALT_MAYBE;
else tmp_1054_alt_flag_116 = ALT_NO;
}
if (tmp_1054_alt_flag_116 == ALT_MAYBE) {
current_location.update_lineno(5892);
/* SCCP_Emulation.ttcn, line 5892 */
tmp_1054_alt_flag_116 = SCCP__CT_component_T__internal__reset[1].timeout(NULL);
if (tmp_1054_alt_flag_116 == ALT_YES) {
current_location.update_lineno(5892);
/* SCCP_Emulation.ttcn, line 5892 */
InternalResetTimer__Expired(1);
current_location.update_lineno(5893);
/* SCCP_Emulation.ttcn, line 5893 */
SCCP__CT_component_v__T__internal__reset[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_117 == ALT_UNCHECKED) {
current_location.update_lineno(5894);
/* SCCP_Emulation.ttcn, line 5894 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[2]) tmp_1054_alt_flag_117 = ALT_MAYBE;
else tmp_1054_alt_flag_117 = ALT_NO;
}
if (tmp_1054_alt_flag_117 == ALT_MAYBE) {
current_location.update_lineno(5894);
/* SCCP_Emulation.ttcn, line 5894 */
tmp_1054_alt_flag_117 = SCCP__CT_component_T__internal__reset[2].timeout(NULL);
if (tmp_1054_alt_flag_117 == ALT_YES) {
current_location.update_lineno(5894);
/* SCCP_Emulation.ttcn, line 5894 */
InternalResetTimer__Expired(2);
current_location.update_lineno(5895);
/* SCCP_Emulation.ttcn, line 5895 */
SCCP__CT_component_v__T__internal__reset[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_118 == ALT_UNCHECKED) {
current_location.update_lineno(5896);
/* SCCP_Emulation.ttcn, line 5896 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[3]) tmp_1054_alt_flag_118 = ALT_MAYBE;
else tmp_1054_alt_flag_118 = ALT_NO;
}
if (tmp_1054_alt_flag_118 == ALT_MAYBE) {
current_location.update_lineno(5896);
/* SCCP_Emulation.ttcn, line 5896 */
tmp_1054_alt_flag_118 = SCCP__CT_component_T__internal__reset[3].timeout(NULL);
if (tmp_1054_alt_flag_118 == ALT_YES) {
current_location.update_lineno(5896);
/* SCCP_Emulation.ttcn, line 5896 */
InternalResetTimer__Expired(3);
current_location.update_lineno(5897);
/* SCCP_Emulation.ttcn, line 5897 */
SCCP__CT_component_v__T__internal__reset[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_119 == ALT_UNCHECKED) {
current_location.update_lineno(5898);
/* SCCP_Emulation.ttcn, line 5898 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[4]) tmp_1054_alt_flag_119 = ALT_MAYBE;
else tmp_1054_alt_flag_119 = ALT_NO;
}
if (tmp_1054_alt_flag_119 == ALT_MAYBE) {
current_location.update_lineno(5898);
/* SCCP_Emulation.ttcn, line 5898 */
tmp_1054_alt_flag_119 = SCCP__CT_component_T__internal__reset[4].timeout(NULL);
if (tmp_1054_alt_flag_119 == ALT_YES) {
current_location.update_lineno(5898);
/* SCCP_Emulation.ttcn, line 5898 */
InternalResetTimer__Expired(4);
current_location.update_lineno(5899);
/* SCCP_Emulation.ttcn, line 5899 */
SCCP__CT_component_v__T__internal__reset[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_120 == ALT_UNCHECKED) {
current_location.update_lineno(5900);
/* SCCP_Emulation.ttcn, line 5900 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[5]) tmp_1054_alt_flag_120 = ALT_MAYBE;
else tmp_1054_alt_flag_120 = ALT_NO;
}
if (tmp_1054_alt_flag_120 == ALT_MAYBE) {
current_location.update_lineno(5900);
/* SCCP_Emulation.ttcn, line 5900 */
tmp_1054_alt_flag_120 = SCCP__CT_component_T__internal__reset[5].timeout(NULL);
if (tmp_1054_alt_flag_120 == ALT_YES) {
current_location.update_lineno(5900);
/* SCCP_Emulation.ttcn, line 5900 */
InternalResetTimer__Expired(5);
current_location.update_lineno(5901);
/* SCCP_Emulation.ttcn, line 5901 */
SCCP__CT_component_v__T__internal__reset[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_121 == ALT_UNCHECKED) {
current_location.update_lineno(5902);
/* SCCP_Emulation.ttcn, line 5902 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[6]) tmp_1054_alt_flag_121 = ALT_MAYBE;
else tmp_1054_alt_flag_121 = ALT_NO;
}
if (tmp_1054_alt_flag_121 == ALT_MAYBE) {
current_location.update_lineno(5902);
/* SCCP_Emulation.ttcn, line 5902 */
tmp_1054_alt_flag_121 = SCCP__CT_component_T__internal__reset[6].timeout(NULL);
if (tmp_1054_alt_flag_121 == ALT_YES) {
current_location.update_lineno(5902);
/* SCCP_Emulation.ttcn, line 5902 */
InternalResetTimer__Expired(6);
current_location.update_lineno(5903);
/* SCCP_Emulation.ttcn, line 5903 */
SCCP__CT_component_v__T__internal__reset[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_122 == ALT_UNCHECKED) {
current_location.update_lineno(5904);
/* SCCP_Emulation.ttcn, line 5904 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[7]) tmp_1054_alt_flag_122 = ALT_MAYBE;
else tmp_1054_alt_flag_122 = ALT_NO;
}
if (tmp_1054_alt_flag_122 == ALT_MAYBE) {
current_location.update_lineno(5904);
/* SCCP_Emulation.ttcn, line 5904 */
tmp_1054_alt_flag_122 = SCCP__CT_component_T__internal__reset[7].timeout(NULL);
if (tmp_1054_alt_flag_122 == ALT_YES) {
current_location.update_lineno(5904);
/* SCCP_Emulation.ttcn, line 5904 */
InternalResetTimer__Expired(7);
current_location.update_lineno(5905);
/* SCCP_Emulation.ttcn, line 5905 */
SCCP__CT_component_v__T__internal__reset[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_123 == ALT_UNCHECKED) {
current_location.update_lineno(5906);
/* SCCP_Emulation.ttcn, line 5906 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[8]) tmp_1054_alt_flag_123 = ALT_MAYBE;
else tmp_1054_alt_flag_123 = ALT_NO;
}
if (tmp_1054_alt_flag_123 == ALT_MAYBE) {
current_location.update_lineno(5906);
/* SCCP_Emulation.ttcn, line 5906 */
tmp_1054_alt_flag_123 = SCCP__CT_component_T__internal__reset[8].timeout(NULL);
if (tmp_1054_alt_flag_123 == ALT_YES) {
current_location.update_lineno(5906);
/* SCCP_Emulation.ttcn, line 5906 */
InternalResetTimer__Expired(8);
current_location.update_lineno(5907);
/* SCCP_Emulation.ttcn, line 5907 */
SCCP__CT_component_v__T__internal__reset[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_124 == ALT_UNCHECKED) {
current_location.update_lineno(5908);
/* SCCP_Emulation.ttcn, line 5908 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[9]) tmp_1054_alt_flag_124 = ALT_MAYBE;
else tmp_1054_alt_flag_124 = ALT_NO;
}
if (tmp_1054_alt_flag_124 == ALT_MAYBE) {
current_location.update_lineno(5908);
/* SCCP_Emulation.ttcn, line 5908 */
tmp_1054_alt_flag_124 = SCCP__CT_component_T__internal__reset[9].timeout(NULL);
if (tmp_1054_alt_flag_124 == ALT_YES) {
current_location.update_lineno(5908);
/* SCCP_Emulation.ttcn, line 5908 */
InternalResetTimer__Expired(9);
current_location.update_lineno(5909);
/* SCCP_Emulation.ttcn, line 5909 */
SCCP__CT_component_v__T__internal__reset[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_125 == ALT_UNCHECKED) {
current_location.update_lineno(5910);
/* SCCP_Emulation.ttcn, line 5910 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[10]) tmp_1054_alt_flag_125 = ALT_MAYBE;
else tmp_1054_alt_flag_125 = ALT_NO;
}
if (tmp_1054_alt_flag_125 == ALT_MAYBE) {
current_location.update_lineno(5910);
/* SCCP_Emulation.ttcn, line 5910 */
tmp_1054_alt_flag_125 = SCCP__CT_component_T__internal__reset[10].timeout(NULL);
if (tmp_1054_alt_flag_125 == ALT_YES) {
current_location.update_lineno(5910);
/* SCCP_Emulation.ttcn, line 5910 */
InternalResetTimer__Expired(10);
current_location.update_lineno(5911);
/* SCCP_Emulation.ttcn, line 5911 */
SCCP__CT_component_v__T__internal__reset[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_126 == ALT_UNCHECKED) {
current_location.update_lineno(5912);
/* SCCP_Emulation.ttcn, line 5912 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[11]) tmp_1054_alt_flag_126 = ALT_MAYBE;
else tmp_1054_alt_flag_126 = ALT_NO;
}
if (tmp_1054_alt_flag_126 == ALT_MAYBE) {
current_location.update_lineno(5912);
/* SCCP_Emulation.ttcn, line 5912 */
tmp_1054_alt_flag_126 = SCCP__CT_component_T__internal__reset[11].timeout(NULL);
if (tmp_1054_alt_flag_126 == ALT_YES) {
current_location.update_lineno(5912);
/* SCCP_Emulation.ttcn, line 5912 */
InternalResetTimer__Expired(11);
current_location.update_lineno(5913);
/* SCCP_Emulation.ttcn, line 5913 */
SCCP__CT_component_v__T__internal__reset[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_127 == ALT_UNCHECKED) {
current_location.update_lineno(5914);
/* SCCP_Emulation.ttcn, line 5914 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[12]) tmp_1054_alt_flag_127 = ALT_MAYBE;
else tmp_1054_alt_flag_127 = ALT_NO;
}
if (tmp_1054_alt_flag_127 == ALT_MAYBE) {
current_location.update_lineno(5914);
/* SCCP_Emulation.ttcn, line 5914 */
tmp_1054_alt_flag_127 = SCCP__CT_component_T__internal__reset[12].timeout(NULL);
if (tmp_1054_alt_flag_127 == ALT_YES) {
current_location.update_lineno(5914);
/* SCCP_Emulation.ttcn, line 5914 */
InternalResetTimer__Expired(12);
current_location.update_lineno(5915);
/* SCCP_Emulation.ttcn, line 5915 */
SCCP__CT_component_v__T__internal__reset[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_128 == ALT_UNCHECKED) {
current_location.update_lineno(5916);
/* SCCP_Emulation.ttcn, line 5916 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[13]) tmp_1054_alt_flag_128 = ALT_MAYBE;
else tmp_1054_alt_flag_128 = ALT_NO;
}
if (tmp_1054_alt_flag_128 == ALT_MAYBE) {
current_location.update_lineno(5916);
/* SCCP_Emulation.ttcn, line 5916 */
tmp_1054_alt_flag_128 = SCCP__CT_component_T__internal__reset[13].timeout(NULL);
if (tmp_1054_alt_flag_128 == ALT_YES) {
current_location.update_lineno(5916);
/* SCCP_Emulation.ttcn, line 5916 */
InternalResetTimer__Expired(13);
current_location.update_lineno(5917);
/* SCCP_Emulation.ttcn, line 5917 */
SCCP__CT_component_v__T__internal__reset[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_129 == ALT_UNCHECKED) {
current_location.update_lineno(5918);
/* SCCP_Emulation.ttcn, line 5918 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[14]) tmp_1054_alt_flag_129 = ALT_MAYBE;
else tmp_1054_alt_flag_129 = ALT_NO;
}
if (tmp_1054_alt_flag_129 == ALT_MAYBE) {
current_location.update_lineno(5918);
/* SCCP_Emulation.ttcn, line 5918 */
tmp_1054_alt_flag_129 = SCCP__CT_component_T__internal__reset[14].timeout(NULL);
if (tmp_1054_alt_flag_129 == ALT_YES) {
current_location.update_lineno(5918);
/* SCCP_Emulation.ttcn, line 5918 */
InternalResetTimer__Expired(14);
current_location.update_lineno(5919);
/* SCCP_Emulation.ttcn, line 5919 */
SCCP__CT_component_v__T__internal__reset[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_130 == ALT_UNCHECKED) {
current_location.update_lineno(5920);
/* SCCP_Emulation.ttcn, line 5920 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__internal__reset)[15]) tmp_1054_alt_flag_130 = ALT_MAYBE;
else tmp_1054_alt_flag_130 = ALT_NO;
}
if (tmp_1054_alt_flag_130 == ALT_MAYBE) {
current_location.update_lineno(5920);
/* SCCP_Emulation.ttcn, line 5920 */
tmp_1054_alt_flag_130 = SCCP__CT_component_T__internal__reset[15].timeout(NULL);
if (tmp_1054_alt_flag_130 == ALT_YES) {
current_location.update_lineno(5920);
/* SCCP_Emulation.ttcn, line 5920 */
InternalResetTimer__Expired(15);
current_location.update_lineno(5921);
/* SCCP_Emulation.ttcn, line 5921 */
SCCP__CT_component_v__T__internal__reset[15] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_131 == ALT_UNCHECKED) {
current_location.update_lineno(5926);
/* SCCP_Emulation.ttcn, line 5926 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[0]) tmp_1054_alt_flag_131 = ALT_MAYBE;
else tmp_1054_alt_flag_131 = ALT_NO;
}
if (tmp_1054_alt_flag_131 == ALT_MAYBE) {
current_location.update_lineno(5926);
/* SCCP_Emulation.ttcn, line 5926 */
tmp_1054_alt_flag_131 = SCCP__CT_component_T__guard[0].timeout(NULL);
if (tmp_1054_alt_flag_131 == ALT_YES) {
current_location.update_lineno(5926);
/* SCCP_Emulation.ttcn, line 5926 */
GuardTimer__Expired(0);
current_location.update_lineno(5927);
/* SCCP_Emulation.ttcn, line 5927 */
SCCP__CT_component_v__T__guard[0] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_132 == ALT_UNCHECKED) {
current_location.update_lineno(5928);
/* SCCP_Emulation.ttcn, line 5928 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[1]) tmp_1054_alt_flag_132 = ALT_MAYBE;
else tmp_1054_alt_flag_132 = ALT_NO;
}
if (tmp_1054_alt_flag_132 == ALT_MAYBE) {
current_location.update_lineno(5928);
/* SCCP_Emulation.ttcn, line 5928 */
tmp_1054_alt_flag_132 = SCCP__CT_component_T__guard[1].timeout(NULL);
if (tmp_1054_alt_flag_132 == ALT_YES) {
current_location.update_lineno(5928);
/* SCCP_Emulation.ttcn, line 5928 */
GuardTimer__Expired(1);
current_location.update_lineno(5929);
/* SCCP_Emulation.ttcn, line 5929 */
SCCP__CT_component_v__T__guard[1] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_133 == ALT_UNCHECKED) {
current_location.update_lineno(5930);
/* SCCP_Emulation.ttcn, line 5930 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[2]) tmp_1054_alt_flag_133 = ALT_MAYBE;
else tmp_1054_alt_flag_133 = ALT_NO;
}
if (tmp_1054_alt_flag_133 == ALT_MAYBE) {
current_location.update_lineno(5930);
/* SCCP_Emulation.ttcn, line 5930 */
tmp_1054_alt_flag_133 = SCCP__CT_component_T__guard[2].timeout(NULL);
if (tmp_1054_alt_flag_133 == ALT_YES) {
current_location.update_lineno(5930);
/* SCCP_Emulation.ttcn, line 5930 */
GuardTimer__Expired(2);
current_location.update_lineno(5931);
/* SCCP_Emulation.ttcn, line 5931 */
SCCP__CT_component_v__T__guard[2] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_134 == ALT_UNCHECKED) {
current_location.update_lineno(5932);
/* SCCP_Emulation.ttcn, line 5932 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[3]) tmp_1054_alt_flag_134 = ALT_MAYBE;
else tmp_1054_alt_flag_134 = ALT_NO;
}
if (tmp_1054_alt_flag_134 == ALT_MAYBE) {
current_location.update_lineno(5932);
/* SCCP_Emulation.ttcn, line 5932 */
tmp_1054_alt_flag_134 = SCCP__CT_component_T__guard[3].timeout(NULL);
if (tmp_1054_alt_flag_134 == ALT_YES) {
current_location.update_lineno(5932);
/* SCCP_Emulation.ttcn, line 5932 */
GuardTimer__Expired(3);
current_location.update_lineno(5933);
/* SCCP_Emulation.ttcn, line 5933 */
SCCP__CT_component_v__T__guard[3] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_135 == ALT_UNCHECKED) {
current_location.update_lineno(5934);
/* SCCP_Emulation.ttcn, line 5934 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[4]) tmp_1054_alt_flag_135 = ALT_MAYBE;
else tmp_1054_alt_flag_135 = ALT_NO;
}
if (tmp_1054_alt_flag_135 == ALT_MAYBE) {
current_location.update_lineno(5934);
/* SCCP_Emulation.ttcn, line 5934 */
tmp_1054_alt_flag_135 = SCCP__CT_component_T__guard[4].timeout(NULL);
if (tmp_1054_alt_flag_135 == ALT_YES) {
current_location.update_lineno(5934);
/* SCCP_Emulation.ttcn, line 5934 */
GuardTimer__Expired(4);
current_location.update_lineno(5935);
/* SCCP_Emulation.ttcn, line 5935 */
SCCP__CT_component_v__T__guard[4] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_136 == ALT_UNCHECKED) {
current_location.update_lineno(5936);
/* SCCP_Emulation.ttcn, line 5936 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[5]) tmp_1054_alt_flag_136 = ALT_MAYBE;
else tmp_1054_alt_flag_136 = ALT_NO;
}
if (tmp_1054_alt_flag_136 == ALT_MAYBE) {
current_location.update_lineno(5936);
/* SCCP_Emulation.ttcn, line 5936 */
tmp_1054_alt_flag_136 = SCCP__CT_component_T__guard[5].timeout(NULL);
if (tmp_1054_alt_flag_136 == ALT_YES) {
current_location.update_lineno(5936);
/* SCCP_Emulation.ttcn, line 5936 */
GuardTimer__Expired(5);
current_location.update_lineno(5937);
/* SCCP_Emulation.ttcn, line 5937 */
SCCP__CT_component_v__T__guard[5] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_137 == ALT_UNCHECKED) {
current_location.update_lineno(5938);
/* SCCP_Emulation.ttcn, line 5938 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[6]) tmp_1054_alt_flag_137 = ALT_MAYBE;
else tmp_1054_alt_flag_137 = ALT_NO;
}
if (tmp_1054_alt_flag_137 == ALT_MAYBE) {
current_location.update_lineno(5938);
/* SCCP_Emulation.ttcn, line 5938 */
tmp_1054_alt_flag_137 = SCCP__CT_component_T__guard[6].timeout(NULL);
if (tmp_1054_alt_flag_137 == ALT_YES) {
current_location.update_lineno(5938);
/* SCCP_Emulation.ttcn, line 5938 */
GuardTimer__Expired(6);
current_location.update_lineno(5939);
/* SCCP_Emulation.ttcn, line 5939 */
SCCP__CT_component_v__T__guard[6] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_138 == ALT_UNCHECKED) {
current_location.update_lineno(5940);
/* SCCP_Emulation.ttcn, line 5940 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[7]) tmp_1054_alt_flag_138 = ALT_MAYBE;
else tmp_1054_alt_flag_138 = ALT_NO;
}
if (tmp_1054_alt_flag_138 == ALT_MAYBE) {
current_location.update_lineno(5940);
/* SCCP_Emulation.ttcn, line 5940 */
tmp_1054_alt_flag_138 = SCCP__CT_component_T__guard[7].timeout(NULL);
if (tmp_1054_alt_flag_138 == ALT_YES) {
current_location.update_lineno(5940);
/* SCCP_Emulation.ttcn, line 5940 */
GuardTimer__Expired(7);
current_location.update_lineno(5941);
/* SCCP_Emulation.ttcn, line 5941 */
SCCP__CT_component_v__T__guard[7] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_139 == ALT_UNCHECKED) {
current_location.update_lineno(5942);
/* SCCP_Emulation.ttcn, line 5942 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[8]) tmp_1054_alt_flag_139 = ALT_MAYBE;
else tmp_1054_alt_flag_139 = ALT_NO;
}
if (tmp_1054_alt_flag_139 == ALT_MAYBE) {
current_location.update_lineno(5942);
/* SCCP_Emulation.ttcn, line 5942 */
tmp_1054_alt_flag_139 = SCCP__CT_component_T__guard[8].timeout(NULL);
if (tmp_1054_alt_flag_139 == ALT_YES) {
current_location.update_lineno(5942);
/* SCCP_Emulation.ttcn, line 5942 */
GuardTimer__Expired(8);
current_location.update_lineno(5943);
/* SCCP_Emulation.ttcn, line 5943 */
SCCP__CT_component_v__T__guard[8] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_140 == ALT_UNCHECKED) {
current_location.update_lineno(5944);
/* SCCP_Emulation.ttcn, line 5944 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[9]) tmp_1054_alt_flag_140 = ALT_MAYBE;
else tmp_1054_alt_flag_140 = ALT_NO;
}
if (tmp_1054_alt_flag_140 == ALT_MAYBE) {
current_location.update_lineno(5944);
/* SCCP_Emulation.ttcn, line 5944 */
tmp_1054_alt_flag_140 = SCCP__CT_component_T__guard[9].timeout(NULL);
if (tmp_1054_alt_flag_140 == ALT_YES) {
current_location.update_lineno(5944);
/* SCCP_Emulation.ttcn, line 5944 */
GuardTimer__Expired(9);
current_location.update_lineno(5945);
/* SCCP_Emulation.ttcn, line 5945 */
SCCP__CT_component_v__T__guard[9] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_141 == ALT_UNCHECKED) {
current_location.update_lineno(5946);
/* SCCP_Emulation.ttcn, line 5946 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[10]) tmp_1054_alt_flag_141 = ALT_MAYBE;
else tmp_1054_alt_flag_141 = ALT_NO;
}
if (tmp_1054_alt_flag_141 == ALT_MAYBE) {
current_location.update_lineno(5946);
/* SCCP_Emulation.ttcn, line 5946 */
tmp_1054_alt_flag_141 = SCCP__CT_component_T__guard[10].timeout(NULL);
if (tmp_1054_alt_flag_141 == ALT_YES) {
current_location.update_lineno(5946);
/* SCCP_Emulation.ttcn, line 5946 */
GuardTimer__Expired(10);
current_location.update_lineno(5947);
/* SCCP_Emulation.ttcn, line 5947 */
SCCP__CT_component_v__T__guard[10] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_142 == ALT_UNCHECKED) {
current_location.update_lineno(5948);
/* SCCP_Emulation.ttcn, line 5948 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[11]) tmp_1054_alt_flag_142 = ALT_MAYBE;
else tmp_1054_alt_flag_142 = ALT_NO;
}
if (tmp_1054_alt_flag_142 == ALT_MAYBE) {
current_location.update_lineno(5948);
/* SCCP_Emulation.ttcn, line 5948 */
tmp_1054_alt_flag_142 = SCCP__CT_component_T__guard[11].timeout(NULL);
if (tmp_1054_alt_flag_142 == ALT_YES) {
current_location.update_lineno(5948);
/* SCCP_Emulation.ttcn, line 5948 */
GuardTimer__Expired(11);
current_location.update_lineno(5949);
/* SCCP_Emulation.ttcn, line 5949 */
SCCP__CT_component_v__T__guard[11] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_143 == ALT_UNCHECKED) {
current_location.update_lineno(5950);
/* SCCP_Emulation.ttcn, line 5950 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[12]) tmp_1054_alt_flag_143 = ALT_MAYBE;
else tmp_1054_alt_flag_143 = ALT_NO;
}
if (tmp_1054_alt_flag_143 == ALT_MAYBE) {
current_location.update_lineno(5950);
/* SCCP_Emulation.ttcn, line 5950 */
tmp_1054_alt_flag_143 = SCCP__CT_component_T__guard[12].timeout(NULL);
if (tmp_1054_alt_flag_143 == ALT_YES) {
current_location.update_lineno(5950);
/* SCCP_Emulation.ttcn, line 5950 */
GuardTimer__Expired(12);
current_location.update_lineno(5951);
/* SCCP_Emulation.ttcn, line 5951 */
SCCP__CT_component_v__T__guard[12] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_144 == ALT_UNCHECKED) {
current_location.update_lineno(5952);
/* SCCP_Emulation.ttcn, line 5952 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[13]) tmp_1054_alt_flag_144 = ALT_MAYBE;
else tmp_1054_alt_flag_144 = ALT_NO;
}
if (tmp_1054_alt_flag_144 == ALT_MAYBE) {
current_location.update_lineno(5952);
/* SCCP_Emulation.ttcn, line 5952 */
tmp_1054_alt_flag_144 = SCCP__CT_component_T__guard[13].timeout(NULL);
if (tmp_1054_alt_flag_144 == ALT_YES) {
current_location.update_lineno(5952);
/* SCCP_Emulation.ttcn, line 5952 */
GuardTimer__Expired(13);
current_location.update_lineno(5953);
/* SCCP_Emulation.ttcn, line 5953 */
SCCP__CT_component_v__T__guard[13] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_145 == ALT_UNCHECKED) {
current_location.update_lineno(5954);
/* SCCP_Emulation.ttcn, line 5954 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[14]) tmp_1054_alt_flag_145 = ALT_MAYBE;
else tmp_1054_alt_flag_145 = ALT_NO;
}
if (tmp_1054_alt_flag_145 == ALT_MAYBE) {
current_location.update_lineno(5954);
/* SCCP_Emulation.ttcn, line 5954 */
tmp_1054_alt_flag_145 = SCCP__CT_component_T__guard[14].timeout(NULL);
if (tmp_1054_alt_flag_145 == ALT_YES) {
current_location.update_lineno(5954);
/* SCCP_Emulation.ttcn, line 5954 */
GuardTimer__Expired(14);
current_location.update_lineno(5955);
/* SCCP_Emulation.ttcn, line 5955 */
SCCP__CT_component_v__T__guard[14] = FALSE;
break;
}
}
if (tmp_1054_alt_flag_146 == ALT_UNCHECKED) {
current_location.update_lineno(5956);
/* SCCP_Emulation.ttcn, line 5956 */
if (const_cast< const Timer__Snapshot&>(SCCP__CT_component_v__T__guard)[15]) tmp_1054_alt_flag_146 = ALT_MAYBE;
else tmp_1054_alt_flag_146 = ALT_NO;
}
if (tmp_1054_alt_flag_146 == ALT_MAYBE) {
current_location.update_lineno(5956);
/* SCCP_Emulation.ttcn, line 5956 */
tmp_1054_alt_flag_146 = SCCP__CT_component_T__guard[15].timeout(NULL);
if (tmp_1054_alt_flag_146 == ALT_YES) {
current_location.update_lineno(5956);
/* SCCP_Emulation.ttcn, line 5956 */
GuardTimer__Expired(15);
current_location.update_lineno(5957);
/* SCCP_Emulation.ttcn, line 5957 */
SCCP__CT_component_v__T__guard[15] = FALSE;
break;
}
}
if (tmp_1054_default_flag == ALT_MAYBE) {
tmp_1054_default_flag = TTCN_Default::try_altsteps();
if (tmp_1054_default_flag == ALT_YES || tmp_1054_default_flag == ALT_BREAK) break;
else if (tmp_1054_default_flag == ALT_REPEAT) goto tmp_1054;
}
current_location.update_lineno(5439);
/* SCCP_Emulation.ttcn, line 5439 */
if (tmp_1054_alt_flag_0 == ALT_NO && tmp_1054_alt_flag_1 == ALT_NO && tmp_1054_alt_flag_2 == ALT_NO && tmp_1054_alt_flag_3 == ALT_NO && tmp_1054_alt_flag_4 == ALT_NO && tmp_1054_alt_flag_5 == ALT_NO && tmp_1054_alt_flag_6 == ALT_NO && tmp_1054_alt_flag_7 == ALT_NO && tmp_1054_alt_flag_8 == ALT_NO && tmp_1054_alt_flag_9 == ALT_NO && tmp_1054_alt_flag_10 == ALT_NO && tmp_1054_alt_flag_11 == ALT_NO && tmp_1054_alt_flag_12 == ALT_NO && tmp_1054_alt_flag_13 == ALT_NO && tmp_1054_alt_flag_14 == ALT_NO && tmp_1054_alt_flag_15 == ALT_NO && tmp_1054_alt_flag_16 == ALT_NO && tmp_1054_alt_flag_17 == ALT_NO && tmp_1054_alt_flag_18 == ALT_NO && tmp_1054_alt_flag_19 == ALT_NO && tmp_1054_alt_flag_20 == ALT_NO && tmp_1054_alt_flag_21 == ALT_NO && tmp_1054_alt_flag_22 == ALT_NO && tmp_1054_alt_flag_23 == ALT_NO && tmp_1054_alt_flag_24 == ALT_NO && tmp_1054_alt_flag_25 == ALT_NO && tmp_1054_alt_flag_26 == ALT_NO && tmp_1054_alt_flag_27 == ALT_NO && tmp_1054_alt_flag_28 == ALT_NO && tmp_1054_alt_flag_29 == ALT_NO && tmp_1054_alt_flag_30 == ALT_NO && tmp_1054_alt_flag_31 == ALT_NO && tmp_1054_alt_flag_32 == ALT_NO && tmp_1054_alt_flag_33 == ALT_NO && tmp_1054_alt_flag_34 == ALT_NO && tmp_1054_alt_flag_35 == ALT_NO && tmp_1054_alt_flag_36 == ALT_NO && tmp_1054_alt_flag_37 == ALT_NO && tmp_1054_alt_flag_38 == ALT_NO && tmp_1054_alt_flag_39 == ALT_NO && tmp_1054_alt_flag_40 == ALT_NO && tmp_1054_alt_flag_41 == ALT_NO && tmp_1054_alt_flag_42 == ALT_NO && tmp_1054_alt_flag_43 == ALT_NO && tmp_1054_alt_flag_44 == ALT_NO && tmp_1054_alt_flag_45 == ALT_NO && tmp_1054_alt_flag_46 == ALT_NO && tmp_1054_alt_flag_47 == ALT_NO && tmp_1054_alt_flag_48 == ALT_NO && tmp_1054_alt_flag_49 == ALT_NO && tmp_1054_alt_flag_50 == ALT_NO && tmp_1054_alt_flag_51 == ALT_NO && tmp_1054_alt_flag_52 == ALT_NO && tmp_1054_alt_flag_53 == ALT_NO && tmp_1054_alt_flag_54 == ALT_NO && tmp_1054_alt_flag_55 == ALT_NO && tmp_1054_alt_flag_56 == ALT_NO && tmp_1054_alt_flag_57 == ALT_NO && tmp_1054_alt_flag_58 == ALT_NO && tmp_1054_alt_flag_59 == ALT_NO && tmp_1054_alt_flag_60 == ALT_NO && tmp_1054_alt_flag_61 == ALT_NO && tmp_1054_alt_flag_62 == ALT_NO && tmp_1054_alt_flag_63 == ALT_NO && tmp_1054_alt_flag_64 == ALT_NO && tmp_1054_alt_flag_65 == ALT_NO && tmp_1054_alt_flag_66 == ALT_NO && tmp_1054_alt_flag_67 == ALT_NO && tmp_1054_alt_flag_68 == ALT_NO && tmp_1054_alt_flag_69 == ALT_NO && tmp_1054_alt_flag_70 == ALT_NO && tmp_1054_alt_flag_71 == ALT_NO && tmp_1054_alt_flag_72 == ALT_NO && tmp_1054_alt_flag_73 == ALT_NO && tmp_1054_alt_flag_74 == ALT_NO && tmp_1054_alt_flag_75 == ALT_NO && tmp_1054_alt_flag_76 == ALT_NO && tmp_1054_alt_flag_77 == ALT_NO && tmp_1054_alt_flag_78 == ALT_NO && tmp_1054_alt_flag_79 == ALT_NO && tmp_1054_alt_flag_80 == ALT_NO && tmp_1054_alt_flag_81 == ALT_NO && tmp_1054_alt_flag_82 == ALT_NO && tmp_1054_alt_flag_83 == ALT_NO && tmp_1054_alt_flag_84 == ALT_NO && tmp_1054_alt_flag_85 == ALT_NO && tmp_1054_alt_flag_86 == ALT_NO && tmp_1054_alt_flag_87 == ALT_NO && tmp_1054_alt_flag_88 == ALT_NO && tmp_1054_alt_flag_89 == ALT_NO && tmp_1054_alt_flag_90 == ALT_NO && tmp_1054_alt_flag_91 == ALT_NO && tmp_1054_alt_flag_92 == ALT_NO && tmp_1054_alt_flag_93 == ALT_NO && tmp_1054_alt_flag_94 == ALT_NO && tmp_1054_alt_flag_95 == ALT_NO && tmp_1054_alt_flag_96 == ALT_NO && tmp_1054_alt_flag_97 == ALT_NO && tmp_1054_alt_flag_98 == ALT_NO && tmp_1054_alt_flag_99 == ALT_NO && tmp_1054_alt_flag_100 == ALT_NO && tmp_1054_alt_flag_101 == ALT_NO && tmp_1054_alt_flag_102 == ALT_NO && tmp_1054_alt_flag_103 == ALT_NO && tmp_1054_alt_flag_104 == ALT_NO && tmp_1054_alt_flag_105 == ALT_NO && tmp_1054_alt_flag_106 == ALT_NO && tmp_1054_alt_flag_107 == ALT_NO && tmp_1054_alt_flag_108 == ALT_NO && tmp_1054_alt_flag_109 == ALT_NO && tmp_1054_alt_flag_110 == ALT_NO && tmp_1054_alt_flag_111 == ALT_NO && tmp_1054_alt_flag_112 == ALT_NO && tmp_1054_alt_flag_113 == ALT_NO && tmp_1054_alt_flag_114 == ALT_NO && tmp_1054_alt_flag_115 == ALT_NO && tmp_1054_alt_flag_116 == ALT_NO && tmp_1054_alt_flag_117 == ALT_NO && tmp_1054_alt_flag_118 == ALT_NO && tmp_1054_alt_flag_119 == ALT_NO && tmp_1054_alt_flag_120 == ALT_NO && tmp_1054_alt_flag_121 == ALT_NO && tmp_1054_alt_flag_122 == ALT_NO && tmp_1054_alt_flag_123 == ALT_NO && tmp_1054_alt_flag_124 == ALT_NO && tmp_1054_alt_flag_125 == ALT_NO && tmp_1054_alt_flag_126 == ALT_NO && tmp_1054_alt_flag_127 == ALT_NO && tmp_1054_alt_flag_128 == ALT_NO && tmp_1054_alt_flag_129 == ALT_NO && tmp_1054_alt_flag_130 == ALT_NO && tmp_1054_alt_flag_131 == ALT_NO && tmp_1054_alt_flag_132 == ALT_NO && tmp_1054_alt_flag_133 == ALT_NO && tmp_1054_alt_flag_134 == ALT_NO && tmp_1054_alt_flag_135 == ALT_NO && tmp_1054_alt_flag_136 == ALT_NO && tmp_1054_alt_flag_137 == ALT_NO && tmp_1054_alt_flag_138 == ALT_NO && tmp_1054_alt_flag_139 == ALT_NO && tmp_1054_alt_flag_140 == ALT_NO && tmp_1054_alt_flag_141 == ALT_NO && tmp_1054_alt_flag_142 == ALT_NO && tmp_1054_alt_flag_143 == ALT_NO && tmp_1054_alt_flag_144 == ALT_NO && tmp_1054_alt_flag_145 == ALT_NO && tmp_1054_alt_flag_146 == ALT_NO && tmp_1054_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file SCCP_Emulation.ttcn between lines 5439 and 5960.");
TTCN_Snapshot::take_new(TRUE);
}
}
}
}

void start_ScanEvents(const COMPONENT& component_reference)
{
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ScanEvents(");
TTCN_Logger::log_event_str(") on component ");
component_reference.log();
TTCN_Logger::log_char('.');
TTCN_Logger::end_event();
Text_Buf text_buf;
TTCN_Runtime::prepare_start_component(component_reference, "SCCP_Emulation", "ScanEvents", text_buf);
TTCN_Runtime::send_start_component(text_buf);
}


/* Bodies of static functions */

void pre_init_module()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "SCCP_Emulation");
SCCP__Mapping::module_object.pre_init_module();
current_location.update_lineno(26);
/* SCCP_Emulation.ttcn, line 26 */
modulepar_tsp__maxLocalReference = 1.6777216e7;
module_object.add_modulepar("tsp_maxLocalReference");
current_location.update_lineno(27);
/* SCCP_Emulation.ttcn, line 27 */
modulepar_tsp__max__ConnectionId = 1.6777216e7;
module_object.add_modulepar("tsp_max_ConnectionId");
current_location.update_lineno(28);
/* SCCP_Emulation.ttcn, line 28 */
modulepar_tsp__force__xudt = 0;
module_object.add_modulepar("tsp_force_xudt");
current_location.update_lineno(29);
/* SCCP_Emulation.ttcn, line 29 */
modulepar_tsp__SIF__MaxLength = 272;
module_object.add_modulepar("tsp_SIF_MaxLength");
current_location.update_lineno(30);
/* SCCP_Emulation.ttcn, line 30 */
modulepar_tsp__override__called__address = TRUE;
module_object.add_modulepar("tsp_override_called_address");
current_location.update_lineno(47);
/* SCCP_Emulation.ttcn, line 47 */
const_cg__SSN__notKnown = 0;
current_location.update_lineno(48);
/* SCCP_Emulation.ttcn, line 48 */
const_cg__SSN__sCCPmanagement = 1;
current_location.update_lineno(49);
/* SCCP_Emulation.ttcn, line 49 */
const_cg__SSN__reservedForITU = 2;
current_location.update_lineno(50);
/* SCCP_Emulation.ttcn, line 50 */
const_cg__SSN__iSUP = 3;
current_location.update_lineno(51);
/* SCCP_Emulation.ttcn, line 51 */
const_cg__SSN__oMAP = 4;
current_location.update_lineno(52);
/* SCCP_Emulation.ttcn, line 52 */
const_cg__SSN__mAP = 5;
current_location.update_lineno(53);
/* SCCP_Emulation.ttcn, line 53 */
const_cg__SSN__hLR = 6;
current_location.update_lineno(54);
/* SCCP_Emulation.ttcn, line 54 */
const_cg__SSN__vLR = 7;
current_location.update_lineno(55);
/* SCCP_Emulation.ttcn, line 55 */
const_cg__SSN__mSC = 8;
current_location.update_lineno(56);
/* SCCP_Emulation.ttcn, line 56 */
const_cg__SSN__eIC = 9;
current_location.update_lineno(57);
/* SCCP_Emulation.ttcn, line 57 */
const_cg__SSN__aUC = 10;
current_location.update_lineno(58);
/* SCCP_Emulation.ttcn, line 58 */
const_cg__SSN__isdnSS = 11;
current_location.update_lineno(59);
/* SCCP_Emulation.ttcn, line 59 */
const_cg__SSN__reservedForIntUse = 12;
current_location.update_lineno(60);
/* SCCP_Emulation.ttcn, line 60 */
const_cg__SSN__bISDNe2e = 13;
current_location.update_lineno(61);
/* SCCP_Emulation.ttcn, line 61 */
const_cg__SSN__tCtestResponder = 14;
current_location.update_lineno(62);
/* SCCP_Emulation.ttcn, line 62 */
const_cg__SSN__rANAP = 142;
current_location.update_lineno(63);
/* SCCP_Emulation.ttcn, line 63 */
const_cg__SSN__bSSAP = 254;
current_location.update_lineno(69);
/* SCCP_Emulation.ttcn, line 69 */
const_cg__route__on__SSN = bs_0;
current_location.update_lineno(70);
/* SCCP_Emulation.ttcn, line 70 */
const_cg__route__on__GT = bs_1;
current_location.update_lineno(77);
/* SCCP_Emulation.ttcn, line 77 */
const_cg__Rel__endUserOrig = 0;
current_location.update_lineno(78);
/* SCCP_Emulation.ttcn, line 78 */
const_cg__Rel__endUserCong = 1;
current_location.update_lineno(79);
/* SCCP_Emulation.ttcn, line 79 */
const_cg__Rel__endUserFailure = 2;
current_location.update_lineno(80);
/* SCCP_Emulation.ttcn, line 80 */
const_cg__Rel__sCCPUserOrig = 3;
current_location.update_lineno(81);
/* SCCP_Emulation.ttcn, line 81 */
const_cg__Rel__remProcError = 4;
current_location.update_lineno(82);
/* SCCP_Emulation.ttcn, line 82 */
const_cg__Rel__inconsConnData = 5;
current_location.update_lineno(83);
/* SCCP_Emulation.ttcn, line 83 */
const_cg__Rel__accessFailure = 6;
current_location.update_lineno(84);
/* SCCP_Emulation.ttcn, line 84 */
const_cg__Rel__accessCongestion = 7;
current_location.update_lineno(85);
/* SCCP_Emulation.ttcn, line 85 */
const_cg__Rel__subsystFailure = 8;
current_location.update_lineno(86);
/* SCCP_Emulation.ttcn, line 86 */
const_cg__Rel__subsystCongest = 9;
current_location.update_lineno(87);
/* SCCP_Emulation.ttcn, line 87 */
const_cg__Rel__mTPFailure = 10;
current_location.update_lineno(88);
/* SCCP_Emulation.ttcn, line 88 */
const_cg__Rel__networkCongest = 11;
current_location.update_lineno(89);
/* SCCP_Emulation.ttcn, line 89 */
const_cg__Rel__expResetTimer = 12;
current_location.update_lineno(90);
/* SCCP_Emulation.ttcn, line 90 */
const_cg__Rel__expRecInacTimer = 13;
current_location.update_lineno(91);
/* SCCP_Emulation.ttcn, line 91 */
const_cg__Rel__reserved = 14;
current_location.update_lineno(92);
/* SCCP_Emulation.ttcn, line 92 */
const_cg__Rel__unqualified = 15;
current_location.update_lineno(93);
/* SCCP_Emulation.ttcn, line 93 */
const_cg__Rel__sCCPFailure = 16;
current_location.update_lineno(99);
/* SCCP_Emulation.ttcn, line 99 */
const_cg__Ret__noTransl4AddrNature = 0;
current_location.update_lineno(100);
/* SCCP_Emulation.ttcn, line 100 */
const_cg__Ret__noTransl4SpecifAddr = 1;
current_location.update_lineno(101);
/* SCCP_Emulation.ttcn, line 101 */
const_cg__Ret__subsystemCongestion = 2;
current_location.update_lineno(102);
/* SCCP_Emulation.ttcn, line 102 */
const_cg__Ret__subsystemFailure = 3;
current_location.update_lineno(103);
/* SCCP_Emulation.ttcn, line 103 */
const_cg__Ret__unequippedUser = 4;
current_location.update_lineno(104);
/* SCCP_Emulation.ttcn, line 104 */
const_cg__Ret__mTPFailure = 5;
current_location.update_lineno(105);
/* SCCP_Emulation.ttcn, line 105 */
const_cg__Ret__networkCongestion = 6;
current_location.update_lineno(106);
/* SCCP_Emulation.ttcn, line 106 */
const_cg__Ret__unqualified = 7;
current_location.update_lineno(107);
/* SCCP_Emulation.ttcn, line 107 */
const_cg__Ret__errorMessageTransport = 8;
current_location.update_lineno(108);
/* SCCP_Emulation.ttcn, line 108 */
const_cg__Ret__errorLocalProcessing = 9;
current_location.update_lineno(109);
/* SCCP_Emulation.ttcn, line 109 */
const_cg__Ret__destNoReassembly = 10;
current_location.update_lineno(110);
/* SCCP_Emulation.ttcn, line 110 */
const_cg__Ret__sCCPFailure = 11;
current_location.update_lineno(111);
/* SCCP_Emulation.ttcn, line 111 */
const_cg__Ret__hopCounterViolation = 12;
current_location.update_lineno(112);
/* SCCP_Emulation.ttcn, line 112 */
const_cg__Ret__segmeNotSupported = 13;
current_location.update_lineno(113);
/* SCCP_Emulation.ttcn, line 113 */
const_cg__Ret__segmentationFailure = 14;
current_location.update_lineno(120);
/* SCCP_Emulation.ttcn, line 120 */
const_cg__Res__endUserOrig = 0;
current_location.update_lineno(121);
/* SCCP_Emulation.ttcn, line 121 */
const_cg__Res__sCCPUserOrig = 1;
current_location.update_lineno(122);
/* SCCP_Emulation.ttcn, line 122 */
const_cg__Res__messOutOfOrder__incPs = 2;
current_location.update_lineno(123);
/* SCCP_Emulation.ttcn, line 123 */
const_cg__Res__messOutOfOrder__incPr = 3;
current_location.update_lineno(124);
/* SCCP_Emulation.ttcn, line 124 */
const_cg__Res__remProcErr__messOutOfWindow = 4;
current_location.update_lineno(125);
/* SCCP_Emulation.ttcn, line 125 */
const_cg__Res__remProcErr__IncPsAfterReinit = 5;
current_location.update_lineno(126);
/* SCCP_Emulation.ttcn, line 126 */
const_cg__Res__remProcErr__general = 6;
current_location.update_lineno(127);
/* SCCP_Emulation.ttcn, line 127 */
const_cg__Res__remEndUserOperational = 7;
current_location.update_lineno(128);
/* SCCP_Emulation.ttcn, line 128 */
const_cg__Res__networkOperational = 8;
current_location.update_lineno(129);
/* SCCP_Emulation.ttcn, line 129 */
const_cg__Res__accessOperational = 9;
current_location.update_lineno(130);
/* SCCP_Emulation.ttcn, line 130 */
const_cg__Res__networkCongestion = 10;
current_location.update_lineno(131);
/* SCCP_Emulation.ttcn, line 131 */
const_cg__Res__reserved = 11;
current_location.update_lineno(132);
/* SCCP_Emulation.ttcn, line 132 */
const_cg__Res__unqualified = 12;
current_location.update_lineno(138);
/* SCCP_Emulation.ttcn, line 138 */
const_cg__Err__unassignedDestinationLRN = 0;
current_location.update_lineno(139);
/* SCCP_Emulation.ttcn, line 139 */
const_cg__Err__inconsistentSourceLRN = 1;
current_location.update_lineno(140);
/* SCCP_Emulation.ttcn, line 140 */
const_cg__Err__pointCodeMismatch = 2;
current_location.update_lineno(141);
/* SCCP_Emulation.ttcn, line 141 */
const_cg__Err__serviceClassMismatch = 3;
current_location.update_lineno(142);
/* SCCP_Emulation.ttcn, line 142 */
const_cg__Err__unqualified = 4;
current_location.update_lineno(148);
/* SCCP_Emulation.ttcn, line 148 */
const_cg__Ref__endUserOrigin = 0;
current_location.update_lineno(149);
/* SCCP_Emulation.ttcn, line 149 */
const_cg__Ref__endUserConges = 1;
current_location.update_lineno(150);
/* SCCP_Emulation.ttcn, line 150 */
const_cg__Ref__endUserFailure = 2;
current_location.update_lineno(151);
/* SCCP_Emulation.ttcn, line 151 */
const_cg__Ref__sCCPUserOrigin = 3;
current_location.update_lineno(152);
/* SCCP_Emulation.ttcn, line 152 */
const_cg__Ref__destAddrUnkn = 4;
current_location.update_lineno(153);
/* SCCP_Emulation.ttcn, line 153 */
const_cg__Ref__destInaccess = 5;
current_location.update_lineno(154);
/* SCCP_Emulation.ttcn, line 154 */
const_cg__Ref__qOSNotAvail__nonTransient = 6;
current_location.update_lineno(155);
/* SCCP_Emulation.ttcn, line 155 */
const_cg__Ref__qOSNotAvail__transient = 7;
current_location.update_lineno(156);
/* SCCP_Emulation.ttcn, line 156 */
const_cg__Ref__accessFailure = 8;
current_location.update_lineno(157);
/* SCCP_Emulation.ttcn, line 157 */
const_cg__Ref__accessCongestion = 9;
current_location.update_lineno(158);
/* SCCP_Emulation.ttcn, line 158 */
const_cg__Ref__subsystemFailure = 10;
current_location.update_lineno(159);
/* SCCP_Emulation.ttcn, line 159 */
const_cg__Ref__subsystemCongest = 11;
current_location.update_lineno(160);
/* SCCP_Emulation.ttcn, line 160 */
const_cg__Ref__expConnEstTimer = 12;
current_location.update_lineno(161);
/* SCCP_Emulation.ttcn, line 161 */
const_cg__Ref__incomUserData = 13;
current_location.update_lineno(162);
/* SCCP_Emulation.ttcn, line 162 */
const_cg__Ref__reserved = 14;
current_location.update_lineno(163);
/* SCCP_Emulation.ttcn, line 163 */
const_cg__Ref__unqualified = 15;
current_location.update_lineno(164);
/* SCCP_Emulation.ttcn, line 164 */
const_cg__Ref__hopCounterViol = 16;
current_location.update_lineno(165);
/* SCCP_Emulation.ttcn, line 165 */
const_cg__Ref__sCCPFailure = 17;
current_location.update_lineno(166);
/* SCCP_Emulation.ttcn, line 166 */
const_cg__Ref__noTransl4address = 18;
current_location.update_lineno(167);
/* SCCP_Emulation.ttcn, line 167 */
const_cg__Ref__unequippedUser = 19;
current_location.update_lineno(173);
/* SCCP_Emulation.ttcn, line 173 */
const_cg__Undefined = 0;
current_location.update_lineno(174);
/* SCCP_Emulation.ttcn, line 174 */
const_cg__NSU = 1;
current_location.update_lineno(175);
/* SCCP_Emulation.ttcn, line 175 */
const_cg__NSP = 2;
current_location.update_lineno(182);
/* SCCP_Emulation.ttcn, line 182 */
const_cg__CREF__endUserOrig = 0;
current_location.update_lineno(183);
/* SCCP_Emulation.ttcn, line 183 */
const_cg__CREF__endUserCong = 1;
current_location.update_lineno(184);
/* SCCP_Emulation.ttcn, line 184 */
const_cg__CREF__endUserFailure = 2;
current_location.update_lineno(185);
/* SCCP_Emulation.ttcn, line 185 */
const_cg__CREF__SCCPUserOrig = 3;
current_location.update_lineno(186);
/* SCCP_Emulation.ttcn, line 186 */
const_cg__CREF__destAddrUnknwn__NT = 4;
current_location.update_lineno(187);
/* SCCP_Emulation.ttcn, line 187 */
const_cg__CREF__destInaccg__T = 5;
current_location.update_lineno(188);
/* SCCP_Emulation.ttcn, line 188 */
const_cg__CREF__QOSUnavail__NT = 6;
current_location.update_lineno(189);
/* SCCP_Emulation.ttcn, line 189 */
const_cg__CREF__QOSUnavail__T = 7;
current_location.update_lineno(190);
/* SCCP_Emulation.ttcn, line 190 */
const_cg__CREF__accessFailure = 8;
current_location.update_lineno(191);
/* SCCP_Emulation.ttcn, line 191 */
const_cg__CREF__accessCong = 9;
current_location.update_lineno(192);
/* SCCP_Emulation.ttcn, line 192 */
const_cg__CREF__destInaccg__NT = 10;
current_location.update_lineno(193);
/* SCCP_Emulation.ttcn, line 193 */
const_cg__CREF__subsystCong = 11;
current_location.update_lineno(194);
/* SCCP_Emulation.ttcn, line 194 */
const_cg__CREF__unspec__T = 12;
current_location.update_lineno(195);
/* SCCP_Emulation.ttcn, line 195 */
const_cg__CREF__incompInfo = 13;
current_location.update_lineno(196);
/* SCCP_Emulation.ttcn, line 196 */
const_cg__CREF__unspec__NT = 15;
current_location.update_lineno(197);
/* SCCP_Emulation.ttcn, line 197 */
const_cg__CREF__undef = 16;
current_location.update_lineno(198);
/* SCCP_Emulation.ttcn, line 198 */
const_cg__CREF__hopCntrViolation = 18;
current_location.update_lineno(204);
/* SCCP_Emulation.ttcn, line 204 */
const_cg__DISC__normal = 20;
current_location.update_lineno(205);
/* SCCP_Emulation.ttcn, line 205 */
const_cg__DISC__endUserCong = 21;
current_location.update_lineno(206);
/* SCCP_Emulation.ttcn, line 206 */
const_cg__DISC__endUserFailure = 22;
current_location.update_lineno(207);
/* SCCP_Emulation.ttcn, line 207 */
const_cg__DISC__SCCPUserOrig = 23;
current_location.update_lineno(208);
/* SCCP_Emulation.ttcn, line 208 */
const_cg__DISC__abnormal__T = 24;
current_location.update_lineno(209);
/* SCCP_Emulation.ttcn, line 209 */
const_cg__DISC__accessFailure = 28;
current_location.update_lineno(210);
/* SCCP_Emulation.ttcn, line 210 */
const_cg__DISC__accessCong = 29;
current_location.update_lineno(211);
/* SCCP_Emulation.ttcn, line 211 */
const_cg__DISC__abnormal__NT = 30;
current_location.update_lineno(212);
/* SCCP_Emulation.ttcn, line 212 */
const_cg__DISC__subsystCong = 31;
current_location.update_lineno(213);
/* SCCP_Emulation.ttcn, line 213 */
const_cg__DISC__undef = 32;
current_location.update_lineno(214);
/* SCCP_Emulation.ttcn, line 214 */
const_cg__DISC__incompInfo = 33;
current_location.update_lineno(215);
/* SCCP_Emulation.ttcn, line 215 */
const_cg__DISC__abnormal = 35;
current_location.update_lineno(220);
/* SCCP_Emulation.ttcn, line 220 */
const_cg__RESET__userSynch = 40;
current_location.update_lineno(221);
/* SCCP_Emulation.ttcn, line 221 */
const_cg__RESET__unspec = 41;
current_location.update_lineno(222);
/* SCCP_Emulation.ttcn, line 222 */
const_cg__RESET__netCong = 42;
current_location.update_lineno(223);
/* SCCP_Emulation.ttcn, line 223 */
const_cg__RESET__undef = 43;
current_location.update_lineno(229);
/* SCCP_Emulation.ttcn, line 229 */
const_cg__Mapping__RefCause__Orig[0] = 1;
const_cg__Mapping__RefCause__Orig[1] = 1;
const_cg__Mapping__RefCause__Orig[2] = 1;
const_cg__Mapping__RefCause__Orig[3] = 1;
const_cg__Mapping__RefCause__Orig[4] = 2;
const_cg__Mapping__RefCause__Orig[5] = 2;
const_cg__Mapping__RefCause__Orig[6] = 2;
const_cg__Mapping__RefCause__Orig[7] = 2;
const_cg__Mapping__RefCause__Orig[8] = 1;
const_cg__Mapping__RefCause__Orig[9] = 1;
const_cg__Mapping__RefCause__Orig[10] = 2;
const_cg__Mapping__RefCause__Orig[11] = 1;
const_cg__Mapping__RefCause__Orig[12] = 2;
const_cg__Mapping__RefCause__Orig[13] = 1;
const_cg__Mapping__RefCause__Orig[14] = 2;
const_cg__Mapping__RefCause__Orig[15] = 0;
const_cg__Mapping__RefCause__Orig[16] = 2;
const_cg__Mapping__RefCause__Orig[17] = 0;
const_cg__Mapping__RefCause__Orig[18] = 2;
const_cg__Mapping__RefCause__Orig[19] = 2;
current_location.update_lineno(254);
/* SCCP_Emulation.ttcn, line 254 */
const_cg__Mapping__RefCause__Reason[0] = 0;
const_cg__Mapping__RefCause__Reason[1] = 1;
const_cg__Mapping__RefCause__Reason[2] = 2;
const_cg__Mapping__RefCause__Reason[3] = 3;
const_cg__Mapping__RefCause__Reason[4] = 4;
const_cg__Mapping__RefCause__Reason[5] = 5;
const_cg__Mapping__RefCause__Reason[6] = 6;
const_cg__Mapping__RefCause__Reason[7] = 7;
const_cg__Mapping__RefCause__Reason[8] = 8;
const_cg__Mapping__RefCause__Reason[9] = 9;
const_cg__Mapping__RefCause__Reason[10] = 10;
const_cg__Mapping__RefCause__Reason[11] = 11;
const_cg__Mapping__RefCause__Reason[12] = 12;
const_cg__Mapping__RefCause__Reason[13] = 13;
const_cg__Mapping__RefCause__Reason[14] = 12;
const_cg__Mapping__RefCause__Reason[15] = 16;
const_cg__Mapping__RefCause__Reason[16] = 18;
const_cg__Mapping__RefCause__Reason[17] = 16;
const_cg__Mapping__RefCause__Reason[18] = 4;
const_cg__Mapping__RefCause__Reason[19] = 10;
current_location.update_lineno(282);
/* SCCP_Emulation.ttcn, line 282 */
const_cg__Mapping__RelCause__Orig[0] = 1;
const_cg__Mapping__RelCause__Orig[1] = 1;
const_cg__Mapping__RelCause__Orig[2] = 1;
const_cg__Mapping__RelCause__Orig[3] = 1;
const_cg__Mapping__RelCause__Orig[4] = 2;
const_cg__Mapping__RelCause__Orig[5] = 2;
const_cg__Mapping__RelCause__Orig[6] = 1;
const_cg__Mapping__RelCause__Orig[7] = 1;
const_cg__Mapping__RelCause__Orig[8] = 2;
const_cg__Mapping__RelCause__Orig[9] = 1;
const_cg__Mapping__RelCause__Orig[10] = 2;
const_cg__Mapping__RelCause__Orig[11] = 2;
const_cg__Mapping__RelCause__Orig[12] = 2;
const_cg__Mapping__RelCause__Orig[13] = 2;
const_cg__Mapping__RelCause__Orig[14] = 0;
const_cg__Mapping__RelCause__Orig[15] = 0;
const_cg__Mapping__RelCause__Orig[16] = 2;
current_location.update_lineno(311);
/* SCCP_Emulation.ttcn, line 311 */
const_cg__Mapping__RelCause__Reason[0] = 20;
const_cg__Mapping__RelCause__Reason[1] = 21;
const_cg__Mapping__RelCause__Reason[2] = 22;
const_cg__Mapping__RelCause__Reason[3] = 23;
const_cg__Mapping__RelCause__Reason[4] = 24;
const_cg__Mapping__RelCause__Reason[5] = 24;
const_cg__Mapping__RelCause__Reason[6] = 28;
const_cg__Mapping__RelCause__Reason[7] = 29;
const_cg__Mapping__RelCause__Reason[8] = 30;
const_cg__Mapping__RelCause__Reason[9] = 31;
const_cg__Mapping__RelCause__Reason[10] = 30;
const_cg__Mapping__RelCause__Reason[11] = 24;
const_cg__Mapping__RelCause__Reason[12] = 24;
const_cg__Mapping__RelCause__Reason[13] = 24;
const_cg__Mapping__RelCause__Reason[14] = 32;
const_cg__Mapping__RelCause__Reason[15] = 32;
const_cg__Mapping__RelCause__Reason[16] = 30;
current_location.update_lineno(346);
/* SCCP_Emulation.ttcn, line 346 */
const_cg__Mapping__ResCause__Orig[0] = 1;
const_cg__Mapping__ResCause__Orig[1] = 1;
const_cg__Mapping__ResCause__Orig[2] = 2;
const_cg__Mapping__ResCause__Orig[3] = 2;
const_cg__Mapping__ResCause__Orig[4] = 2;
const_cg__Mapping__ResCause__Orig[5] = 2;
const_cg__Mapping__ResCause__Orig[6] = 2;
const_cg__Mapping__ResCause__Orig[7] = 1;
const_cg__Mapping__ResCause__Orig[8] = 2;
const_cg__Mapping__ResCause__Orig[9] = 1;
const_cg__Mapping__ResCause__Orig[10] = 2;
const_cg__Mapping__ResCause__Orig[11] = 0;
current_location.update_lineno(362);
/* SCCP_Emulation.ttcn, line 362 */
const_cg__Mapping__ResCause__Reason[0] = 40;
const_cg__Mapping__ResCause__Reason[1] = 40;
const_cg__Mapping__ResCause__Reason[2] = 41;
const_cg__Mapping__ResCause__Reason[3] = 41;
const_cg__Mapping__ResCause__Reason[4] = 41;
const_cg__Mapping__ResCause__Reason[5] = 41;
const_cg__Mapping__ResCause__Reason[6] = 41;
const_cg__Mapping__ResCause__Reason[7] = 40;
const_cg__Mapping__ResCause__Reason[8] = 41;
const_cg__Mapping__ResCause__Reason[9] = 40;
const_cg__Mapping__ResCause__Reason[10] = 42;
const_cg__Mapping__ResCause__Reason[11] = 43;
current_location.update_lineno(384);
/* SCCP_Emulation.ttcn, line 384 */
const_cg__TimerArraySize = 16;
{
static const char * const timer_name = "T_conn_est";
SCCP__CT_component_T__conn__est.set_name(timer_name);
}
{
static const char * const timer_name = "T_ias";
SCCP__CT_component_T__ias.set_name(timer_name);
}
{
static const char * const timer_name = "T_iar";
SCCP__CT_component_T__iar.set_name(timer_name);
}
{
static const char * const timer_name = "T_rel";
SCCP__CT_component_T__rel.set_name(timer_name);
}
{
static const char * const timer_name = "T_repeat_rel";
SCCP__CT_component_T__repeat__rel.set_name(timer_name);
}
{
static const char * const timer_name = "T_int";
SCCP__CT_component_T__int.set_name(timer_name);
}
{
static const char * const timer_name = "T_reset";
SCCP__CT_component_T__reset.set_name(timer_name);
}
{
static const char * const timer_name = "T_internal_reset";
SCCP__CT_component_T__internal__reset.set_name(timer_name);
}
{
static const char * const timer_name = "T_guard";
SCCP__CT_component_T__guard.set_name(timer_name);
}
module_object.add_function("f_StartTimer", (genericfunc_t)&f__StartTimer, (genericfunc_t)&start_f__StartTimer);
module_object.add_function("f_StopTimer", (genericfunc_t)&f__StopTimer, (genericfunc_t)&start_f__StopTimer);
module_object.add_function("f_initialize_timer_states", (genericfunc_t)&f__initialize__timer__states, (genericfunc_t)&start_f__initialize__timer__states);
module_object.add_function("SCCPStart", (genericfunc_t)&SCCPStart, (genericfunc_t)&start_SCCPStart);
module_object.add_function("ReleaseResources", (genericfunc_t)&ReleaseResources, (genericfunc_t)&start_ReleaseResources);
module_object.add_function("GuardTimer_Expired", (genericfunc_t)&GuardTimer__Expired, (genericfunc_t)&start_GuardTimer__Expired);
module_object.add_function("InternalResetTimer_Expired", (genericfunc_t)&InternalResetTimer__Expired, (genericfunc_t)&start_InternalResetTimer__Expired);
module_object.add_function("Reset_Timer_Expired", (genericfunc_t)&Reset__Timer__Expired, (genericfunc_t)&start_Reset__Timer__Expired);
module_object.add_function("Interval_Timer_Expired", (genericfunc_t)&Interval__Timer__Expired, (genericfunc_t)&start_Interval__Timer__Expired);
module_object.add_function("RepeatRelease_Timer_Expired", (genericfunc_t)&RepeatRelease__Timer__Expired, (genericfunc_t)&start_RepeatRelease__Timer__Expired);
module_object.add_function("Release_Timer_Expired", (genericfunc_t)&Release__Timer__Expired, (genericfunc_t)&start_Release__Timer__Expired);
module_object.add_function("ReceiveInactivity_Timer_Expired", (genericfunc_t)&ReceiveInactivity__Timer__Expired, (genericfunc_t)&start_ReceiveInactivity__Timer__Expired);
module_object.add_function("SendInactivity_Timer_Expired", (genericfunc_t)&SendInactivity__Timer__Expired, (genericfunc_t)&start_SendInactivity__Timer__Expired);
module_object.add_function("Conn_Timer_Expired", (genericfunc_t)&Conn__Timer__Expired, (genericfunc_t)&start_Conn__Timer__Expired);
module_object.add_function("GenerateLocalReference", (genericfunc_t)&GenerateLocalReference, (genericfunc_t)&start_GenerateLocalReference);
module_object.add_function("GenerateConnectionId", (genericfunc_t)&GenerateConnectionId, (genericfunc_t)&start_GenerateConnectionId);
module_object.add_function("Stop_sessionTimers", (genericfunc_t)&Stop__sessionTimers, (genericfunc_t)&start_Stop__sessionTimers);
module_object.add_function("CheckIdleIndividuals", (genericfunc_t)&CheckIdleIndividuals, (genericfunc_t)&start_CheckIdleIndividuals);
module_object.add_function("ConnectionAlreadyEstablished", (genericfunc_t)&ConnectionAlreadyEstablished, (genericfunc_t)&start_ConnectionAlreadyEstablished);
module_object.add_function("ConnectionAlreadyEstablished_remote", (genericfunc_t)&ConnectionAlreadyEstablished__remote, (genericfunc_t)&start_ConnectionAlreadyEstablished__remote);
module_object.add_function("ConnectionAlreadyEstablished_connectionId", (genericfunc_t)&ConnectionAlreadyEstablished__connectionId, (genericfunc_t)&start_ConnectionAlreadyEstablished__connectionId);
module_object.add_function("Retrieve_session", (genericfunc_t)&Retrieve__session, (genericfunc_t)&start_Retrieve__session);
module_object.add_function("Retrieve_session_remote", (genericfunc_t)&Retrieve__session__remote, (genericfunc_t)&start_Retrieve__session__remote);
module_object.add_function("Retrieve_session_connectionId", (genericfunc_t)&Retrieve__session__connectionId, (genericfunc_t)&start_Retrieve__session__connectionId);
module_object.add_function("exist_segmLocalRef", (genericfunc_t)&exist__segmLocalRef, (genericfunc_t)&start_exist__segmLocalRef);
module_object.add_function("get_segmLocalRefIndex", (genericfunc_t)&get__segmLocalRefIndex, (genericfunc_t)&start_get__segmLocalRefIndex);
module_object.add_function("reset_segmLocalRef", (genericfunc_t)&reset__segmLocalRef, (genericfunc_t)&start_reset__segmLocalRef);
module_object.add_function("create_segmLocalRef", (genericfunc_t)&create__segmLocalRef, (genericfunc_t)&start_create__segmLocalRef);
module_object.add_function("exist_ClessRcvBuff", (genericfunc_t)&exist__ClessRcvBuff, (genericfunc_t)&start_exist__ClessRcvBuff);
module_object.add_function("get_ClessRcvBuffIndex", (genericfunc_t)&get__ClessRcvBuffIndex, (genericfunc_t)&start_get__ClessRcvBuffIndex);
module_object.add_function("get_idle_ClessRcvBuffIndex", (genericfunc_t)&get__idle__ClessRcvBuffIndex, (genericfunc_t)&start_get__idle__ClessRcvBuffIndex);
module_object.add_function("allocate_ClessRcvBuff", (genericfunc_t)&allocate__ClessRcvBuff, (genericfunc_t)&start_allocate__ClessRcvBuff);
module_object.add_function("reallocate_ClessRcvBuff", (genericfunc_t)&reallocate__ClessRcvBuff, (genericfunc_t)&start_reallocate__ClessRcvBuff);
module_object.add_function("store_segmData", (genericfunc_t)&store__segmData, (genericfunc_t)&start_store__segmData);
module_object.add_function("send_ClessRcvBuff_in_N_UNITDATAind", (genericfunc_t)&send__ClessRcvBuff__in__N__UNITDATAind, (genericfunc_t)&start_send__ClessRcvBuff__in__N__UNITDATAind);
module_object.add_function("send_ClessData_in_N_UNITDATAind", (genericfunc_t)&send__ClessData__in__N__UNITDATAind, (genericfunc_t)&start_send__ClessData__in__N__UNITDATAind);
module_object.add_function("sending_dataform1s_in_ASP_MTP_TRANSFERreqs", (genericfunc_t)&sending__dataform1s__in__ASP__MTP__TRANSFERreqs, (genericfunc_t)&start_sending__dataform1s__in__ASP__MTP__TRANSFERreqs);
module_object.add_function("buffered_sending_ASP_N_DATA_ind", (genericfunc_t)&buffered__sending__ASP__N__DATA__ind, (genericfunc_t)&start_buffered__sending__ASP__N__DATA__ind);
module_object.add_function("ConvertASPAddressToEncodedAddress_itu", (genericfunc_t)&ConvertASPAddressToEncodedAddress__itu, NULL);
module_object.add_function("ConvertASPAddressToEncodedAddress_ansi", (genericfunc_t)&ConvertASPAddressToEncodedAddress__ansi, (genericfunc_t)&start_ConvertASPAddressToEncodedAddress__ansi);
module_object.add_function("ConvertASPAddressToEncodedAddress_ttc", (genericfunc_t)&ConvertASPAddressToEncodedAddress__ttc, (genericfunc_t)&start_ConvertASPAddressToEncodedAddress__ttc);
module_object.add_function("ConvertASPAddressToEncodedAddress_mpt", (genericfunc_t)&ConvertASPAddressToEncodedAddress__mpt, (genericfunc_t)&start_ConvertASPAddressToEncodedAddress__mpt);
module_object.add_function("ConvertPDUEncodedAddressToASPAddress_itu", (genericfunc_t)&ConvertPDUEncodedAddressToASPAddress__itu, NULL);
module_object.add_function("ConvertPDUEncodedAddressToASPAddress_ansi", (genericfunc_t)&ConvertPDUEncodedAddressToASPAddress__ansi, NULL);
module_object.add_function("ConvertPDUEncodedAddressToASPAddress_ttc", (genericfunc_t)&ConvertPDUEncodedAddressToASPAddress__ttc, NULL);
module_object.add_function("ConvertPDUEncodedAddressToASPAddress_mpt", (genericfunc_t)&ConvertPDUEncodedAddressToASPAddress__mpt, NULL);
module_object.add_function("ConvertASPAddressToEncodedAddress", (genericfunc_t)&ConvertASPAddressToEncodedAddress, (genericfunc_t)&start_ConvertASPAddressToEncodedAddress);
module_object.add_function("ConvertPDUEncodedAddressToASPAddress", (genericfunc_t)&ConvertPDUEncodedAddressToASPAddress, (genericfunc_t)&start_ConvertPDUEncodedAddressToASPAddress);
module_object.add_function("processing_PDU_SCCP_Unitdata", (genericfunc_t)&processing__PDU__SCCP__Unitdata, (genericfunc_t)&start_processing__PDU__SCCP__Unitdata);
module_object.add_function("processing_PDU_SCCP_UnitdataService", (genericfunc_t)&processing__PDU__SCCP__UnitdataService, (genericfunc_t)&start_processing__PDU__SCCP__UnitdataService);
module_object.add_function("processing_PDU_SCCP_ConnectionRequest", (genericfunc_t)&processing__PDU__SCCP__ConnectionRequest, (genericfunc_t)&start_processing__PDU__SCCP__ConnectionRequest);
module_object.add_function("processing_PDU_SCCP_ConnectionConfirm", (genericfunc_t)&processing__PDU__SCCP__ConnectionConfirm, (genericfunc_t)&start_processing__PDU__SCCP__ConnectionConfirm);
module_object.add_function("processing_PDU_SCCP_Released", (genericfunc_t)&processing__PDU__SCCP__Released, (genericfunc_t)&start_processing__PDU__SCCP__Released);
module_object.add_function("processing_PDU_SCCP_ProtDataUnitError", (genericfunc_t)&processing__PDU__SCCP__ProtDataUnitError, (genericfunc_t)&start_processing__PDU__SCCP__ProtDataUnitError);
module_object.add_function("processing_PDU_SCCP_ReleaseComplete", (genericfunc_t)&processing__PDU__SCCP__ReleaseComplete, (genericfunc_t)&start_processing__PDU__SCCP__ReleaseComplete);
module_object.add_function("processing_PDU_SCCP_InactivityTest", (genericfunc_t)&processing__PDU__SCCP__InactivityTest, (genericfunc_t)&start_processing__PDU__SCCP__InactivityTest);
module_object.add_function("processing_PDU_SCCP_ResetRequest", (genericfunc_t)&processing__PDU__SCCP__ResetRequest, (genericfunc_t)&start_processing__PDU__SCCP__ResetRequest);
module_object.add_function("processing_PDU_SCCP_ResetConfirm", (genericfunc_t)&processing__PDU__SCCP__ResetConfirm, (genericfunc_t)&start_processing__PDU__SCCP__ResetConfirm);
module_object.add_function("processing_PDU_SCCP_ConnectionRefused", (genericfunc_t)&processing__PDU__SCCP__ConnectionRefused, (genericfunc_t)&start_processing__PDU__SCCP__ConnectionRefused);
module_object.add_function("processing_PDU_SCCP_DataForm1", (genericfunc_t)&processing__PDU__SCCP__DataForm1, (genericfunc_t)&start_processing__PDU__SCCP__DataForm1);
module_object.add_function("processing_PDU_SCCP_ExtUnitdata", (genericfunc_t)&processing__PDU__SCCP__ExtUnitdata, (genericfunc_t)&start_processing__PDU__SCCP__ExtUnitdata);
module_object.add_function("processing_ASP_N_CONNECT_req", (genericfunc_t)&processing__ASP__N__CONNECT__req, (genericfunc_t)&start_processing__ASP__N__CONNECT__req);
module_object.add_function("processing_ASP_N_CONNECT_res", (genericfunc_t)&processing__ASP__N__CONNECT__res, (genericfunc_t)&start_processing__ASP__N__CONNECT__res);
module_object.add_function("processing_ASP_N_DATA_req", (genericfunc_t)&processing__ASP__N__DATA__req, (genericfunc_t)&start_processing__ASP__N__DATA__req);
module_object.add_function("processing_ASP_N_DISCONNECT_req", (genericfunc_t)&processing__ASP__N__DISCONNECT__req, (genericfunc_t)&start_processing__ASP__N__DISCONNECT__req);
module_object.add_function("SCCP_SPC_int2bit", (genericfunc_t)&SCCP__SPC__int2bit, NULL);
module_object.add_function("sending_udt_in_ASP_MTP_TRANSFERreqs", (genericfunc_t)&sending__udt__in__ASP__MTP__TRANSFERreqs, (genericfunc_t)&start_sending__udt__in__ASP__MTP__TRANSFERreqs);
module_object.add_function("sending_xudt_in_ASP_MTP_TRANSFERreqs", (genericfunc_t)&sending__xudt__in__ASP__MTP__TRANSFERreqs, (genericfunc_t)&start_sending__xudt__in__ASP__MTP__TRANSFERreqs);
module_object.add_function("processing_ASP_N_UNITDATA_req", (genericfunc_t)&processing__ASP__N__UNITDATA__req, (genericfunc_t)&start_processing__ASP__N__UNITDATA__req);
module_object.add_function("ScanEvents", (genericfunc_t)&ScanEvents, (genericfunc_t)&start_ScanEvents);
}

void post_init_module()
{
TTCN_Location current_location("SCCP_Emulation.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "SCCP_Emulation");
SCCP__Mapping::module_object.post_init_module();
current_location.update_lineno(820);
/* SCCP_Emulation.ttcn, line 820 */
template_tr__PDU__SCCP__ConnectionRequest.messageType() = SCCP__Types::cr;
template_tr__PDU__SCCP__ConnectionRequest.sourceLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionRequest.protClass() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionRequest.pointer1() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionRequest.pointer2() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionRequest.calledPAddress() = ANY_VALUE;
{
SCCP__Types::SCCP__ConnReq__optionalPart_template& tmp_5 = template_tr__PDU__SCCP__ConnectionRequest.optionalPart();
tmp_5.credit() = ANY_OR_OMIT;
tmp_5.callingPAddress() = ANY_OR_OMIT;
tmp_5.data() = ANY_OR_OMIT;
tmp_5.hopCounter() = ANY_OR_OMIT;
tmp_5.importance() = ANY_OR_OMIT;
}
template_tr__PDU__SCCP__ConnectionRequest.eop() = ANY_OR_OMIT;
current_location.update_lineno(849);
/* SCCP_Emulation.ttcn, line 849 */
template_tr__PDU__SCCP__ConnectionConfirm.messageType() = SCCP__Types::cc;
template_tr__PDU__SCCP__ConnectionConfirm.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionConfirm.sourceLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionConfirm.protClass() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionConfirm.pointer1() = ANY_VALUE;
{
SCCP__Types::SCCP__ConnConfirm__optionalPart_template& tmp_6 = template_tr__PDU__SCCP__ConnectionConfirm.optionalPart();
tmp_6.credit() = ANY_OR_OMIT;
tmp_6.calledPAddress() = ANY_OR_OMIT;
tmp_6.data() = ANY_OR_OMIT;
tmp_6.importance() = ANY_OR_OMIT;
}
template_tr__PDU__SCCP__ConnectionConfirm.eop() = ANY_OR_OMIT;
current_location.update_lineno(873);
/* SCCP_Emulation.ttcn, line 873 */
template_tr__PDU__SCCP__ConnectionRefused.messageType() = SCCP__Types::cref;
template_tr__PDU__SCCP__ConnectionRefused.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionRefused.refusalCause() = ANY_VALUE;
template_tr__PDU__SCCP__ConnectionRefused.pointer1() = ANY_VALUE;
{
SCCP__Types::SCCP__ConnRefused__optionalPart_template& tmp_7 = template_tr__PDU__SCCP__ConnectionRefused.optionalPart();
tmp_7.calledPAddress() = ANY_OR_OMIT;
tmp_7.data() = ANY_OR_OMIT;
tmp_7.importance() = ANY_OR_OMIT;
}
template_tr__PDU__SCCP__ConnectionRefused.eop() = ANY_OR_OMIT;
current_location.update_lineno(895);
/* SCCP_Emulation.ttcn, line 895 */
template_tr__PDU__SCCP__Released.messageType() = SCCP__Types::rlsd;
template_tr__PDU__SCCP__Released.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__Released.sourceLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__Released.releaseCause() = ANY_VALUE;
template_tr__PDU__SCCP__Released.pointer1() = ANY_VALUE;
{
SCCP__Types::SCCP__Released__optionalPart_template& tmp_8 = template_tr__PDU__SCCP__Released.optionalPart();
tmp_8.data() = ANY_OR_OMIT;
tmp_8.importance() = ANY_OR_OMIT;
}
template_tr__PDU__SCCP__Released.eop() = ANY_OR_OMIT;
current_location.update_lineno(918);
/* SCCP_Emulation.ttcn, line 918 */
template_tr__PDU__SCCP__ReleaseComplete.messageType() = SCCP__Types::rlc;
template_tr__PDU__SCCP__ReleaseComplete.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ReleaseComplete.sourceLocRef() = ANY_VALUE;
current_location.update_lineno(933);
/* SCCP_Emulation.ttcn, line 933 */
template_tr__PDU__SCCP__DataForm1.messageType() = SCCP__Types::dt1;
template_tr__PDU__SCCP__DataForm1.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__DataForm1.segmentingReassembl() = ANY_VALUE;
template_tr__PDU__SCCP__DataForm1.pointer1() = ANY_VALUE;
template_tr__PDU__SCCP__DataForm1.data() = ANY_VALUE;
current_location.update_lineno(964);
/* SCCP_Emulation.ttcn, line 964 */
template_tr__PDU__SCCP__Unitdata.messageType() = SCCP__Types::udt;
template_tr__PDU__SCCP__Unitdata.protClass() = ANY_VALUE;
template_tr__PDU__SCCP__Unitdata.pointer1() = ANY_VALUE;
template_tr__PDU__SCCP__Unitdata.pointer2() = ANY_VALUE;
template_tr__PDU__SCCP__Unitdata.pointer3() = ANY_VALUE;
template_tr__PDU__SCCP__Unitdata.calledPAddress() = ANY_VALUE;
template_tr__PDU__SCCP__Unitdata.callingPAddress() = ANY_VALUE;
template_tr__PDU__SCCP__Unitdata.data() = ANY_VALUE;
current_location.update_lineno(983);
/* SCCP_Emulation.ttcn, line 983 */
template_tr__PDU__SCCP__UnitdataService.messageType() = SCCP__Types::udts;
template_tr__PDU__SCCP__UnitdataService.returnCause() = ANY_VALUE;
template_tr__PDU__SCCP__UnitdataService.pointer1() = ANY_VALUE;
template_tr__PDU__SCCP__UnitdataService.pointer2() = ANY_VALUE;
template_tr__PDU__SCCP__UnitdataService.pointer3() = ANY_VALUE;
template_tr__PDU__SCCP__UnitdataService.calledPAddress() = ANY_VALUE;
template_tr__PDU__SCCP__UnitdataService.callingPAddress() = ANY_VALUE;
template_tr__PDU__SCCP__UnitdataService.data() = ANY_VALUE;
current_location.update_lineno(1014);
/* SCCP_Emulation.ttcn, line 1014 */
template_tr__PDU__SCCP__ResetRequest.messageType() = SCCP__Types::rsr;
template_tr__PDU__SCCP__ResetRequest.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ResetRequest.sourceLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ResetRequest.resetCause() = ANY_VALUE;
current_location.update_lineno(1026);
/* SCCP_Emulation.ttcn, line 1026 */
template_tr__PDU__SCCP__ResetConfirm.messageType() = SCCP__Types::rsr;
template_tr__PDU__SCCP__ResetConfirm.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ResetConfirm.sourceLocRef() = ANY_VALUE;
current_location.update_lineno(1037);
/* SCCP_Emulation.ttcn, line 1037 */
template_tr__PDU__SCCP__ProtDataUnitError.messageType() = SCCP__Types::rsr;
template_tr__PDU__SCCP__ProtDataUnitError.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__ProtDataUnitError.errorCause() = ANY_VALUE;
current_location.update_lineno(1048);
/* SCCP_Emulation.ttcn, line 1048 */
template_tr__PDU__SCCP__InactivityTest.messageType() = SCCP__Types::it;
template_tr__PDU__SCCP__InactivityTest.destLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__InactivityTest.sourceLocRef() = ANY_VALUE;
template_tr__PDU__SCCP__InactivityTest.protClass() = ANY_VALUE;
template_tr__PDU__SCCP__InactivityTest.sequencingSegmenting() = ANY_VALUE;
template_tr__PDU__SCCP__InactivityTest.credit() = ANY_VALUE;
current_location.update_lineno(1063);
/* SCCP_Emulation.ttcn, line 1063 */
template_tr__PDU__SCCP__ExtUnitdata.messageType() = SCCP__Types::xudt;
template_tr__PDU__SCCP__ExtUnitdata.protClass() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.hopCounter() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.pointer1() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.pointer2() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.pointer3() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.pointer4() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.calledPAddress() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.callingPAddress() = ANY_VALUE;
template_tr__PDU__SCCP__ExtUnitdata.data() = ANY_VALUE;
{
SCCP__Types::SCCP__ExtUnitdata__optionalPart_template& tmp_9 = template_tr__PDU__SCCP__ExtUnitdata.optionalPart();
tmp_9.segmentation() = ANY_OR_OMIT;
tmp_9.importance() = ANY_OR_OMIT;
}
template_tr__PDU__SCCP__ExtUnitdata.eop() = ANY_OR_OMIT;
current_location.update_lineno(1205);
/* SCCP_Emulation.ttcn, line 1205 */
const_f__StartTimer_pl__duration_defval = -1.0;
}

boolean set_module_param(Module_Param& param)
{
const char* const par_name = param.get_id()->get_current_name();
if (!strcmp(par_name, "tsp_maxLocalReference")) {
modulepar_tsp__maxLocalReference.set_param(param);
return TRUE;
} else if (!strcmp(par_name, "tsp_max_ConnectionId")) {
modulepar_tsp__max__ConnectionId.set_param(param);
return TRUE;
} else if (!strcmp(par_name, "tsp_force_xudt")) {
modulepar_tsp__force__xudt.set_param(param);
return TRUE;
} else if (!strcmp(par_name, "tsp_SIF_MaxLength")) {
modulepar_tsp__SIF__MaxLength.set_param(param);
return TRUE;
} else if (!strcmp(par_name, "tsp_override_called_address")) {
modulepar_tsp__override__called__address.set_param(param);
return TRUE;
} else return FALSE;
}

void log_module_param()
{
TTCN_Logger::log_event_str("tsp_maxLocalReference := ");
tsp__maxLocalReference.log();
TTCN_Logger::log_event_str(", tsp_max_ConnectionId := ");
tsp__max__ConnectionId.log();
TTCN_Logger::log_event_str(", tsp_force_xudt := ");
tsp__force__xudt.log();
TTCN_Logger::log_event_str(", tsp_SIF_MaxLength := ");
tsp__SIF__MaxLength.log();
TTCN_Logger::log_event_str(", tsp_override_called_address := ");
tsp__override__called__address.log();
}

boolean init_comp_type(const char *component_type, boolean init_base_comps)
{
(void)init_base_comps;
if (!strcmp(component_type, "SCCP_CT")) {
SCCP__CT_component_ConnectionTable.clean_up();
SCCP__CT_component_v__session.clean_up();
SCCP__CT_component_segmLocRefTable.clean_up();
SCCP__CT_component_v__segmLocRefIndex.clean_up();
SCCP__CT_component_ClessRcvBuffTable.clean_up();
SCCP__CT_component_v__reference.clean_up();
SCCP__CT_component_v__own__GT.clean_up();
SCCP__CT_component_v__remote__GT.clean_up();
SCCP__CT_component_v__SSN.clean_up();
SCCP__CT_component_v__SIO.clean_up();
SCCP__CT_component_v__NI.clean_up();
SCCP__CT_component_v__own__SPC.clean_up();
SCCP__CT_component_v__remote__SPC.clean_up();
SCCP__CT_component_v__SLS.clean_up();
SCCP__CT_component_v__SCCPServiceType.clean_up();
SCCP__CT_component_v__PC__length.clean_up();
SCCP__CT_component_v__RoutingLabelLen.clean_up();
SCCP__CT_component_v__sccp__data__maxlen.clean_up();
SCCP__CT_component_v__sccp__pdu__maxlen.clean_up();
SCCP__CT_component_v__T__conn__est.clean_up();
SCCP__CT_component_v__T__ias.clean_up();
SCCP__CT_component_v__T__iar.clean_up();
SCCP__CT_component_v__T__rel.clean_up();
SCCP__CT_component_v__T__repeat__rel.clean_up();
SCCP__CT_component_v__T__int.clean_up();
SCCP__CT_component_v__T__reset.clean_up();
SCCP__CT_component_v__T__internal__reset.clean_up();
SCCP__CT_component_v__T__guard.clean_up();
SCCP__CT_component_SCCP__SP__PORT.activate_port();
SCCP__CT_component_MTP3__SCCP__PORT.activate_port();
return TRUE;
} else return FALSE;
}

boolean init_system_port(const char* component_type, const char* port_name)
{
if (!strcmp(component_type, "SCCP_CT")) {
if (!strcmp(port_name, "MTP3_SCCP_PORT")) {
SCCP__CT_component_MTP3__SCCP__PORT.safe_start();
return TRUE;
}
if (!strcmp(port_name, "SCCP_SP_PORT")) {
SCCP__CT_component_SCCP__SP__PORT.safe_start();
return TRUE;
}
}
return FALSE;
}

boolean start_ptc_function(const char *function_name, Text_Buf& function_arguments)
{
if (!strcmp(function_name, "f_StartTimer")) {
TimerIdentifierType pl__TimerIdentifier;
INTEGER pl__TimerIndex;
FLOAT pl__duration;
pl__TimerIdentifier.decode_text(function_arguments);
pl__TimerIndex.decode_text(function_arguments);
pl__duration.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function f_StartTimer(");
pl__TimerIdentifier.log();
TTCN_Logger::log_event_str(", ");
pl__TimerIndex.log();
TTCN_Logger::log_event_str(", ");
pl__duration.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
f__StartTimer(pl__TimerIdentifier, pl__TimerIndex, pl__duration);
TTCN_Runtime::function_finished("f_StartTimer");
return TRUE;
} else if (!strcmp(function_name, "f_StopTimer")) {
TimerIdentifierType pl__TimerIdentifier;
INTEGER pl__TimerIndex;
pl__TimerIdentifier.decode_text(function_arguments);
pl__TimerIndex.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function f_StopTimer(");
pl__TimerIdentifier.log();
TTCN_Logger::log_event_str(", ");
pl__TimerIndex.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
f__StopTimer(pl__TimerIdentifier, pl__TimerIndex);
TTCN_Runtime::function_finished("f_StopTimer");
return TRUE;
} else if (!strcmp(function_name, "f_initialize_timer_states")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function f_initialize_timer_states().");
TTCN_Runtime::function_started(function_arguments);
f__initialize__timer__states();
TTCN_Runtime::function_finished("f_initialize_timer_states");
return TRUE;
} else if (!strcmp(function_name, "SCCPStart")) {
SCCP__Types::MSC__SCCP__MTP3__parameters pl__Boot;
pl__Boot.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function SCCPStart(");
pl__Boot.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
SCCPStart(pl__Boot);
TTCN_Runtime::function_finished("SCCPStart");
return TRUE;
} else if (!strcmp(function_name, "ReleaseResources")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ReleaseResources(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ReleaseResources(pl__session);
TTCN_Runtime::function_finished("ReleaseResources");
return TRUE;
} else if (!strcmp(function_name, "GuardTimer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function GuardTimer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
GuardTimer__Expired(pl__session);
TTCN_Runtime::function_finished("GuardTimer_Expired");
return TRUE;
} else if (!strcmp(function_name, "InternalResetTimer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function InternalResetTimer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
InternalResetTimer__Expired(pl__session);
TTCN_Runtime::function_finished("InternalResetTimer_Expired");
return TRUE;
} else if (!strcmp(function_name, "Reset_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Reset_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Reset__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("Reset_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "Interval_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Interval_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Interval__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("Interval_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "RepeatRelease_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function RepeatRelease_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
RepeatRelease__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("RepeatRelease_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "Release_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Release_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Release__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("Release_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "ReceiveInactivity_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ReceiveInactivity_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ReceiveInactivity__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("ReceiveInactivity_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "SendInactivity_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function SendInactivity_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
SendInactivity__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("SendInactivity_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "Conn_Timer_Expired")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Conn_Timer_Expired(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Conn__Timer__Expired(pl__session);
TTCN_Runtime::function_finished("Conn_Timer_Expired");
return TRUE;
} else if (!strcmp(function_name, "GenerateLocalReference")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function GenerateLocalReference().");
TTCN_Runtime::function_started(function_arguments);
GenerateLocalReference();
TTCN_Runtime::function_finished("GenerateLocalReference");
return TRUE;
} else if (!strcmp(function_name, "GenerateConnectionId")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function GenerateConnectionId().");
TTCN_Runtime::function_started(function_arguments);
GenerateConnectionId();
TTCN_Runtime::function_finished("GenerateConnectionId");
return TRUE;
} else if (!strcmp(function_name, "Stop_sessionTimers")) {
INTEGER pl__session;
pl__session.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Stop_sessionTimers(");
pl__session.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Stop__sessionTimers(pl__session);
TTCN_Runtime::function_finished("Stop_sessionTimers");
return TRUE;
} else if (!strcmp(function_name, "CheckIdleIndividuals")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function CheckIdleIndividuals().");
TTCN_Runtime::function_started(function_arguments);
CheckIdleIndividuals();
TTCN_Runtime::function_finished("CheckIdleIndividuals");
return TRUE;
} else if (!strcmp(function_name, "ConnectionAlreadyEstablished")) {
OCTETSTRING pl__LocRef;
pl__LocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConnectionAlreadyEstablished(");
pl__LocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConnectionAlreadyEstablished(pl__LocRef);
TTCN_Runtime::function_finished("ConnectionAlreadyEstablished");
return TRUE;
} else if (!strcmp(function_name, "ConnectionAlreadyEstablished_remote")) {
OCTETSTRING pl__LocRef;
pl__LocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConnectionAlreadyEstablished_remote(");
pl__LocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConnectionAlreadyEstablished__remote(pl__LocRef);
TTCN_Runtime::function_finished("ConnectionAlreadyEstablished_remote");
return TRUE;
} else if (!strcmp(function_name, "ConnectionAlreadyEstablished_connectionId")) {
INTEGER pl__ConnId;
pl__ConnId.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConnectionAlreadyEstablished_connectionId(");
pl__ConnId.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConnectionAlreadyEstablished__connectionId(pl__ConnId);
TTCN_Runtime::function_finished("ConnectionAlreadyEstablished_connectionId");
return TRUE;
} else if (!strcmp(function_name, "Retrieve_session")) {
OCTETSTRING pl__LocRef;
pl__LocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Retrieve_session(");
pl__LocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Retrieve__session(pl__LocRef);
TTCN_Runtime::function_finished("Retrieve_session");
return TRUE;
} else if (!strcmp(function_name, "Retrieve_session_remote")) {
OCTETSTRING pl__LocRef;
pl__LocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Retrieve_session_remote(");
pl__LocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Retrieve__session__remote(pl__LocRef);
TTCN_Runtime::function_finished("Retrieve_session_remote");
return TRUE;
} else if (!strcmp(function_name, "Retrieve_session_connectionId")) {
INTEGER pl__ConnId;
pl__ConnId.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function Retrieve_session_connectionId(");
pl__ConnId.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
Retrieve__session__connectionId(pl__ConnId);
TTCN_Runtime::function_finished("Retrieve_session_connectionId");
return TRUE;
} else if (!strcmp(function_name, "exist_segmLocalRef")) {
OCTETSTRING pl__segLocRef;
pl__segLocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function exist_segmLocalRef(");
pl__segLocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
exist__segmLocalRef(pl__segLocRef);
TTCN_Runtime::function_finished("exist_segmLocalRef");
return TRUE;
} else if (!strcmp(function_name, "get_segmLocalRefIndex")) {
OCTETSTRING pl__segmLocRef;
pl__segmLocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function get_segmLocalRefIndex(");
pl__segmLocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
get__segmLocalRefIndex(pl__segmLocRef);
TTCN_Runtime::function_finished("get_segmLocalRefIndex");
return TRUE;
} else if (!strcmp(function_name, "reset_segmLocalRef")) {
OCTETSTRING pl__segmLocRef;
pl__segmLocRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function reset_segmLocalRef(");
pl__segmLocRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
reset__segmLocalRef(pl__segmLocRef);
TTCN_Runtime::function_finished("reset_segmLocalRef");
return TRUE;
} else if (!strcmp(function_name, "create_segmLocalRef")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function create_segmLocalRef().");
TTCN_Runtime::function_started(function_arguments);
create__segmLocalRef();
TTCN_Runtime::function_finished("create_segmLocalRef");
return TRUE;
} else if (!strcmp(function_name, "exist_ClessRcvBuff")) {
OCTETSTRING pl__segmRemRef;
pl__segmRemRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function exist_ClessRcvBuff(");
pl__segmRemRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
exist__ClessRcvBuff(pl__segmRemRef);
TTCN_Runtime::function_finished("exist_ClessRcvBuff");
return TRUE;
} else if (!strcmp(function_name, "get_ClessRcvBuffIndex")) {
OCTETSTRING pl__segmRemRef;
pl__segmRemRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function get_ClessRcvBuffIndex(");
pl__segmRemRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
get__ClessRcvBuffIndex(pl__segmRemRef);
TTCN_Runtime::function_finished("get_ClessRcvBuffIndex");
return TRUE;
} else if (!strcmp(function_name, "get_idle_ClessRcvBuffIndex")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function get_idle_ClessRcvBuffIndex().");
TTCN_Runtime::function_started(function_arguments);
get__idle__ClessRcvBuffIndex();
TTCN_Runtime::function_finished("get_idle_ClessRcvBuffIndex");
return TRUE;
} else if (!strcmp(function_name, "allocate_ClessRcvBuff")) {
OCTETSTRING pl__segmRemRef;
pl__segmRemRef.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function allocate_ClessRcvBuff(");
pl__segmRemRef.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
allocate__ClessRcvBuff(pl__segmRemRef);
TTCN_Runtime::function_finished("allocate_ClessRcvBuff");
return TRUE;
} else if (!strcmp(function_name, "reallocate_ClessRcvBuff")) {
INTEGER pl__index;
pl__index.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function reallocate_ClessRcvBuff(");
pl__index.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
reallocate__ClessRcvBuff(pl__index);
TTCN_Runtime::function_finished("reallocate_ClessRcvBuff");
return TRUE;
} else if (!strcmp(function_name, "store_segmData")) {
INTEGER pl__index;
SCCP__Types::PDU__SCCP__ExtUnitdata pl__PDU__SCCP__ExtUnitdata;
pl__index.decode_text(function_arguments);
pl__PDU__SCCP__ExtUnitdata.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function store_segmData(");
pl__index.log();
TTCN_Logger::log_event_str(", ");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
store__segmData(pl__index, pl__PDU__SCCP__ExtUnitdata);
TTCN_Runtime::function_finished("store_segmData");
return TRUE;
} else if (!strcmp(function_name, "send_ClessRcvBuff_in_N_UNITDATAind")) {
INTEGER pl__index;
SCCP__Types::PDU__SCCP__ExtUnitdata pl__PDU__SCCP__ExtUnitdata;
pl__index.decode_text(function_arguments);
pl__PDU__SCCP__ExtUnitdata.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function send_ClessRcvBuff_in_N_UNITDATAind(");
pl__index.log();
TTCN_Logger::log_event_str(", ");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
send__ClessRcvBuff__in__N__UNITDATAind(pl__index, pl__PDU__SCCP__ExtUnitdata);
TTCN_Runtime::function_finished("send_ClessRcvBuff_in_N_UNITDATAind");
return TRUE;
} else if (!strcmp(function_name, "send_ClessData_in_N_UNITDATAind")) {
SCCP__Types::PDU__SCCP__ExtUnitdata pl__PDU__SCCP__ExtUnitdata;
pl__PDU__SCCP__ExtUnitdata.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function send_ClessData_in_N_UNITDATAind(");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
send__ClessData__in__N__UNITDATAind(pl__PDU__SCCP__ExtUnitdata);
TTCN_Runtime::function_finished("send_ClessData_in_N_UNITDATAind");
return TRUE;
} else if (!strcmp(function_name, "sending_dataform1s_in_ASP_MTP_TRANSFERreqs")) {
SCCPasp__Types::ASP__SCCP__N__DATA__req pl__N__DATA__req;
pl__N__DATA__req.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function sending_dataform1s_in_ASP_MTP_TRANSFERreqs(");
pl__N__DATA__req.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
sending__dataform1s__in__ASP__MTP__TRANSFERreqs(pl__N__DATA__req);
TTCN_Runtime::function_finished("sending_dataform1s_in_ASP_MTP_TRANSFERreqs");
return TRUE;
} else if (!strcmp(function_name, "buffered_sending_ASP_N_DATA_ind")) {
SCCP__Types::PDU__SCCP__DataForm1 pl__PDU__SCCP__DataForm1;
pl__PDU__SCCP__DataForm1.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function buffered_sending_ASP_N_DATA_ind(");
pl__PDU__SCCP__DataForm1.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
buffered__sending__ASP__N__DATA__ind(pl__PDU__SCCP__DataForm1);
TTCN_Runtime::function_finished("buffered_sending_ASP_N_DATA_ind");
return TRUE;
} else if (!strcmp(function_name, "ConvertASPAddressToEncodedAddress_ansi")) {
SCCPasp__Types::SCCP__PAR__Address pl__ASPAddress;
pl__ASPAddress.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress_ansi(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConvertASPAddressToEncodedAddress__ansi(pl__ASPAddress);
TTCN_Runtime::function_finished("ConvertASPAddressToEncodedAddress_ansi");
return TRUE;
} else if (!strcmp(function_name, "ConvertASPAddressToEncodedAddress_ttc")) {
SCCPasp__Types::SCCP__PAR__Address pl__ASPAddress;
pl__ASPAddress.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress_ttc(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConvertASPAddressToEncodedAddress__ttc(pl__ASPAddress);
TTCN_Runtime::function_finished("ConvertASPAddressToEncodedAddress_ttc");
return TRUE;
} else if (!strcmp(function_name, "ConvertASPAddressToEncodedAddress_mpt")) {
SCCPasp__Types::SCCP__PAR__Address pl__ASPAddress;
pl__ASPAddress.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress_mpt(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConvertASPAddressToEncodedAddress__mpt(pl__ASPAddress);
TTCN_Runtime::function_finished("ConvertASPAddressToEncodedAddress_mpt");
return TRUE;
} else if (!strcmp(function_name, "ConvertASPAddressToEncodedAddress")) {
SCCPasp__Types::SCCP__PAR__Address pl__ASPAddress;
pl__ASPAddress.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertASPAddressToEncodedAddress(");
pl__ASPAddress.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConvertASPAddressToEncodedAddress(pl__ASPAddress);
TTCN_Runtime::function_finished("ConvertASPAddressToEncodedAddress");
return TRUE;
} else if (!strcmp(function_name, "ConvertPDUEncodedAddressToASPAddress")) {
SCCP__Types::SCCP__param__CPartyAddressEnc pl__PDUAddress;
pl__PDUAddress.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function ConvertPDUEncodedAddressToASPAddress(");
pl__PDUAddress.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
ConvertPDUEncodedAddressToASPAddress(pl__PDUAddress);
TTCN_Runtime::function_finished("ConvertPDUEncodedAddressToASPAddress");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_Unitdata")) {
SCCP__Types::PDU__SCCP__Unitdata pl__PDU__SCCP__Unitdata;
pl__PDU__SCCP__Unitdata.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_Unitdata(");
pl__PDU__SCCP__Unitdata.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__Unitdata(pl__PDU__SCCP__Unitdata);
TTCN_Runtime::function_finished("processing_PDU_SCCP_Unitdata");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_UnitdataService")) {
SCCP__Types::PDU__SCCP__UnitdataService pl__PDU__SCCP__UnitdataService;
pl__PDU__SCCP__UnitdataService.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_UnitdataService(");
pl__PDU__SCCP__UnitdataService.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__UnitdataService(pl__PDU__SCCP__UnitdataService);
TTCN_Runtime::function_finished("processing_PDU_SCCP_UnitdataService");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ConnectionRequest")) {
SCCP__Types::PDU__SCCP__ConnectionRequest pl__PDU__SCCP__ConnectionRequest;
pl__PDU__SCCP__ConnectionRequest.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ConnectionRequest(");
pl__PDU__SCCP__ConnectionRequest.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ConnectionRequest(pl__PDU__SCCP__ConnectionRequest);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ConnectionRequest");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ConnectionConfirm")) {
SCCP__Types::PDU__SCCP__ConnectionConfirm pl__PDU__SCCP__ConnectionConfirm;
pl__PDU__SCCP__ConnectionConfirm.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ConnectionConfirm(");
pl__PDU__SCCP__ConnectionConfirm.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ConnectionConfirm(pl__PDU__SCCP__ConnectionConfirm);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ConnectionConfirm");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_Released")) {
SCCP__Types::PDU__SCCP__Released pl__PDU__SCCP__Released;
pl__PDU__SCCP__Released.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_Released(");
pl__PDU__SCCP__Released.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__Released(pl__PDU__SCCP__Released);
TTCN_Runtime::function_finished("processing_PDU_SCCP_Released");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ProtDataUnitError")) {
SCCP__Types::PDU__SCCP__ProtDataUnitError pl__PDU__SCCP__ProtDataUnitError;
pl__PDU__SCCP__ProtDataUnitError.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ProtDataUnitError(");
pl__PDU__SCCP__ProtDataUnitError.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ProtDataUnitError(pl__PDU__SCCP__ProtDataUnitError);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ProtDataUnitError");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ReleaseComplete")) {
SCCP__Types::PDU__SCCP__ReleaseComplete pl__PDU__SCCP__ReleaseComplete;
pl__PDU__SCCP__ReleaseComplete.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ReleaseComplete(");
pl__PDU__SCCP__ReleaseComplete.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ReleaseComplete(pl__PDU__SCCP__ReleaseComplete);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ReleaseComplete");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_InactivityTest")) {
SCCP__Types::PDU__SCCP__InactivityTest pl__PDU__SCCP__InactivityTest;
pl__PDU__SCCP__InactivityTest.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_InactivityTest(");
pl__PDU__SCCP__InactivityTest.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__InactivityTest(pl__PDU__SCCP__InactivityTest);
TTCN_Runtime::function_finished("processing_PDU_SCCP_InactivityTest");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ResetRequest")) {
SCCP__Types::PDU__SCCP__ResetRequest pl__PDU__SCCP__ResetRequest;
pl__PDU__SCCP__ResetRequest.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ResetRequest(");
pl__PDU__SCCP__ResetRequest.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ResetRequest(pl__PDU__SCCP__ResetRequest);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ResetRequest");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ResetConfirm")) {
SCCP__Types::PDU__SCCP__ResetConfirm pl__PDU__SCCP__ResetConfirm;
pl__PDU__SCCP__ResetConfirm.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ResetConfirm(");
pl__PDU__SCCP__ResetConfirm.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ResetConfirm(pl__PDU__SCCP__ResetConfirm);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ResetConfirm");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ConnectionRefused")) {
SCCP__Types::PDU__SCCP__ConnectionRefused pl__PDU__SCCP__ConnectionRefused;
pl__PDU__SCCP__ConnectionRefused.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ConnectionRefused(");
pl__PDU__SCCP__ConnectionRefused.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ConnectionRefused(pl__PDU__SCCP__ConnectionRefused);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ConnectionRefused");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_DataForm1")) {
SCCP__Types::PDU__SCCP__DataForm1 pl__PDU__SCCP__DataForm1;
pl__PDU__SCCP__DataForm1.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_DataForm1(");
pl__PDU__SCCP__DataForm1.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__DataForm1(pl__PDU__SCCP__DataForm1);
TTCN_Runtime::function_finished("processing_PDU_SCCP_DataForm1");
return TRUE;
} else if (!strcmp(function_name, "processing_PDU_SCCP_ExtUnitdata")) {
SCCP__Types::PDU__SCCP__ExtUnitdata pl__PDU__SCCP__ExtUnitdata;
pl__PDU__SCCP__ExtUnitdata.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_PDU_SCCP_ExtUnitdata(");
pl__PDU__SCCP__ExtUnitdata.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__PDU__SCCP__ExtUnitdata(pl__PDU__SCCP__ExtUnitdata);
TTCN_Runtime::function_finished("processing_PDU_SCCP_ExtUnitdata");
return TRUE;
} else if (!strcmp(function_name, "processing_ASP_N_CONNECT_req")) {
SCCPasp__Types::ASP__SCCP__N__CONNECT__req pl__N__CONNECT__req;
pl__N__CONNECT__req.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_CONNECT_req(");
pl__N__CONNECT__req.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__ASP__N__CONNECT__req(pl__N__CONNECT__req);
TTCN_Runtime::function_finished("processing_ASP_N_CONNECT_req");
return TRUE;
} else if (!strcmp(function_name, "processing_ASP_N_CONNECT_res")) {
SCCPasp__Types::ASP__SCCP__N__CONNECT__res pl__N__CONNECT__res;
pl__N__CONNECT__res.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_CONNECT_res(");
pl__N__CONNECT__res.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__ASP__N__CONNECT__res(pl__N__CONNECT__res);
TTCN_Runtime::function_finished("processing_ASP_N_CONNECT_res");
return TRUE;
} else if (!strcmp(function_name, "processing_ASP_N_DATA_req")) {
SCCPasp__Types::ASP__SCCP__N__DATA__req pl__N__DATA__req;
pl__N__DATA__req.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_DATA_req(");
pl__N__DATA__req.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__ASP__N__DATA__req(pl__N__DATA__req);
TTCN_Runtime::function_finished("processing_ASP_N_DATA_req");
return TRUE;
} else if (!strcmp(function_name, "processing_ASP_N_DISCONNECT_req")) {
SCCPasp__Types::ASP__SCCP__N__DISCONNECT__req pl__N__DISCONNECT__req;
pl__N__DISCONNECT__req.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_DISCONNECT_req(");
pl__N__DISCONNECT__req.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__ASP__N__DISCONNECT__req(pl__N__DISCONNECT__req);
TTCN_Runtime::function_finished("processing_ASP_N_DISCONNECT_req");
return TRUE;
} else if (!strcmp(function_name, "sending_udt_in_ASP_MTP_TRANSFERreqs")) {
SCCP__Types::SCCP__param__ProtocolClass pl__protClass;
SCCP__Types::SCCP__param__CPartyAddressEnc pl__CalledPAddress;
SCCP__Types::SCCP__param__CPartyAddressEnc pl__CallingPAddress;
SCCP__Types::SCCP__param__Data pl__data;
pl__protClass.decode_text(function_arguments);
pl__CalledPAddress.decode_text(function_arguments);
pl__CallingPAddress.decode_text(function_arguments);
pl__data.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function sending_udt_in_ASP_MTP_TRANSFERreqs(");
pl__protClass.log();
TTCN_Logger::log_event_str(", ");
pl__CalledPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__CallingPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__data.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
sending__udt__in__ASP__MTP__TRANSFERreqs(pl__protClass, pl__CalledPAddress, pl__CallingPAddress, pl__data);
TTCN_Runtime::function_finished("sending_udt_in_ASP_MTP_TRANSFERreqs");
return TRUE;
} else if (!strcmp(function_name, "sending_xudt_in_ASP_MTP_TRANSFERreqs")) {
SCCP__Types::SCCP__param__ProtocolClass pl__protClass;
SCCP__Types::SCCP__param__CPartyAddressEnc pl__CalledPAddress;
SCCP__Types::SCCP__param__CPartyAddressEnc pl__CallingPAddress;
SCCP__Types::SCCP__param__Data pl__data;
pl__protClass.decode_text(function_arguments);
pl__CalledPAddress.decode_text(function_arguments);
pl__CallingPAddress.decode_text(function_arguments);
pl__data.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function sending_xudt_in_ASP_MTP_TRANSFERreqs(");
pl__protClass.log();
TTCN_Logger::log_event_str(", ");
pl__CalledPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__CallingPAddress.log();
TTCN_Logger::log_event_str(", ");
pl__data.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
sending__xudt__in__ASP__MTP__TRANSFERreqs(pl__protClass, pl__CalledPAddress, pl__CallingPAddress, pl__data);
TTCN_Runtime::function_finished("sending_xudt_in_ASP_MTP_TRANSFERreqs");
return TRUE;
} else if (!strcmp(function_name, "processing_ASP_N_UNITDATA_req")) {
SCCPasp__Types::ASP__SCCP__N__UNITDATA__req pl__N__UNITDATA__req;
pl__N__UNITDATA__req.decode_text(function_arguments);
TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);
TTCN_Logger::log_event_str("Starting function processing_ASP_N_UNITDATA_req(");
pl__N__UNITDATA__req.log();
TTCN_Logger::log_event_str(").");
TTCN_Logger::end_event();
TTCN_Runtime::function_started(function_arguments);
processing__ASP__N__UNITDATA__req(pl__N__UNITDATA__req);
TTCN_Runtime::function_finished("processing_ASP_N_UNITDATA_req");
return TRUE;
} else if (!strcmp(function_name, "ScanEvents")) {
TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function ScanEvents().");
TTCN_Runtime::function_started(function_arguments);
ScanEvents();
TTCN_Runtime::function_finished("ScanEvents");
return TRUE;
} else return FALSE;
}


} /* end of namespace */
