diff --git a/M3UA_CNL113536/M3UA_CNL113536.tpd b/M3UA_CNL113536/M3UA_CNL113536.tpd
deleted file mode 100644
index c67290231..000000000
--- a/M3UA_CNL113536/M3UA_CNL113536.tpd
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- M3UA_CNL113536
-
-
-
-
-
-
-
-
-
- Default
-
-
-
-
- true
- true
- true
- bin/M3UA_CNL113536
-
-
- bin
-
-
-
-
-
diff --git a/M3UA_CNL113536/doc/documentation_note.txt b/M3UA_CNL113536/doc/documentation_note.txt
deleted file mode 100644
index eb68bfba8..000000000
--- a/M3UA_CNL113536/doc/documentation_note.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Please note that the storage of the documentation of the product has been
-moved to the eridoc.ericsson.se from the ClearCase.
-
-You can access the documentation of the product via the following links:
-
-The documentation belongs to the R2A revision of the product
-can be found here:
-http://document.internal.ericsson.com/Download?DocNo=1095-CNL113536&Rev=C&Lang=EN&PRev=Y
-
-The documentation belongs to the latest revision of the product
-can be found here:
-http://document.internal.ericsson.com/Download?DocNo=1095-CNL113536&Rev=HIGHEST&Lang=EN&Status=FREE&PRev=Y
-
diff --git a/M3UA_CNL113536/src/M3UA_Types.ttcn b/M3UA_CNL113536/src/M3UA_Types.ttcn
deleted file mode 100644
index d79d8327a..000000000
--- a/M3UA_CNL113536/src/M3UA_Types.ttcn
+++ /dev/null
@@ -1,805 +0,0 @@
-/******************************************************************************
-* Copyright (c) 2004, 2015 Ericsson AB
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* Ferenc Kovacs
-* Gabor Bettesch
-* Gabor Szalai
-******************************************************************************/
-//
-// File: M3UA_Types.ttcn
-// Rev: R2A
-// Prodnr: CNL 113 536
-// Reference:
-
-module M3UA_Types {
-
-import from General_Types all;
-
-external function enc_PDU_M3UA(in PDU_M3UA pdu) return octetstring
-with { extension "prototype(convert)"
- extension "encode(RAW)"
- }
-
-external function dec_PDU_M3UA(in octetstring stream) return PDU_M3UA
-with { extension "prototype(convert)"
- extension "decode(RAW)"
- }
-
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-// M3UA PARAMETERS
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type octetstring M3UA_OCT0_255 length (0..255);
-
-type record M3UA_Point_Code
-{
- OCT1 mask,
- OCT3 affected_Point_Code
-}
-
-type record of M3UA_Point_Code M3UA_Point_Codes;
-
-type record M3UA_Error_Code
-{
- OCT2 tag,
- integer lengthInd,
- OCT4 errorCode
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,errorCode)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_Routing_Context
-{
- OCT2 tag,
- integer lengthInd,
- octetstring routingContext
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,routingContext)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- variant "PADDING(dword32)";
- }
-
-type record M3UA_Affected_Point_Codes
-{
- OCT2 tag,
- integer lengthInd,
- M3UA_Point_Codes pointCodes
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,pointCodes)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_Network_Appearance
-{
- OCT2 tag,
- integer lengthInd,
- OCT4 networkAppearance
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,networkAppearance)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_Diagnostic_information
-{
- OCT2 tag,
- integer lengthInd,
- octetstring diagnosticInformation
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,diagnosticInformation)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- variant "PADDING(dword32)";
- }
-
-type record M3UA_Correlation_ID
-{
- OCT2 tag,
- integer lengthInd,
- OCT4 correlationID
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,correlationID)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_Protocol_Data
-{
- OCT2 tag,
- integer lengthInd,
- OCT4 oPC,
- OCT4 dPC,
- OCT1 sI,
- OCT1 nI,
- OCT1 mP,
- OCT1 sLS,
- octetstring userProtocolData
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,oPC,dPC,sI,nI,mP,sLS,
- userProtocolData)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- variant "PADDING(dword32)";
- }
-
-type record M3UA_Info_String
-{
- OCT2 tag,
- integer lengthInd,
- M3UA_OCT0_255 infoString
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,infoString)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- variant "PADDING(dword32)";
- }
-
-type record M3UA_Concerned_Destination
-{
- OCT2 tag,
- integer lengthInd,
- OCT1 reserved,
- OCT3 concernedDestination
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,reserved,
- concernedDestination)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_Congestion_Indicators
-{
- OCT2 tag,
- integer lengthInd,
- OCT1 reserved,
- OCT3 congestionLevel
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,reserved,congestionLevel)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_User_Cause
-{
- OCT2 tag,
- integer lengthInd,
- OCT2 cause,
- OCT2 user
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,cause,user)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_ASP_Identifier
-{
- OCT2 tag,
- integer lengthInd,
- OCT4 aSPIdentifier
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,aSPIdentifier)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-type record M3UA_Heartbeat_Data
-{
- OCT2 tag,
- integer lengthInd,
- octetstring heartbeat_Data
-} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,heartbeat_Data)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- variant "PADDING(dword32)";
- }
-
-type record M3UA_Traffic_Mode_Type
-{
- OCT2 tag,
- integer lengthInd,
- OCT4 trafficModeType
-} with { variant (lengthInd) "LENGTHTO (tag,lengthInd,trafficModeType)";
- variant (lengthInd) "FIELDLENGTH(16)";
- variant (lengthInd) "BYTEORDER(last)";
- }
-
-
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-//PDUs
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-
-// M3UA_ERR PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ERR
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ERR_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ERR_MessageParameters
-{
- M3UA_Error_Code error_Code,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Affected_Point_Codes affected_Point_Codes optional,
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Diagnostic_information diagnostic_information optional
-} with { variant "TAG(error_Code, tag = '000C'O;
- routing_Context, tag = '0006'O;
- affected_Point_Codes, tag = '0012'O;
- network_Appearance, tag = '0200'O;
- diagnostic_information, tag = '0007'O; )"
- }
-
-
-// M3UA_NOTIFY
-// NOTE1 : NOTIFY should not come and will be dropped if it comes
-// NOTE2 : messageParameters is simpified implementation as octetstring
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_NOTIFY
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- octetstring messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-
-// M3UA_DATA PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DATA
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_DATA_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_DATA_MessageParameters
-{
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Protocol_Data protocol_Data,
- M3UA_Correlation_ID correlation_ID optional
-} with { variant "TAG(network_Appearance, tag = '0200'O;
- routing_Context, tag = '0006'O;
- protocol_Data, tag = '0210'O;
- correlation_ID, tag = '0013'O; )"
- }
-
-
-// M3UA_DUNA PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DUNA
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_DUNA_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_DUNA_MessageParameters
-{
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Affected_Point_Codes affected_Point_Codes,
- M3UA_Info_String info_String optional
-} with { variant "TAG(network_Appearance, tag = '0200'O;
- routing_Context, tag = '0006'O;
- affected_Point_Codes, tag = '0012'O;
- info_String, tag = '0004'O )"
- }
-
-
-// M3UA_DAVA PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DAVA
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_DAVA_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_DAVA_MessageParameters
-{
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Affected_Point_Codes affected_Point_Codes,
- M3UA_Info_String info_String optional
-} with { variant "TAG(network_Appearance, tag = '0200'O;
- routing_Context, tag = '0006'O;
- affected_Point_Codes, tag = '0012'O;
- info_String, tag = '0004'O )"
- }
-
-
-// M3UA_DAUD PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DAUD
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_DAUD_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_DAUD_MessageParameters
-{
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Affected_Point_Codes affected_Point_Codes,
- M3UA_Info_String info_String optional
-} with { variant "TAG(network_Appearance, tag = '0200'O;
- routing_Context, tag = '0006'O;
- affected_Point_Codes, tag = '0012'O;
- info_String, tag = '0004'O )"
- }
-
-
-// M3UA_SCON PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_SCON
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_SCON_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_SCON_MessageParameters
-{
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Affected_Point_Codes affected_Point_Codes,
- M3UA_Concerned_Destination concerned_Destination optional,
- M3UA_Congestion_Indicators congestion_Indicators optional,
- M3UA_Info_String info_String optional
-} with { variant "TAG(network_Appearance, tag = '0200'O;
- routing_Context, tag = '0006'O;
- affected_Point_Codes, tag = '0012'O;
- concerned_Destination, tag = '0206'O;
- congestion_Indicators, tag = '0205'O;
- info_String, tag = '0004'O )"
- }
-
-
-// M3UA_DUPU PDU
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DUPU
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_DUPU_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_DUPU_MessageParameters
-{
- M3UA_Network_Appearance network_Appearance optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Affected_Point_Codes affected_Point_Codes,
- M3UA_User_Cause user_Cause,
- M3UA_Info_String info_String optional
-} with { variant "TAG(network_Appearance, tag = '0200'O;
- routing_Context, tag = '0006'O;
- affected_Point_Codes, tag = '0012'O;
- user_Cause, tag = '0204'O;
- info_String, tag = '0004'O )"
- }
-
-
-// M3UA_DRST PDU
-// NOTE1 : DRST should not come and will be dropped if it comes
-// NOTE2 : messageParameters is simpified implementation as octetstring
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DRST
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- octetstring messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-
-// M3UA_ASPUP
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPUP
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPUP_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPUP_MessageParameters
-{
- M3UA_ASP_Identifier aSP_Identifier optional,
- M3UA_Info_String info_String optional
-} with { variant "TAG(aSP_Identifier, tag = '0011'O;
- info_String, tag = '0004'O; )"
- }
-
-
-//M3UA_ASPUP_Ack
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPUP_Ack
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPUP_Ack_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPUP_Ack_MessageParameters
-{
- M3UA_Info_String info_String optional
-} with { variant "TAG(info_String, tag = '0004'O; )"
- }
-
-
-//M3UA_ASPDN
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPDN
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPDN_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPDN_MessageParameters
-{
- M3UA_Info_String info_String optional
-} with { variant "TAG(info_String, tag = '0004'O; )"
- }
-
-
-//M3UA_ASPDN_Ack
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPDN_Ack
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPDN_Ack_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPDN_Ack_MessageParameters
-{
- M3UA_Info_String info_String optional
-} with { variant "TAG(info_String, tag = '0004'O;)"
- }
-
-
-// M3UA_BEAT
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_BEAT
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_BEAT_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_BEAT_MessageParameters
-{
- M3UA_Heartbeat_Data heartbeat_Data optional
-} with { variant "TAG(heartbeat_Data, tag = '0009'O; )"
- }
-
-
-// M3UA_BEAT_Ack
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_BEAT_Ack
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_BEAT_Ack_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_BEAT_Ack_MessageParameters
-{
- M3UA_Heartbeat_Data heartbeat_Data optional
-} with { variant "TAG(heartbeat_Data, tag = '0009'O; )"
- }
-
-
-// M3UA_ASPAC
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPAC
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPAC_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPAC_MessageParameters
-{
- M3UA_Traffic_Mode_Type traffic_Mode_Type optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Info_String info_String optional
-} with { variant "TAG(traffic_Mode_Type, tag = '000B'O;
- routing_Context, tag = '0006'O;
- info_String, tag = '0004'O; )"
- }
-
-
-// M3UA_ASPAC_Ack
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPAC_Ack
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPAC_Ack_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPAC_Ack_MessageParameters
-{
- M3UA_Traffic_Mode_Type traffic_Mode_Type optional,
- M3UA_Routing_Context routing_Context optional,
- M3UA_Info_String info_String optional
-} with { variant "TAG(traffic_Mode_Type, tag = '000B'O;
- routing_Context, tag = '0006'O;
- info_String, tag = '0004'O; )"
- }
-
-
-// M3UA_ASPIA
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPIA
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPIA_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPIA_MessageParameters
-{
- M3UA_Routing_Context routing_Context optional,
- M3UA_Info_String info_String optional
-} with { variant "TAG(routing_Context, tag = '0006'O;
- info_String, tag = '0004'O; )"
- }
-
-
-// M3UA_ASPIA_Ack
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_ASPIA_Ack
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- M3UA_ASPIA_Ack_MessageParameters messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-type set M3UA_ASPIA_Ack_MessageParameters
-{
- M3UA_Routing_Context routing_Context optional,
- M3UA_Info_String info_String optional
-} with { variant "TAG(routing_Context, tag = '0006'O;
- info_String, tag = '0004'O; )"
- }
-
-
-// M3UA_REG_REQ
-// NOTE1 : REG REQ should not come and will be dropped if it comes
-// NOTE2 : messageParameters is simpified implementation as octetstring
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_REG_REQ
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- octetstring messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-
-// M3UA_REG_RSP
-// NOTE1 : REG RSP should not come and will be dropped if it comes
-// NOTE2 : messageParameters is simpified implementation as octetstring
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_REG_RSP
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- octetstring messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-
-// M3UA_DEREG_REQ
-// NOTE1 : DEREG REQ should not come and will be dropped if it comes
-// NOTE2 : messageParameters is simpified implementation as octetstring
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DEREG_REQ
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- octetstring messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-
-// M3UA_DEREG_RSP
-// NOTE1 : DEREG RSP should not come and will be dropped if it comes
-// NOTE2 : messageParameters is simpified implementation as octetstring
-//++++++++++++++++++++++++++++++++++++++++++++++++++
-type record M3UA_DEREG_RSP
-{
- OCT1 version,
- OCT1 reserved,
- OCT2 messageClassAndType,
- integer messageLength,
- octetstring messageParameters
-} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
- messageLength,messageParameters)";
- variant (messageLength) "FIELDLENGTH(32)";
- variant (messageLength) "BYTEORDER(last)";
- }
-
-
-// Top level PDU
-//************************************************************************
-type union PDU_M3UA
-{
- M3UA_ERR m3UA_ERR, // Error
- M3UA_NOTIFY m3UA_NOTIFY, // Notify - should not come
- M3UA_DATA m3UA_DATA, // Payload data
- M3UA_DUNA m3UA_DUNA, // Destination Unavailable
- M3UA_DAVA m3UA_DAVA, // Destination Available
- M3UA_DAUD m3UA_DAUD, // Destination State Audit
- M3UA_SCON m3UA_SCON, // Signaling Congestion
- M3UA_DUPU m3UA_DUPU, // Destination User Part Unavailable
- M3UA_DRST m3UA_DRST, // DRST - should not come
- M3UA_ASPUP m3UA_ASPUP, // ASP up
- M3UA_ASPDN m3UA_ASPDN, // ASP down
- M3UA_BEAT m3UA_BEAT, // Heartbeat
- M3UA_BEAT_Ack m3UA_BEAT_Ack, // Heartbeat Ack
- M3UA_ASPUP_Ack m3UA_ASPUP_Ack, // ASP up ack
- M3UA_ASPDN_Ack m3UA_ASPDN_Ack, // ASP down ack
- M3UA_ASPAC m3UA_ASPAC, // ASP Active
- M3UA_ASPIA m3UA_ASPIA, // ASP Inactive
- M3UA_ASPAC_Ack m3UA_ASPAC_Ack, // ASP Active Ack
- M3UA_ASPIA_Ack m3UA_ASPIA_Ack, // ASP Inactive
- M3UA_REG_REQ m3UA_REG_REQ, // REG REQ - should not come
- M3UA_REG_RSP m3UA_REG_RSP, // REG RSP - should not come
- M3UA_DEREG_REQ m3UA_DEREG_REQ, // DEREG REQ - should not come
- M3UA_DEREG_RSP m3UA_DEREG_RSP // DEREG RSP - should not come
-} with { variant "TAG(
- m3UA_ERR, messageClassAndType = '0000'O; //MGMT Class (0),
- m3UA_NOTIFY, messageClassAndType = '0001'O; //MGMT Class (0),
- m3UA_DATA, messageClassAndType = '0101'O; //Transf msg Class(1),
- m3UA_DUNA, messageClassAndType = '0201'O; //SSNM Class(2),
- m3UA_DAVA, messageClassAndType = '0202'O; //SSNM Class(2),
- m3UA_DAUD, messageClassAndType = '0203'O; //SSNM Class(2),
- m3UA_SCON, messageClassAndType = '0204'O; //SSNM Class(2),
- m3UA_DUPU, messageClassAndType = '0205'O; //SSNM Class(2),
- m3UA_DRST, messageClassAndType = '0206'O; //SSNM Class(2),
- m3UA_ASPUP, messageClassAndType = '0301'O; //ASPSM Class(3),
- m3UA_ASPDN, messageClassAndType = '0302'O; //ASPSM Class(3),
- m3UA_BEAT, messageClassAndType = '0303'O; //ASPSM Class(3),
- m3UA_ASPUP_Ack, messageClassAndType = '0304'O; //ASPSM Class(3),
- m3UA_ASPDN_Ack, messageClassAndType = '0305'O; //ASPSM Class(3),
- m3UA_BEAT_Ack, messageClassAndType = '0306'O; //ASPSM Class(3),
- m3UA_ASPAC, messageClassAndType = '0401'O; //ASPTM Class(4),
- m3UA_ASPIA, messageClassAndType = '0402'O; //ASPTM Class(4),
- m3UA_ASPAC_Ack, messageClassAndType = '0403'O; //ASPTM Class(4),
- m3UA_ASPIA_Ack, messageClassAndType = '0404'O; //ASPTM Class(4),
- m3UA_REG_REQ, messageClassAndType = '0901'O; //RKM Class(9),
- m3UA_REG_RSP, messageClassAndType = '0902'O; //RKM Class(9),
- m3UA_DEREG_REQ, messageClassAndType = '0903'O; //RKM Class(9),
- m3UA_DEREG_RSP, messageClassAndType = '0904'O; )" //RKM Class(9),
- }
-} with { encode "RAW"}
diff --git a/M3UA_CNL113537/demo/Abstract_Socket.cc b/M3UA_CNL113537/demo/Abstract_Socket.cc
deleted file mode 120000
index 6d1b3f35b..000000000
--- a/M3UA_CNL113537/demo/Abstract_Socket.cc
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.cc
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/Abstract_Socket.hh b/M3UA_CNL113537/demo/Abstract_Socket.hh
deleted file mode 120000
index ecb6c0369..000000000
--- a/M3UA_CNL113537/demo/Abstract_Socket.hh
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.hh
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/BICC_EncDec.cc b/M3UA_CNL113537/demo/BICC_EncDec.cc
deleted file mode 120000
index f3f7144d2..000000000
--- a/M3UA_CNL113537/demo/BICC_EncDec.cc
+++ /dev/null
@@ -1 +0,0 @@
-../../../ProtocolModules/BICC_Q.1902.1_CNL113359/src/BICC_EncDec.cc
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/BICC_Types.ttcn b/M3UA_CNL113537/demo/BICC_Types.ttcn
deleted file mode 120000
index de200f7a4..000000000
--- a/M3UA_CNL113537/demo/BICC_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../ProtocolModules/BICC_Q.1902.1_CNL113359/src/BICC_Types.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/General_Types.ttcn b/M3UA_CNL113537/demo/General_Types.ttcn
deleted file mode 120000
index 354ebf3fc..000000000
--- a/M3UA_CNL113537/demo/General_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../ProtocolModules/COMMON/src/General_Types.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/M3UA_Emulation.ttcn b/M3UA_CNL113537/demo/M3UA_Emulation.ttcn
deleted file mode 120000
index bf12ab9e9..000000000
--- a/M3UA_CNL113537/demo/M3UA_Emulation.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../src/M3UA_Emulation.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/M3UA_Emulation_Test.ttcn b/M3UA_CNL113537/demo/M3UA_Emulation_Test.ttcn
deleted file mode 100644
index 4c1e86af6..000000000
--- a/M3UA_CNL113537/demo/M3UA_Emulation_Test.ttcn
+++ /dev/null
@@ -1,152 +0,0 @@
-module M3UA_Emulation_Test
-{
-
-//import from MTP3asp_PortType all;
-import from MTP3asp_Types all;
-import from BICC_Types all;
-import from M3UA_Emulation all;
-import from SCTPasp_PortType all;
-
-modulepar
-{
- SCTP_Association_Address tsp_address := { 0, "", 0, "" };
- // float tsp_serverWait := 5.0;
- // boolean tsp_serverTest := false;
-}
-
-type port MTP3asp_PT_Int message
-{
- out ASP_MTP3_TRANSFERreq;
- in ASP_MTP3_TRANSFERind;
-} with {extension "internal"}
-
-type component BICC_CT
-{
- port MTP3asp_PT_Int BICC_MTP3_PORT;
-}
-
-type component MTC_CT
-{
- var BICC_CT vlc_BICC_COMPONENT_1;
- var M3UA_CT vlc_M3UA_COMPONENT_1;
- port SCTPasp_PT SCTP_PORT;
-
-// var BICC_CT vlc_BICC_COMPONENT_2;
-// port MTP3asp_PT M3UA_PORT;
-}
-
-function f_testconfig_bicc(SCTP_Association_Address pl_address) runs on MTC_CT
-{
- vlc_BICC_COMPONENT_1 := BICC_CT.create;
- vlc_M3UA_COMPONENT_1 := M3UA_CT.create;
- connect(vlc_BICC_COMPONENT_1:BICC_MTP3_PORT,
- vlc_M3UA_COMPONENT_1:MTP3_SP_PORT);
- map(system:SCTP_PORT, vlc_M3UA_COMPONENT_1:SCTP_PORT);
- vlc_M3UA_COMPONENT_1.start(f_M3UA_Emulation(pl_address));
-}
-
-function f_testconfig_end_demo_bicc() runs on MTC_CT
-{
- unmap(system:SCTP_PORT, vlc_M3UA_COMPONENT_1:SCTP_PORT);
- disconnect(vlc_BICC_COMPONENT_1:BICC_MTP3_PORT, vlc_M3UA_COMPONENT_1:MTP3_SP_PORT);
- vlc_M3UA_COMPONENT_1.stop;
-}
-
-template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_BICC :=
-{ sio := {
- ni := '10'B,
- prio := ?,
- si := '1101'B
- },
- opc := ?,
- dpc := ?,
- sls := ?,
- data := ?
-}
-
-function f_init_BICC_bicc() runs on BICC_CT
-{
- var PDU_BICC vl_PDU_BICC;
- var ASP_MTP3_TRANSFERind vl_ASP_MTP3_TRANSFERind;
- var ASP_MTP3_TRANSFERreq vl_ASP_MTP3_TRANSFERreq;
-
- vl_PDU_BICC := {
- BICC_GRA := {
- CIC := '00000000'O,
- MType := '00010111'B,
- var_part_ptr := 1,
- RngSts :=
- { range := '1F'O,
- status := ''O
- }
- }
- }
-
- vl_ASP_MTP3_TRANSFERreq := {
- sio := {
- ni := '10'B,
- prio := '00'B,
- si := '1101'B
- },
- opc := 115,
- dpc := 300,
- sls := 0,
- data := enc_PDU_BICC(vl_PDU_BICC)
- }
-
- timer T_Timer := 5.0;
- T_Timer.start;
- alt {
- [] BICC_MTP3_PORT.receive(tr_ASP_MTP3_TRANSFERind_BICC)
- -> value vl_ASP_MTP3_TRANSFERind {
- log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
- vl_PDU_BICC := dec_PDU_BICC(vl_ASP_MTP3_TRANSFERind.data);
- log("received BICC message: ", vl_PDU_BICC);
- setverdict(pass);
- BICC_MTP3_PORT.send(vl_ASP_MTP3_TRANSFERreq);
- T_Timer.stop;
- }
- [] BICC_MTP3_PORT.receive(ASP_MTP3_TRANSFERind : ?)
- -> value vl_ASP_MTP3_TRANSFERind {
- log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
- repeat;
- }
- [] BICC_MTP3_PORT.receive {
- setverdict(fail);
- }
- [] T_Timer.timeout {
- setverdict(fail);
- }
- }
-
- T_Timer.start;
- alt {
- [] BICC_MTP3_PORT.receive(tr_ASP_MTP3_TRANSFERind_BICC)
- -> value vl_ASP_MTP3_TRANSFERind {
- log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
- vl_PDU_BICC := dec_PDU_BICC(vl_ASP_MTP3_TRANSFERind.data);
- log("received BICC message: ", vl_PDU_BICC);
- repeat;
- }
- [] BICC_MTP3_PORT.receive(ASP_MTP3_TRANSFERind : ?)
- -> value vl_ASP_MTP3_TRANSFERind {
- log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
- repeat;
- }
- [] BICC_MTP3_PORT.receive {
- }
- [] T_Timer.timeout {
- }
- }
-
-}
-
-testcase tc_M3UA_demo_bicc() runs on MTC_CT
-{
- f_testconfig_bicc(tsp_address);
- vlc_BICC_COMPONENT_1.start(f_init_BICC_bicc());
- vlc_BICC_COMPONENT_1.done;
- f_testconfig_end_demo_bicc();
-}
-
-}
diff --git a/M3UA_CNL113537/demo/M3UA_Types.ttcn b/M3UA_CNL113537/demo/M3UA_Types.ttcn
deleted file mode 120000
index ca43cb342..000000000
--- a/M3UA_CNL113537/demo/M3UA_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../ProtocolModules/M3UA_CNL113536/src/M3UA_Types.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/MTP3asp_EncDec.cc b/M3UA_CNL113537/demo/MTP3asp_EncDec.cc
deleted file mode 120000
index 88f108395..000000000
--- a/M3UA_CNL113537/demo/MTP3asp_EncDec.cc
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/MTP3asp_CNL113337/src/MTP3asp_EncDec.cc
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/MTP3asp_Types.ttcn b/M3UA_CNL113537/demo/MTP3asp_Types.ttcn
deleted file mode 120000
index 9f03c54ed..000000000
--- a/M3UA_CNL113537/demo/MTP3asp_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/MTP3asp_CNL113337/src/MTP3asp_Types.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/Makefile b/M3UA_CNL113537/demo/Makefile
deleted file mode 100644
index ffc0aeb09..000000000
--- a/M3UA_CNL113537/demo/Makefile
+++ /dev/null
@@ -1,920 +0,0 @@
-# This Makefile was generated by the Makefile Generator
-# of the TTCN-3 Test Executor version 1.7.pre1 build 7
-# for Gabor Bettesch (ethgbh@mwux018) on Tue May 29 11:06:47 2007
-
-# Copyright 2000-2007 Test Competence Center, Ericsson R & D, Hungary
-# For trouble reporting use the tool MTTSMS.
-# For TR writers guide please visit the web page: http://ttcn.ericsson.se
-
-# The following make commands are available:
-# - make, make all Builds the executable test suite.
-# - make archive Archives all source files.
-# - make check Checks the semantics of TTCN-3 and ASN.1 modules.
-# - make clean Removes all generated files.
-# - make compile Translates TTCN-3 and ASN.1 modules to C++.
-# - make dep Creates/updates dependency list.
-# - make objects Builds the object files without linking the executable.
-# - make tags Creates/updates tags file using ctags.
-
-# WARNING! This Makefile can be used with GNU make only.
-# Other versions of make may report syntax errors in it.
-
-#
-# Do NOT touch this line...
-#
-.PHONY: all archive check clean dep objects
-
-#
-# Set these variables...
-#
-
-# The path of your TTCN-3 Test Executor installation:
-# Uncomment this line to override the environment variable.
-# TTCN3_DIR =
-
-# Your platform: (SOLARIS, SOLARIS8, LINUX, FREEBSD or WIN32)
-PLATFORM = LINUX
-
-# Your C++ compiler:
-CXX = g++
-
-# Flags for the C++ preprocessor (and makedepend as well):
-CPPFLAGS = -D$(PLATFORM) -DTARGET_TEST -I$(TTCN3_DIR)/include -I$(SCTP_DIR)/include
-
-# Flags for the C++ compiler:
-CXXFLAGS = -Wall
-
-# Flags for the linker:
-LDFLAGS =
-
-# Flags for the TTCN-3 and ASN.1 compiler:
-COMPILER_FLAGS = -L
-
-# Execution mode: (either ttcn3 or ttcn3-parallel)
-TTCN3_LIB = ttcn3-parallel
-
-# The path of your OpenSSL installation:
-# If you do not have your own one, leave it unchanged.
-OPENSSL_DIR = $(TTCN3_DIR)
-
-# Directory to store the archived source files:
-ARCHIVE_DIR = backup
-
-SCTP_DIR = /usr/local/lksctp-tools-1.0.6
-#
-# You may change these variables. Add your files if necessary...
-#
-
-# TTCN-3 modules of this project:
-TTCN3_MODULES = General_Types.ttcn BICC_Types.ttcn M3UA_Emulation.ttcn M3UA_Emulation_Test.ttcn M3UA_Types.ttcn SCTPasp_PortType.ttcn SCTPasp_Types.ttcn MTP3asp_Types.ttcn
-#MTP3asp_PortType.ttcn
-# ASN.1 modules of this project:
-ASN1_MODULES =
-
-# C++ source & header files generated from the TTCN-3 & ASN.1 modules of
-# this project:
-GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
-GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
-# C/C++ Source & header files of Test Ports, external functions and
-# other modules:
-USER_SOURCES = Abstract_Socket.cc BICC_EncDec.cc SCTPasp_PT.cc MTP3asp_EncDec.cc
-USER_HEADERS = Abstract_Socket.hh SCTPasp_PT.hh
-#MTP3asp_PT.hh MTP3asp_PT.cc
-# Object files of this project that are needed for the executable test suite:
-OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
-
-# Other files of the project (Makefile, configuration files, etc.)
-# that will be added to the archived source files:
-OTHER_FILES = m3ua_emu.cfg Makefile
-
-# The name of the executable test suite:
-TARGET = M3UA_Emulation_Test
-
-#
-# Do not modify these unless you know what you are doing...
-# Platform specific additional libraries:
-#
-SOLARIS_LIBS = -lsocket -lnsl
-SOLARIS8_LIBS = -lsocket -lnsl
-LINUX_LIBS =
-FREEBSD_LIBS =
-WIN32_LIBS =
-
-#
-# Rules for building the executable...
-#
-
-all: $(TARGET) ;
-
-objects: $(OBJECTS) ;
-
-$(TARGET): $(OBJECTS)
- $(CXX) $(LDFLAGS) -o $@ $^ \
- -L$(TTCN3_DIR)/lib -L$(SCTP_DIR)/lib -l$(TTCN3_LIB) \
- -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
-
-.cc.o .c.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
-
-$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
- @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
-
-check: $(TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler -s $(COMPILER_FLAGS) $^
-
-compile: $(TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler $(COMPILER_FLAGS) $^ - $?
- touch $@
-
-browserdata.dat: $(TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler -B -s $(COMPILER_FLAGS) $^
-
-tags: $(TTCN3_MODULES) $(ASN1_MODULES) \
-$(USER_HEADERS) $(USER_SOURCES)
- $(TTCN3_DIR)/bin/ctags_ttcn3 --line-directives=yes $^
-
-clean:
- -$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
- $(GENERATED_SOURCES) compile \
- browserdata.dat tags *.log
-
-dep: $(GENERATED_SOURCES) $(USER_SOURCES)
- makedepend $(CPPFLAGS) $^
-
-archive:
- mkdir -p $(ARCHIVE_DIR)
- tar -cvhf - $(TTCN3_MODULES) $(ASN1_MODULES) \
- $(USER_HEADERS) $(USER_SOURCES) $(OTHER_FILES) \
- | gzip >$(ARCHIVE_DIR)/`basename $(TARGET) .exe`-`date '+%y%m%d-%H%M'`.tgz
-
-#
-# Add your rules here if necessary...
-#
-
-# DO NOT DELETE
-
-General_Types.o: General_Types.hh /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-General_Types.o: /usr/include/string.h /usr/include/features.h
-General_Types.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-General_Types.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-General_Types.o: /usr/include/stdio.h /usr/include/bits/types.h
-General_Types.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-General_Types.o: /usr/include/_G_config.h /usr/include/wchar.h
-General_Types.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-General_Types.o: /usr/include/bits/stdio_lim.h
-General_Types.o: /usr/include/bits/sys_errlist.h
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-General_Types.o: /usr/include/stdlib.h /usr/include/sys/types.h
-General_Types.o: /usr/include/time.h /usr/include/endian.h
-General_Types.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-General_Types.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-General_Types.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-General_Types.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-General_Types.o: /usr/include/sys/time.h
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-General_Types.o: /usr/include/regex.h
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-General_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-BICC_Types.o: BICC_Types.hh General_Types.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-BICC_Types.o: /usr/include/string.h /usr/include/features.h
-BICC_Types.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-BICC_Types.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-BICC_Types.o: /usr/include/stdio.h /usr/include/bits/types.h
-BICC_Types.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-BICC_Types.o: /usr/include/_G_config.h /usr/include/wchar.h
-BICC_Types.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-BICC_Types.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh /usr/include/stdlib.h
-BICC_Types.o: /usr/include/sys/types.h /usr/include/time.h
-BICC_Types.o: /usr/include/endian.h /usr/include/bits/endian.h
-BICC_Types.o: /usr/include/sys/select.h /usr/include/bits/select.h
-BICC_Types.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-BICC_Types.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-BICC_Types.o: /usr/include/alloca.h
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-BICC_Types.o: /usr/include/sys/time.h
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-BICC_Types.o: /usr/include/regex.h
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-BICC_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-M3UA_Emulation.o: M3UA_Emulation.hh M3UA_Types.hh General_Types.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-M3UA_Emulation.o: /usr/include/string.h /usr/include/features.h
-M3UA_Emulation.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-M3UA_Emulation.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-M3UA_Emulation.o: /usr/include/stdio.h /usr/include/bits/types.h
-M3UA_Emulation.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-M3UA_Emulation.o: /usr/include/_G_config.h /usr/include/wchar.h
-M3UA_Emulation.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-M3UA_Emulation.o: /usr/include/bits/stdio_lim.h
-M3UA_Emulation.o: /usr/include/bits/sys_errlist.h
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-M3UA_Emulation.o: /usr/include/stdlib.h /usr/include/sys/types.h
-M3UA_Emulation.o: /usr/include/time.h /usr/include/endian.h
-M3UA_Emulation.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-M3UA_Emulation.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-M3UA_Emulation.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-M3UA_Emulation.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-M3UA_Emulation.o: /usr/include/sys/time.h
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-M3UA_Emulation.o: /usr/include/regex.h
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-M3UA_Emulation.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-M3UA_Emulation.o: SCTPasp_PortType.hh SCTPasp_Types.hh SCTPasp_PT.hh
-M3UA_Emulation.o: /usr/include/sys/socket.h /usr/include/sys/uio.h
-M3UA_Emulation.o: /usr/include/bits/uio.h /usr/include/bits/socket.h
-M3UA_Emulation.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
-M3UA_Emulation.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
-M3UA_Emulation.o: /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h
-M3UA_Emulation.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
-M3UA_Emulation.o: /usr/include/netinet/in.h /usr/include/stdint.h
-M3UA_Emulation.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
-M3UA_Emulation.o: /usr/local/lksctp-tools-1.0.6/include/netinet/sctp.h
-M3UA_Emulation.o: /usr/include/linux/types.h /usr/include/linux/posix_types.h
-M3UA_Emulation.o: /usr/include/linux/stddef.h /usr/include/linux/compiler.h
-M3UA_Emulation.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
-M3UA_Emulation.o: MTP3asp_Types.hh
-M3UA_Emulation_Test.o: M3UA_Emulation_Test.hh BICC_Types.hh General_Types.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-M3UA_Emulation_Test.o: /usr/include/string.h /usr/include/features.h
-M3UA_Emulation_Test.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-M3UA_Emulation_Test.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-M3UA_Emulation_Test.o: /usr/include/stdio.h /usr/include/bits/types.h
-M3UA_Emulation_Test.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-M3UA_Emulation_Test.o: /usr/include/_G_config.h /usr/include/wchar.h
-M3UA_Emulation_Test.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-M3UA_Emulation_Test.o: /usr/include/bits/stdio_lim.h
-M3UA_Emulation_Test.o: /usr/include/bits/sys_errlist.h
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-M3UA_Emulation_Test.o: /usr/include/stdlib.h /usr/include/sys/types.h
-M3UA_Emulation_Test.o: /usr/include/time.h /usr/include/endian.h
-M3UA_Emulation_Test.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-M3UA_Emulation_Test.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-M3UA_Emulation_Test.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-M3UA_Emulation_Test.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-M3UA_Emulation_Test.o: /usr/include/sys/time.h
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-M3UA_Emulation_Test.o: /usr/include/regex.h
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-M3UA_Emulation_Test.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-M3UA_Emulation_Test.o: M3UA_Emulation.hh M3UA_Types.hh SCTPasp_PortType.hh
-M3UA_Emulation_Test.o: SCTPasp_Types.hh SCTPasp_PT.hh
-M3UA_Emulation_Test.o: /usr/include/sys/socket.h /usr/include/sys/uio.h
-M3UA_Emulation_Test.o: /usr/include/bits/uio.h /usr/include/bits/socket.h
-M3UA_Emulation_Test.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
-M3UA_Emulation_Test.o: /usr/include/bits/local_lim.h
-M3UA_Emulation_Test.o: /usr/include/linux/limits.h
-M3UA_Emulation_Test.o: /usr/include/bits/posix2_lim.h
-M3UA_Emulation_Test.o: /usr/include/bits/sockaddr.h /usr/include/asm/socket.h
-M3UA_Emulation_Test.o: /usr/include/asm/sockios.h /usr/include/netinet/in.h
-M3UA_Emulation_Test.o: /usr/include/stdint.h /usr/include/bits/in.h
-M3UA_Emulation_Test.o: /usr/include/bits/byteswap.h
-M3UA_Emulation_Test.o: /usr/local/lksctp-tools-1.0.6/include/netinet/sctp.h
-M3UA_Emulation_Test.o: /usr/include/linux/types.h
-M3UA_Emulation_Test.o: /usr/include/linux/posix_types.h
-M3UA_Emulation_Test.o: /usr/include/linux/stddef.h
-M3UA_Emulation_Test.o: /usr/include/linux/compiler.h
-M3UA_Emulation_Test.o: /usr/include/asm/posix_types.h
-M3UA_Emulation_Test.o: /usr/include/asm/types.h MTP3asp_Types.hh
-M3UA_Types.o: M3UA_Types.hh General_Types.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-M3UA_Types.o: /usr/include/string.h /usr/include/features.h
-M3UA_Types.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-M3UA_Types.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-M3UA_Types.o: /usr/include/stdio.h /usr/include/bits/types.h
-M3UA_Types.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-M3UA_Types.o: /usr/include/_G_config.h /usr/include/wchar.h
-M3UA_Types.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-M3UA_Types.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh /usr/include/stdlib.h
-M3UA_Types.o: /usr/include/sys/types.h /usr/include/time.h
-M3UA_Types.o: /usr/include/endian.h /usr/include/bits/endian.h
-M3UA_Types.o: /usr/include/sys/select.h /usr/include/bits/select.h
-M3UA_Types.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-M3UA_Types.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-M3UA_Types.o: /usr/include/alloca.h
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-M3UA_Types.o: /usr/include/sys/time.h
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-M3UA_Types.o: /usr/include/regex.h
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-M3UA_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-SCTPasp_PortType.o: SCTPasp_PortType.hh SCTPasp_Types.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-SCTPasp_PortType.o: /usr/include/string.h /usr/include/features.h
-SCTPasp_PortType.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-SCTPasp_PortType.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-SCTPasp_PortType.o: /usr/include/stdio.h /usr/include/bits/types.h
-SCTPasp_PortType.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-SCTPasp_PortType.o: /usr/include/_G_config.h /usr/include/wchar.h
-SCTPasp_PortType.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-SCTPasp_PortType.o: /usr/include/bits/stdio_lim.h
-SCTPasp_PortType.o: /usr/include/bits/sys_errlist.h
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-SCTPasp_PortType.o: /usr/include/stdlib.h /usr/include/sys/types.h
-SCTPasp_PortType.o: /usr/include/time.h /usr/include/endian.h
-SCTPasp_PortType.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-SCTPasp_PortType.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-SCTPasp_PortType.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-SCTPasp_PortType.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-SCTPasp_PortType.o: /usr/include/sys/time.h
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-SCTPasp_PortType.o: /usr/include/regex.h
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-SCTPasp_PortType.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh SCTPasp_PT.hh
-SCTPasp_PortType.o: /usr/include/sys/socket.h /usr/include/sys/uio.h
-SCTPasp_PortType.o: /usr/include/bits/uio.h /usr/include/bits/socket.h
-SCTPasp_PortType.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
-SCTPasp_PortType.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
-SCTPasp_PortType.o: /usr/include/bits/posix2_lim.h
-SCTPasp_PortType.o: /usr/include/bits/sockaddr.h /usr/include/asm/socket.h
-SCTPasp_PortType.o: /usr/include/asm/sockios.h /usr/include/netinet/in.h
-SCTPasp_PortType.o: /usr/include/stdint.h /usr/include/bits/in.h
-SCTPasp_PortType.o: /usr/include/bits/byteswap.h
-SCTPasp_PortType.o: /usr/local/lksctp-tools-1.0.6/include/netinet/sctp.h
-SCTPasp_PortType.o: /usr/include/linux/types.h
-SCTPasp_PortType.o: /usr/include/linux/posix_types.h
-SCTPasp_PortType.o: /usr/include/linux/stddef.h /usr/include/linux/compiler.h
-SCTPasp_PortType.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
-SCTPasp_Types.o: SCTPasp_Types.hh /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-SCTPasp_Types.o: /usr/include/string.h /usr/include/features.h
-SCTPasp_Types.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-SCTPasp_Types.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-SCTPasp_Types.o: /usr/include/stdio.h /usr/include/bits/types.h
-SCTPasp_Types.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-SCTPasp_Types.o: /usr/include/_G_config.h /usr/include/wchar.h
-SCTPasp_Types.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-SCTPasp_Types.o: /usr/include/bits/stdio_lim.h
-SCTPasp_Types.o: /usr/include/bits/sys_errlist.h
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-SCTPasp_Types.o: /usr/include/stdlib.h /usr/include/sys/types.h
-SCTPasp_Types.o: /usr/include/time.h /usr/include/endian.h
-SCTPasp_Types.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-SCTPasp_Types.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-SCTPasp_Types.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-SCTPasp_Types.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-SCTPasp_Types.o: /usr/include/sys/time.h
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-SCTPasp_Types.o: /usr/include/regex.h
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-SCTPasp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-MTP3asp_Types.o: MTP3asp_Types.hh /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-MTP3asp_Types.o: /usr/include/string.h /usr/include/features.h
-MTP3asp_Types.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-MTP3asp_Types.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-MTP3asp_Types.o: /usr/include/stdio.h /usr/include/bits/types.h
-MTP3asp_Types.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-MTP3asp_Types.o: /usr/include/_G_config.h /usr/include/wchar.h
-MTP3asp_Types.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-MTP3asp_Types.o: /usr/include/bits/stdio_lim.h
-MTP3asp_Types.o: /usr/include/bits/sys_errlist.h
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-MTP3asp_Types.o: /usr/include/stdlib.h /usr/include/sys/types.h
-MTP3asp_Types.o: /usr/include/time.h /usr/include/endian.h
-MTP3asp_Types.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-MTP3asp_Types.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-MTP3asp_Types.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-MTP3asp_Types.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-MTP3asp_Types.o: /usr/include/sys/time.h
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-MTP3asp_Types.o: /usr/include/regex.h
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-MTP3asp_Types.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-Abstract_Socket.o: Abstract_Socket.hh /usr/include/sys/socket.h
-Abstract_Socket.o: /usr/include/features.h /usr/include/sys/cdefs.h
-Abstract_Socket.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
-Abstract_Socket.o: /usr/include/gnu/stubs-32.h /usr/include/sys/uio.h
-Abstract_Socket.o: /usr/include/sys/types.h /usr/include/bits/types.h
-Abstract_Socket.o: /usr/include/bits/typesizes.h /usr/include/time.h
-Abstract_Socket.o: /usr/include/endian.h /usr/include/bits/endian.h
-Abstract_Socket.o: /usr/include/sys/select.h /usr/include/bits/select.h
-Abstract_Socket.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-Abstract_Socket.o: /usr/include/sys/sysmacros.h
-Abstract_Socket.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/uio.h
-Abstract_Socket.o: /usr/include/bits/socket.h /usr/include/limits.h
-Abstract_Socket.o: /usr/include/bits/posix1_lim.h
-Abstract_Socket.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
-Abstract_Socket.o: /usr/include/bits/posix2_lim.h
-Abstract_Socket.o: /usr/include/bits/sockaddr.h /usr/include/asm/socket.h
-Abstract_Socket.o: /usr/include/asm/sockios.h /usr/include/netinet/in.h
-Abstract_Socket.o: /usr/include/stdint.h /usr/include/bits/wchar.h
-Abstract_Socket.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-Abstract_Socket.o: /usr/include/string.h /usr/include/stdio.h
-Abstract_Socket.o: /usr/include/libio.h /usr/include/_G_config.h
-Abstract_Socket.o: /usr/include/wchar.h /usr/include/gconv.h
-Abstract_Socket.o: /usr/include/bits/stdio_lim.h
-Abstract_Socket.o: /usr/include/bits/sys_errlist.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-Abstract_Socket.o: /usr/include/stdlib.h /usr/include/alloca.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-Abstract_Socket.o: /usr/include/sys/time.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-Abstract_Socket.o: /usr/include/regex.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-Abstract_Socket.o: /usr/include/unistd.h /usr/include/bits/posix_opt.h
-Abstract_Socket.o: /usr/include/bits/confname.h /usr/include/getopt.h
-Abstract_Socket.o: /usr/include/strings.h /usr/include/errno.h
-Abstract_Socket.o: /usr/include/bits/errno.h /usr/include/linux/errno.h
-Abstract_Socket.o: /usr/include/asm/errno.h /usr/include/asm-generic/errno.h
-Abstract_Socket.o: /usr/include/asm-generic/errno-base.h /usr/include/netdb.h
-Abstract_Socket.o: /usr/include/rpc/netdb.h /usr/include/bits/netdb.h
-Abstract_Socket.o: /usr/include/sys/stat.h /usr/include/bits/stat.h
-Abstract_Socket.o: /usr/include/netinet/tcp.h /usr/include/arpa/inet.h
-Abstract_Socket.o: /usr/include/fcntl.h /usr/include/bits/fcntl.h
-Abstract_Socket.o: /usr/local/TTCNv3-1.7.pl0/include/memory.h
-BICC_EncDec.o: BICC_Types.hh General_Types.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-BICC_EncDec.o: /usr/include/string.h /usr/include/features.h
-BICC_EncDec.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-BICC_EncDec.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-BICC_EncDec.o: /usr/include/stdio.h /usr/include/bits/types.h
-BICC_EncDec.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-BICC_EncDec.o: /usr/include/_G_config.h /usr/include/wchar.h
-BICC_EncDec.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-BICC_EncDec.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh /usr/include/stdlib.h
-BICC_EncDec.o: /usr/include/sys/types.h /usr/include/time.h
-BICC_EncDec.o: /usr/include/endian.h /usr/include/bits/endian.h
-BICC_EncDec.o: /usr/include/sys/select.h /usr/include/bits/select.h
-BICC_EncDec.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-BICC_EncDec.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-BICC_EncDec.o: /usr/include/alloca.h
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-BICC_EncDec.o: /usr/include/sys/time.h
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-BICC_EncDec.o: /usr/include/regex.h
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-BICC_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-SCTPasp_PT.o: SCTPasp_PT.hh SCTPasp_PortType.hh SCTPasp_Types.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-SCTPasp_PT.o: /usr/include/string.h /usr/include/features.h
-SCTPasp_PT.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-SCTPasp_PT.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-SCTPasp_PT.o: /usr/include/stdio.h /usr/include/bits/types.h
-SCTPasp_PT.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-SCTPasp_PT.o: /usr/include/_G_config.h /usr/include/wchar.h
-SCTPasp_PT.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-SCTPasp_PT.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh /usr/include/stdlib.h
-SCTPasp_PT.o: /usr/include/sys/types.h /usr/include/time.h
-SCTPasp_PT.o: /usr/include/endian.h /usr/include/bits/endian.h
-SCTPasp_PT.o: /usr/include/sys/select.h /usr/include/bits/select.h
-SCTPasp_PT.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-SCTPasp_PT.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-SCTPasp_PT.o: /usr/include/alloca.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-SCTPasp_PT.o: /usr/include/sys/time.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-SCTPasp_PT.o: /usr/include/regex.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
-SCTPasp_PT.o: /usr/include/sys/socket.h /usr/include/sys/uio.h
-SCTPasp_PT.o: /usr/include/bits/uio.h /usr/include/bits/socket.h
-SCTPasp_PT.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
-SCTPasp_PT.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
-SCTPasp_PT.o: /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h
-SCTPasp_PT.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
-SCTPasp_PT.o: /usr/include/netinet/in.h /usr/include/stdint.h
-SCTPasp_PT.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
-SCTPasp_PT.o: /usr/local/lksctp-tools-1.0.6/include/netinet/sctp.h
-SCTPasp_PT.o: /usr/include/linux/types.h /usr/include/linux/posix_types.h
-SCTPasp_PT.o: /usr/include/linux/stddef.h /usr/include/linux/compiler.h
-SCTPasp_PT.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
-SCTPasp_PT.o: /usr/include/arpa/inet.h /usr/include/unistd.h
-SCTPasp_PT.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h
-SCTPasp_PT.o: /usr/include/getopt.h /usr/include/netdb.h
-SCTPasp_PT.o: /usr/include/rpc/netdb.h /usr/include/bits/netdb.h
-SCTPasp_PT.o: /usr/local/TTCNv3-1.7.pl0/include/memory.h /usr/include/fcntl.h
-SCTPasp_PT.o: /usr/include/bits/fcntl.h /usr/include/errno.h
-SCTPasp_PT.o: /usr/include/bits/errno.h /usr/include/linux/errno.h
-SCTPasp_PT.o: /usr/include/asm/errno.h /usr/include/asm-generic/errno.h
-SCTPasp_PT.o: /usr/include/asm-generic/errno-base.h
-MTP3asp_EncDec.o: MTP3asp_Types.hh /usr/local/TTCNv3-1.7.pl0/include/TTCN3.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/version.h
-MTP3asp_EncDec.o: /usr/include/string.h /usr/include/features.h
-MTP3asp_EncDec.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-MTP3asp_EncDec.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-MTP3asp_EncDec.o: /usr/include/stdio.h /usr/include/bits/types.h
-MTP3asp_EncDec.o: /usr/include/bits/typesizes.h /usr/include/libio.h
-MTP3asp_EncDec.o: /usr/include/_G_config.h /usr/include/wchar.h
-MTP3asp_EncDec.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-MTP3asp_EncDec.o: /usr/include/bits/stdio_lim.h
-MTP3asp_EncDec.o: /usr/include/bits/sys_errlist.h
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Basetype.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Types.h
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Encdec.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Template.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Integer.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Optional.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/BER.hh
-MTP3asp_EncDec.o: /usr/include/stdlib.h /usr/include/sys/types.h
-MTP3asp_EncDec.o: /usr/include/time.h /usr/include/endian.h
-MTP3asp_EncDec.o: /usr/include/bits/endian.h /usr/include/sys/select.h
-MTP3asp_EncDec.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
-MTP3asp_EncDec.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
-MTP3asp_EncDec.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Logger.hh
-MTP3asp_EncDec.o: /usr/include/sys/time.h
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Textbuf.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Error.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Parameters.h
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Float.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Boolean.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Null.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Objid.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Verdicttype.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Component.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Bitstring.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/RAW.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Hexstring.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Octetstring.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_Any.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Charstring.hh
-MTP3asp_EncDec.o: /usr/include/regex.h
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Universal_charstring.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Struct_of.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Array.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_CharacterString.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_External.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/ASN_EmbeddedPDV.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Addfunc.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Timer.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Port.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Module_list.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Snapshot.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Default.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/Runtime.hh
-MTP3asp_EncDec.o: /usr/local/TTCNv3-1.7.pl0/include/TEXT.hh
diff --git a/M3UA_CNL113537/demo/SCTPasp_PT.cc b/M3UA_CNL113537/demo/SCTPasp_PT.cc
deleted file mode 120000
index 2b931e952..000000000
--- a/M3UA_CNL113537/demo/SCTPasp_PT.cc
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/SCTPasp_CNL113469/src/SCTPasp_PT.cc
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/SCTPasp_PT.hh b/M3UA_CNL113537/demo/SCTPasp_PT.hh
deleted file mode 120000
index e37473f5a..000000000
--- a/M3UA_CNL113537/demo/SCTPasp_PT.hh
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/SCTPasp_CNL113469/src/SCTPasp_PT.hh
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/SCTPasp_PortType.ttcn b/M3UA_CNL113537/demo/SCTPasp_PortType.ttcn
deleted file mode 120000
index 4394e347f..000000000
--- a/M3UA_CNL113537/demo/SCTPasp_PortType.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/SCTPasp_Types.ttcn b/M3UA_CNL113537/demo/SCTPasp_Types.ttcn
deleted file mode 120000
index 71876a06e..000000000
--- a/M3UA_CNL113537/demo/SCTPasp_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/SCTPasp_CNL113469/src/SCTPasp_Types.ttcn
\ No newline at end of file
diff --git a/M3UA_CNL113537/demo/m3ua_emu.cfg b/M3UA_CNL113537/demo/m3ua_emu.cfg
deleted file mode 100644
index 9533515d1..000000000
--- a/M3UA_CNL113537/demo/m3ua_emu.cfg
+++ /dev/null
@@ -1,21 +0,0 @@
-[LOGGING]
-LogSourceInfo := Yes
-FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-ConsoleMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-
-[EXECUTE]
-M3UA_Emulation_Test.tc_M3UA_demo_bicc
-
-[TESTPORT_PARAMETERS]
-system.SCTP_PORT.debug := "yes"
-
-[MODULE_PARAMETERS]
-M3UA_Emulation.tsp_logVerbose := true;
-M3UA_Emulation.tsp_M3UA_Server_Mode := false;
-M3UA_Emulation_Test.tsp_address :=
-{
- local_sctp_port := 2905,
- local_ip_addr := "10.6.70.19",
- remote_sctp_port := 2905,
- remote_ip_addr := "159.107.193.33"
-}
diff --git a/M3UA_CNL113537/src/M3UA_Emulation.ttcn b/M3UA_CNL113537/src/M3UA_Emulation.ttcn
deleted file mode 100644
index 7a4a7e9b2..000000000
--- a/M3UA_CNL113537/src/M3UA_Emulation.ttcn
+++ /dev/null
@@ -1,1307 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: M3UA_Emulation.ttcn
-// Reference: M3UA Protocol Emulation
-// Rev: R1B01
-// Prodnr: CNL 113 537
-// Updated: 2009-01-06
-// Contact: http://ttcn.ericsson.se
-
-module M3UA_Emulation
-{
-
-modulepar
-{
- boolean tsp_logVerbose := false;
- float tsp_Timer := 2.0; // General timer used in M3UA emulation.
- float tsp_ASPUP_Resend_Timer := 2.0;
- float tsp_ASPAC_Resend_Timer := 2.0;
- float tsp_Assoc_Restart_Timer := 60.0;
- float tsp_Heartbeat_Timer := 30.0;
- integer tsp_SCTP_PayloadProtocolID := 3; // 3 for M3UA.
- boolean tsp_Enable_M3UA_Heartbeat := false; // Send SCTP packets periodically.
- boolean tsp_SCTP_Server_Mode := false;
- boolean tsp_M3UA_Server_Mode := false;
-}
-
-import from General_Types all;
-import from M3UA_Types all;
-import from SCTPasp_Types all;
-import from SCTPasp_PortType all;
-import from MTP3asp_Types all;
-
-type record of ASP_MTP3_TRANSFERreq TRANSFERreq_Buffer;
-
-type record SCTP_Association_Address
-{
- integer local_sctp_port,
- charstring local_ip_addr,
- integer remote_sctp_port,
- charstring remote_ip_addr
-}
-
-// Definition of M3UA_Entity which contains M3UA entity data.
-type record M3UA_Entity
-{
- M3UA_CommStatus commStatus optional,
- integer sCTP_Assoc_ID optional,
- SCTP_Association_Address assoc
-}
-
-// Type for status of SCTP communication for an M3UA entity.
-type enumerated M3UA_CommStatus
-{
- aSP_Down_initial_State (0),
- aSP_Down_sCTP_Initialize_Done (1),
- aSP_Down_sCTP_Associate_done (2),
- aSP_Down_commUP_Received (3),
- aSP_Down_ASPUP_Sent (4),
- aSP_Inactive (5),
- aSP_Inact_ASPAC_Sent (6),
- aSP_Active (7) // aSPAC_Ack_Received
-}
-
-// We need an internal port to communicate with the MTP3 side.
-// internal in name
-type port MTP3asp_SP_PT_Int message
-{
- in ASP_MTP3_TRANSFERreq;
- out ASP_MTP3_TRANSFERind;
- // out ASP_MTP3_PAUSE;
- // out ASP_MTP3_RESUME;
- // out ASP_MTP3_STATUS;
-} with {
- extension "internal"
-}
-
-// M3UA emulation component.
-type component M3UA_CT
-{
- var M3UA_Entity v_Entity;
- var TRANSFERreq_Buffer v_TRANSFERreq_Buffer := {};
-
- var ASP_SCTP v_ASP_SCTP;
- var ASP_SCTP_SEND_FAILED v_ASP_SCTP_SEND_FAILED;
- var ASP_SCTP_RESULT v_ASP_SCTP_RESULT;
- var ASP_SCTP_Connected v_ASP_SCTP_Connected;
- var ASP_SCTP_ASSOC_CHANGE v_ASP_SCTP_ASSOC_CHANGE;
- var ASP_SCTP_SHUTDOWN_EVENT v_ASP_SCTP_SHUTDOWN_EVENT;
-
- var PDU_M3UA v_PDU_M3UA;
-
- // Component timers.
- timer T_Timer := tsp_Timer;
- timer T_ASPUP_resend := tsp_ASPUP_Resend_Timer;
- timer T_ASPAC_resend := tsp_ASPAC_Resend_Timer;
- timer T_Heartbeat := tsp_Heartbeat_Timer;
- timer T_Assoc_restart := tsp_Assoc_Restart_Timer;
-
- // Port declarations.
- port MTP3asp_SP_PT_Int MTP3_SP_PORT; // Port towards MTP3/M3UA.
- port SCTPasp_PT SCTP_PORT; // Port towards target through SCTP.
-}
-
-//********************************
-// Start of SCTP related templates
-//********************************
-template ASP_SCTP t_S_SCTP_Send
- (in template integer pl_associationID,
- in template integer pl_streamID,
- in template octetstring pl_userData,
- in template integer pl_protocolID) :=
-{
- client_id := pl_associationID,
- sinfo_stream := pl_streamID,
- sinfo_ppid := pl_protocolID,
- data := pl_userData
-}
-
-template ASP_SCTP_SEND_FAILED t_ASP_SCTP_SEND_FAILED
- (in template integer pl_streamID) :=
-{
- client_id := pl_streamID
-}
-
-template ASP_SCTP_Listen t_ASP_SCTP_Listen
- (template charstring pl_local_hostname,
- template integer pl_local_portnumber) :=
-{
- local_hostname := pl_local_hostname,
- local_portnumber := pl_local_portnumber
-}
-
-template ASP_SCTP_Connected tr_ASP_SCTP_Connected
- (template integer pl_client_id,
- template charstring pl_local_hostname,
- template integer pl_local_portnumber,
- template charstring pl_peer_hostname,
- template integer pl_peer_portnumber) :=
-{
- client_id := pl_client_id,
- local_hostname := pl_local_hostname,
- local_portnumber := pl_local_portnumber,
- peer_hostname := pl_peer_hostname,
- peer_portnumber := pl_peer_portnumber
-}
-
-template ASP_SCTP_ConnectFrom t_ASP_SCTP_ConnectFrom
- (template charstring pl_local_hostname,
- template integer pl_local_portnumber,
- template charstring pl_peer_hostname,
- template integer pl_peer_portnumber) :=
-{
- local_hostname := pl_local_hostname,
- local_portnumber := pl_local_portnumber,
- peer_hostname := pl_peer_hostname,
- peer_portnumber := pl_peer_portnumber
-}
-
-template ASP_SCTP_RESULT t_ASP_SCTP_RESULT
- (template integer pl_client_id,
- template boolean pl_error_status,
- template charstring pl_error_message) :=
-{
- client_id := pl_client_id,
- error_status := pl_error_status,
- error_message := pl_error_message
-}
-
-template ASP_SCTP_ASSOC_CHANGE tr_S_SCTP_CommunicationUp
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID,
- sac_state := SCTP_COMM_UP
-}
-
-template ASP_SCTP_ASSOC_CHANGE tr_S_SCTP_CommunicationLost
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID,
- sac_state := SCTP_COMM_LOST
-}
-
-template ASP_SCTP_ASSOC_CHANGE tr_S_SCTP_ShutdownComplete
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID,
- sac_state := SCTP_SHUTDOWN_COMP
-}
-
-template ASP_SCTP_SHUTDOWN_EVENT tr_S_SCTP_ShutdownEvent
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID
-}
-
-template ASP_SCTP_ASSOC_CHANGE tr_S_SCTP_Restart
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID,
- sac_state := SCTP_RESTART
-}
-
-template ASP_SCTP_ASSOC_CHANGE tr_S_SCTP_CANT_STR_ASSOC
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID,
- sac_state := SCTP_CANT_STR_ASSOC
-}
-
-template ASP_SCTP tr_S_SCTP_DataArrive
- (in template integer pl_associationID,
- in template integer pl_streamID,
- in template integer pl_protocolID,
- in template PDU_SCTP pl_data) :=
-{
- client_id := pl_associationID,
- sinfo_stream := pl_streamID,
- sinfo_ppid := pl_protocolID,
- data := pl_data
-}
-
-template ASP_SCTP_Close t_ASP_SCTP_Close
- (in template integer pl_associationID) :=
-{
- client_id := pl_associationID
-}
-//******************************
-// End of SCTP related templates
-//******************************
-
-//*****************************
-// Start of M3UA PDU templates.
-//*****************************
-template PDU_M3UA t_PDU_M3UA_ASPUP
- (in template M3UA_ASP_Identifier pl_aSP_Identifier,
- in template M3UA_Info_String pl_info_String) :=
-{
- m3UA_ASPUP := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0301'O,
- messageLength := 0,
- messageParameters := {
- aSP_Identifier := pl_aSP_Identifier,
- info_String := pl_info_String
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPUP_Ack :=
-{
- m3UA_ASPUP_Ack := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0304'O,
- messageLength := 0,
- messageParameters := {
- info_String := omit
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPDN :=
-{
- m3UA_ASPDN := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0302'O,
- messageLength := 0,
- messageParameters := {
- info_String := omit
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPDN_Ack :=
-{
- m3UA_ASPDN_Ack := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0305'O,
- messageLength := 0,
- messageParameters := {
- info_String := omit
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPAC
- (in template M3UA_Traffic_Mode_Type pl_traffic_Mode_Type,
- in template M3UA_Routing_Context pl_routing_Context,
- in template M3UA_Info_String pl_info_String) :=
-{
- m3UA_ASPAC := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0401'O,
- messageLength := 0,
- messageParameters := {
- traffic_Mode_Type := pl_traffic_Mode_Type,
- routing_Context := pl_routing_Context,
- info_String := pl_info_String
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPAC_Ack
- (in template M3UA_Traffic_Mode_Type pl_traffic_mode_type,
- in template M3UA_Routing_Context pl_routing_Context) :=
-{
- m3UA_ASPAC_Ack := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0403'O,
- messageLength := 0,
- messageParameters := {
- traffic_Mode_Type := pl_traffic_mode_type,
- routing_Context := pl_routing_Context,
- info_String := omit
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPIA
- (in template M3UA_Routing_Context pl_routing_Context,
- in template M3UA_Info_String pl_info_String) :=
-{
- m3UA_ASPIA := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0402'O,
- messageLength := 0,
- messageParameters := {
- routing_Context := pl_routing_Context,
- info_String := pl_info_String
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_ASPIA_Ack
- (in template M3UA_Routing_Context pl_routing_Context) :=
-{
- m3UA_ASPIA_Ack := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0404'O,
- messageLength := 0,
- messageParameters := {
- routing_Context := pl_routing_Context,
- info_String := omit
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_Heartbeat
- (in template M3UA_Heartbeat_Data pl_heartbeat_Data) :=
-{
- m3UA_BEAT := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0303'O,
- messageLength := 0,
- messageParameters := {
- heartbeat_Data := pl_heartbeat_Data
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_Beat_Ack
- (in template M3UA_Heartbeat_Data pl_heartbeat_Data) :=
-{
- m3UA_BEAT_Ack := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0306'O,
- messageLength := 0,
- messageParameters := {
- heartbeat_Data := pl_heartbeat_Data
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_DATA
- (in template M3UA_Network_Appearance pl_network_Appearance,
- in template M3UA_Routing_Context pl_routing_Context,
- in template M3UA_Protocol_Data pl_protocol_Data,
- in template M3UA_Correlation_ID pl_correlation_ID) :=
-{
- m3UA_DATA := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0101'O,
- messageLength := 0,
- messageParameters := {
- network_Appearance := pl_network_Appearance,
- routing_Context := pl_routing_Context,
- protocol_Data := pl_protocol_Data,
- correlation_ID := pl_correlation_ID
- }
- }
-}
-
-template PDU_M3UA t_PDU_M3UA_DAVA
- (in template M3UA_Network_Appearance pl_network_Appearance,
- in template M3UA_Routing_Context pl_routing_Context,
- in template M3UA_Affected_Point_Codes pl_affected_Point_Codes,
- in template M3UA_Info_String pl_info_String) :=
-{
- m3UA_DAVA := {
- version := '01'O,
- reserved := '00'O,
- messageClassAndType := '0202'O,
- messageLength := 0,
- messageParameters := {
- network_Appearance := pl_network_Appearance,
- routing_Context := pl_routing_Context,
- affected_Point_Codes := pl_affected_Point_Codes,
- info_String := pl_info_String
- }
- }
-}
-//**************************
-// End of M3UA PDU templates
-//**************************
-
-//**********************************
-// Start of M3UA parameter templates
-//**********************************
-template M3UA_Protocol_Data t_M3UA_Protocol_Data
- (template OCT4 pl_oPC,
- template OCT4 pl_dPC,
- template OCT1 pl_sI,
- template OCT1 pl_nI,
- template OCT1 pl_mP,
- template OCT1 pl_sLS,
- template octetstring pl_userProtocolData) :=
-{
- tag := '0210'O,
- lengthInd := 0,
- oPC := pl_oPC,
- dPC := pl_dPC,
- sI := pl_sI,
- nI := pl_nI,
- mP := pl_mP,
- sLS := pl_sLS,
- userProtocolData := pl_userProtocolData
-}
-//********************************
-// End of M3UA parameter templates
-//********************************
-
-//***********************************
-// Dynamic part of the M3UA emulation
-//***********************************
-
-function f_M3UA_Emulation(SCTP_Association_Address pl_Boot) runs on M3UA_CT
-{
- // Initialize parameters from the test case.
- v_Entity.assoc := pl_Boot;
- v_Entity.commStatus := aSP_Down_initial_State;
-
- // At this point, we assume that the ports are already connected and mapped
- // properly by the user.
- log("*************************************************");
- log("M3UA emulation initiated, the test can be started");
- log("*************************************************");
-
- f_Initialize_SCTP();
-
- // Start the main function in an infinte loop.
- f_M3UA_ScanEvents();
-}
-
-// Initialize the SCTP layer with parameters read from the configuration file.
-// We have only a single association.
-function f_Initialize_SCTP() runs on M3UA_CT
-{
- v_Entity.commStatus := aSP_Down_sCTP_Initialize_Done;
- if (tsp_SCTP_Server_Mode) {
- // Send out a LISTEN message. The communication status doesn't change
- // here.
- SCTP_PORT.send
- (t_ASP_SCTP_Listen(v_Entity.assoc.local_ip_addr,
- v_Entity.assoc.local_sctp_port));
- }
- else {
- // Send ConnectFrom sequentially, wait for RESULT messages.
- f_Associate();
- T_Assoc_restart.start;
- }
-
- if (tsp_SCTP_PayloadProtocolID == 3) {
- if (not tsp_M3UA_Server_Mode) {
- T_ASPUP_resend.start;
- T_ASPAC_resend.start;
- }
- if (tsp_Enable_M3UA_Heartbeat) {
- T_Heartbeat.start;
- }
- }
-}
-
-// Associate SCTP connection for a M3UA entity.
-function f_Associate() runs on M3UA_CT
-{
- SCTP_PORT.send(t_ASP_SCTP_ConnectFrom
- (v_Entity.assoc.local_ip_addr,
- v_Entity.assoc.local_sctp_port,
- v_Entity.assoc.remote_ip_addr,
- v_Entity.assoc.remote_sctp_port));
-
- T_Timer.start;
- alt {
- [] SCTP_PORT.receive(t_ASP_SCTP_RESULT(*, ?, *)) -> value v_ASP_SCTP_RESULT {
- if (v_ASP_SCTP_RESULT.error_status) {
- log("Connect failed: ", v_ASP_SCTP_RESULT.error_message);
- }
- else {
- v_Entity.sCTP_Assoc_ID := v_ASP_SCTP_RESULT.client_id;
- v_Entity.commStatus := aSP_Down_sCTP_Associate_done;
- log("SCTP_ConnectResult -> connection established from: ",
- v_Entity.assoc.local_ip_addr, ":", v_Entity.assoc.local_sctp_port,
- " to server: ", v_Entity.assoc.remote_ip_addr, ":",
- v_Entity.assoc.remote_sctp_port, " association #",
- v_Entity.sCTP_Assoc_ID);
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to ",
- v_Entity.commStatus);
- }
- }
- T_Timer.stop;
- }
- [] T_Timer.timeout {
- log("----------------------------------------------");
- log("No response received to t_ASP_SCTP_ConnectFrom");
- log("----------------------------------------------");
- setverdict(fail);
- // mtc.stop;
- }
- }
-}
-
-// Starts M3UA emulation execution.
-function f_M3UA_ScanEvents() runs on M3UA_CT
-{
- var ASP_MTP3_TRANSFERreq vl_ASP_MTP3_TRANSFERreq;
-
- alt {
- [] MTP3_SP_PORT.receive(ASP_MTP3_TRANSFERreq : ?)
- -> value vl_ASP_MTP3_TRANSFERreq {
- f_Send_MTP3_TRANSFERreq(vl_ASP_MTP3_TRANSFERreq);
- repeat;
- }
- [] as_SCTP_CommunicationUp()
- [] as_SCTP_DataArrive()
- [] as_SCTP_Connected()
- [] as_Unexpected_SCTP_Events()
- [] as_handleM3UA_timers()
- [] as_handleSCTP_timers()
- }
-}
-
-function f_Send_MTP3_TRANSFERreq(ASP_MTP3_TRANSFERreq pl_ASP_MTP3_TRANSFERreq)
- runs on M3UA_CT
-{
- if (v_Entity.commStatus == aSP_Active) {
- if (tsp_SCTP_PayloadProtocolID == 3) { // M3UA
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 1,
- enc_PDU_M3UA
- (valueof
- (t_PDU_M3UA_DATA
- (omit,
- omit,
- t_M3UA_Protocol_Data
- (int2oct(pl_ASP_MTP3_TRANSFERreq.opc, 4), // OPC
- int2oct(pl_ASP_MTP3_TRANSFERreq.dpc, 4), // DPC
- bit2oct('0000'B & pl_ASP_MTP3_TRANSFERreq.sio.si), // SIO
- bit2oct('000000'B & pl_ASP_MTP3_TRANSFERreq.sio.ni),
- bit2oct('000000'B & pl_ASP_MTP3_TRANSFERreq.sio.prio),
- int2oct(pl_ASP_MTP3_TRANSFERreq.sls, 1), // SLS
- pl_ASP_MTP3_TRANSFERreq.data),
- omit))),
- tsp_SCTP_PayloadProtocolID));
- }
- else { // Non-M3UA
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 1,
- pl_ASP_MTP3_TRANSFERreq.data,
- tsp_SCTP_PayloadProtocolID));
- }
- if (tsp_logVerbose) {
- log("MTP3_SP_PORT: ASP_MTP3_TRANSFERreq received -> message sent " &
- "via SCTP");
- }
- }
- else {
- // If the SCTP association is not yet running, we have to buffer the data
- // messages arrived from the MTP3 side. Sending of buffered data messages
- // should occure when the SCTP association is up and before sending the
- // data message in reply for a new ASP_MTP3_TRANSFERreq data message. The
- // buffer should be checked before sending.
- v_TRANSFERreq_Buffer[sizeof(v_TRANSFERreq_Buffer)] :=
- pl_ASP_MTP3_TRANSFERreq;
- if (tsp_logVerbose) {
- log("MTP3_SP_PORT: ASP_MTP3_TRANSFERreq received in an inactive state " &
- "-> message was buffered");
- }
- }
-}
-
-// Handle communication up messages of users which performed associate earlier.
-// We have only one association.
-altstep as_SCTP_CommunicationUp() runs on M3UA_CT
-{
- [] SCTP_PORT.receive(tr_S_SCTP_CommunicationUp(?))
- -> value v_ASP_SCTP_ASSOC_CHANGE {
- if (v_Entity.sCTP_Assoc_ID == v_ASP_SCTP_ASSOC_CHANGE.client_id) {
- if (v_Entity.commStatus == aSP_Down_sCTP_Associate_done) {
- v_Entity.commStatus := aSP_Down_commUP_Received;
- if (tsp_SCTP_PayloadProtocolID != 3) { // Non-M3UA
- v_Entity.commStatus := aSP_Active;
- var integer v_i;
- for (v_i := 0; v_i < sizeof(v_TRANSFERreq_Buffer); v_i := v_i + 1) {
- log("Sending buffered message #", v_i);
- f_Send_MTP3_TRANSFERreq(v_TRANSFERreq_Buffer[v_i]);
- }
- v_TRANSFERreq_Buffer := {};
- // MTP3_SP_PORT.send(ASP_MTP3_RESUME : {});
- }
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- if ((not tsp_M3UA_Server_Mode) and
- (tsp_SCTP_PayloadProtocolID == 3)) { // M3UA
- f_ASPUP_Sending();
- }
- }
- else {
- if (tsp_logVerbose) {
- log("SCTP_CommunicationUp received in wrong state (i.e. not after " &
- "SCTP_Associate is done) in state: ", v_Entity.commStatus);
- }
- }
- }
- else {
- if (tsp_logVerbose) {
- log("Association does not exists, received in CommunicationUp");
- }
- }
- repeat;
- }
-}
-
-// This altstep handles the data received from SCTP.
-altstep as_SCTP_DataArrive() runs on M3UA_CT
-{
- [] SCTP_PORT.receive(tr_S_SCTP_DataArrive
- (?, // associationID
- ?, // streamID
- ?, // protocolID
- ? // data
- )) -> value v_ASP_SCTP {
- // Checking the identifier for the association is not necessary, because we
- // have only only one association.
- if (f_Assoc_Exists(v_ASP_SCTP.client_id)) {
- if (tsp_logVerbose) {
- log("Message received on association #", v_Entity.sCTP_Assoc_ID);
- }
- if (tsp_SCTP_PayloadProtocolID == 3) { // M3UA
- v_PDU_M3UA := dec_PDU_M3UA(v_ASP_SCTP.data);
- f_handle_M3UA_msg(v_PDU_M3UA);
- }
- else { // Non-M3UA
- f_handle_nonM3UA_msg(v_ASP_SCTP.data);
- }
- }
- else{
- log("Message received on unknown association #", v_Entity.sCTP_Assoc_ID,
- " -> closing connection");
- SCTP_PORT.send(t_ASP_SCTP_Close(v_Entity.sCTP_Assoc_ID));
- log("SCTP connection closed");
- }
- repeat;
- }
-}
-
-// Handle the SCTP connected messages. It is sent from the SCTP side and it
-// signals, that we're on the right track to create the association. This is
-// for server mode.
-altstep as_SCTP_Connected() runs on M3UA_CT
-{
- [tsp_SCTP_Server_Mode] SCTP_PORT.receive(tr_ASP_SCTP_Connected(?, ?, ?, ?, ?))
- -> value v_ASP_SCTP_Connected {
- // Message from the configured endpoint.
- if ((v_ASP_SCTP_Connected.local_portnumber ==
- v_Entity.assoc.local_sctp_port) and
- (v_ASP_SCTP_Connected.local_hostname ==
- v_Entity.assoc.local_ip_addr) and
- (v_ASP_SCTP_Connected.peer_portnumber ==
- v_Entity.assoc.remote_sctp_port) and
- (v_ASP_SCTP_Connected.peer_hostname ==
- v_Entity.assoc.remote_ip_addr)) {
- v_Entity.sCTP_Assoc_ID := v_ASP_SCTP_Connected.client_id;
- v_Entity.commStatus := aSP_Down_sCTP_Associate_done;
- log("ASP_SCTP_Connected -> accepted connection from client: ",
- v_ASP_SCTP_Connected.peer_hostname, ":",
- v_ASP_SCTP_Connected.peer_portnumber, " on server: ",
- v_ASP_SCTP_Connected.local_hostname, ":",
- v_ASP_SCTP_Connected.local_portnumber, " with association #",
- v_Entity.sCTP_Assoc_ID);
- }
- else {
- log("ASP_SCTP_Connected -> connection from unknown client: ",
- v_ASP_SCTP_Connected.peer_hostname, ":",
- v_ASP_SCTP_Connected.peer_portnumber);
- }
- repeat;
- }
-}
-
-// Handle error messages of users.
-altstep as_Unexpected_SCTP_Events() runs on M3UA_CT
-{
- // Handle communications lost message. State of user with given index jumps
- // back to initial state and stays there. That user will not be able to
- // communicate anymore.
- [] SCTP_PORT.receive(tr_S_SCTP_CommunicationLost(?))
- -> value v_ASP_SCTP_ASSOC_CHANGE {
- if (f_Assoc_Exists(v_ASP_SCTP_ASSOC_CHANGE.client_id)) {
- if (v_Entity.commStatus == aSP_Active) {
- // MTP3_SP_PORT.send(ASP_MTP3_PAUSE : {});
- }
- v_Entity.commStatus := aSP_Down_sCTP_Initialize_Done;
- v_Entity.sCTP_Assoc_ID := omit;
- if (tsp_logVerbose) {
- log("SCTP_CommunicationLost received");
- log("Association #", v_Entity.sCTP_Assoc_ID, " cleared, state " &
- "changed to: ", v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("Association does not exist, received in CommunicationLost");
- }
- }
- repeat;
- }
- [] SCTP_PORT.receive(tr_S_SCTP_ShutdownComplete(?))
- -> value v_ASP_SCTP_ASSOC_CHANGE {
- if (f_Assoc_Exists(v_ASP_SCTP_ASSOC_CHANGE.client_id)) {
- if (v_Entity.commStatus == aSP_Active) {
- // MTP3_SP_PORT.send(ASP_MTP3_PAUSE : {});
- }
- v_Entity.commStatus := aSP_Down_sCTP_Initialize_Done;
- if (tsp_logVerbose) {
- log("SCTP_ShutdownComplete received");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("Association does not exist, received in ShutdownComplete");
- }
- }
- repeat;
- }
- [] SCTP_PORT.receive(tr_S_SCTP_ShutdownEvent(?))
- -> value v_ASP_SCTP_SHUTDOWN_EVENT {
- if (f_Assoc_Exists(v_ASP_SCTP_SHUTDOWN_EVENT.client_id)) {
- if (v_Entity.commStatus == aSP_Active) {
- // MTP3_SP_PORT.send(ASP_MTP3_PAUSE : {});
- }
- v_Entity.commStatus := aSP_Down_sCTP_Initialize_Done;
- if (tsp_logVerbose) {
- log("SCTP_ShutdownEvent received");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("Association does not exist, received in ShutdownEvent");
- }
- }
- repeat;
- }
- [] SCTP_PORT.receive(tr_ASP_SCTP_Connected(?, ?, ?, ?, ?))
- -> value v_ASP_SCTP_Connected {
- log("Unexpected ASP_SCTP_Connected");
- repeat;
- }
- [] SCTP_PORT.receive(tr_S_SCTP_Restart(?)) -> value v_ASP_SCTP_ASSOC_CHANGE {
- if (f_Assoc_Exists(v_ASP_SCTP_ASSOC_CHANGE.client_id)) {
- log("SCTP_Restart received");
- v_Entity.commStatus := aSP_Down_commUP_Received;
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("Association does not exist, received in SCTP_Restart");
- }
- }
- repeat;
- }
- [] SCTP_PORT.receive(t_ASP_SCTP_SEND_FAILED(?))
- -> value v_ASP_SCTP_SEND_FAILED {
- log("SCTP_Send failed for association #", v_Entity.sCTP_Assoc_ID);
- if (f_Assoc_Exists(v_ASP_SCTP_SEND_FAILED.client_id)) {
- // Daemon sends an error status message here.
- // MTP3_SP_PORT.send(ASP_MTP3_PAUSE : {});
- }
- else {
- log("Send error received for association that doesn't exist");
- }
- repeat;
- }
- [] SCTP_PORT.receive(tr_S_SCTP_CANT_STR_ASSOC(?)) {
- repeat;
- }
- [] SCTP_PORT.receive {
- repeat;
- }
-}
-
-// After reception of SCTP_CommunicationUp M3UA ASPUP/ASPAC is resent by the
-// entity if it didn't receive ASPUP_Ack/ASPAC_Ack.
-altstep as_handleM3UA_timers() runs on M3UA_CT
-{
- [] T_ASPUP_resend.timeout {
- if ((v_Entity.commStatus == aSP_Down_commUP_Received) or
- (v_Entity.commStatus == aSP_Down_ASPUP_Sent)) {
- // Try to send ASPUP again.
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA(valueof(t_PDU_M3UA_ASPUP(omit, omit))),
- tsp_SCTP_PayloadProtocolID));
- v_Entity.commStatus := aSP_Down_ASPUP_Sent;
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- T_ASPUP_resend.start;
- repeat;
- }
-
- [] T_ASPAC_resend.timeout {
- if ((v_Entity.commStatus == aSP_Inactive) or
- (v_Entity.commStatus == aSP_Inact_ASPAC_Sent)) {
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA(valueof(t_PDU_M3UA_ASPAC(omit, omit, omit))),
- tsp_SCTP_PayloadProtocolID));
- v_Entity.commStatus := aSP_Inact_ASPAC_Sent;
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- T_ASPAC_resend.start;
- repeat;
- }
-
- [tsp_Enable_M3UA_Heartbeat] T_Heartbeat.timeout {
- if (v_Entity.commStatus == aSP_Active) {
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA(valueof(t_PDU_M3UA_Heartbeat(omit))),
- tsp_SCTP_PayloadProtocolID));
- if (tsp_logVerbose) {
- log("Heartbeat sent to association #", v_Entity.sCTP_Assoc_ID);
- }
- }
- T_Heartbeat.start;
- repeat;
- }
-}
-
-// Handles SCTP timer events. In server mode we don't associate.
-altstep as_handleSCTP_timers() runs on M3UA_CT
-{
- [not tsp_SCTP_Server_Mode] T_Assoc_restart.timeout {
- if (v_Entity.commStatus == aSP_Down_sCTP_Initialize_Done) {
- f_Associate();
- }
- T_Assoc_restart.start;
- repeat;
- }
-}
-
-// After reception of SCTP CommunicationUp messages M3UA ASPUP is sent by
-// every entity and the M3UA ASPUP_Ack is received by every entity.
-function f_ASPUP_Sending() runs on M3UA_CT
-{
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0, // streamID
- enc_PDU_M3UA(valueof(t_PDU_M3UA_ASPUP(omit, omit))),
- tsp_SCTP_PayloadProtocolID));
- v_Entity.commStatus := aSP_Down_ASPUP_Sent;
- if (tsp_logVerbose) {
- log("M3UA_ASPUP sent");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
-}
-
-
-// Test if an association with assocID exists or not. We have only one
-// association at the moment, we just check if the given assocID is the same,
-// that is associated with our single entity. If we would have more entities
-// in a table, the index of it should be returned instead of a boolean value.
-function f_Assoc_Exists(integer pl_assocID) runs on M3UA_CT return boolean
-{
- if (v_Entity.sCTP_Assoc_ID == pl_assocID) {
- return true;
- }
- else {
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " not found");
- }
- }
- return false;
-}
-
-function f_handle_M3UA_msg(PDU_M3UA pl_PDU_M3UA) runs on M3UA_CT
-{
- if (ischosen(pl_PDU_M3UA.m3UA_DATA)) {
- if (v_Entity.commStatus == aSP_Active) {
- // Send ASP_MTP3_TRANSFERind message.
- MTP3_SP_PORT.send
- (valueof
- (tr_ASP_MTP3_TRANSFERind_sio
- (substr(oct2bit(pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.nI), 6, 2),
- substr(oct2bit(pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.mP), 6, 2),
- substr(oct2bit(pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.sI), 4, 4),
- oct2int(pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.oPC),
- oct2int(pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.dPC),
- oct2int(pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.sLS),
- pl_PDU_M3UA.m3UA_DATA.messageParameters.protocol_Data.userProtocolData)));
- if (tsp_logVerbose) {
- log("MTP3_SP_PORT: Data received -> TRANSFERind sent");
- }
- }
- else {
- // Buffering indication messages?
- if (tsp_logVerbose) {
- log("MTP3_SP_PORT: Data received, no user connected -> discard");
- }
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_BEAT)) {
- if (v_Entity.commStatus == aSP_Active) {
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA
- (valueof
- (t_PDU_M3UA_Beat_Ack
- (pl_PDU_M3UA.m3UA_BEAT.messageParameters.heartbeat_Data))),
- tsp_SCTP_PayloadProtocolID));
- if (tsp_logVerbose) {
- log("M3UA_BEAT received -> M3UA_BEAT_Ack sent");
- }
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_BEAT received in wrong state");
- }
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_BEAT_Ack)) {
- if (tsp_logVerbose) {
- log("Received M3UA_BEAT_Ack -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_ERR)) {
- if (tsp_logVerbose) {
- log("Received M3UA_ERR -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_NOTIFY)) {
- if (tsp_logVerbose) {
- log("Received M3UA_NOTIFY -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_DUNA)) {
- if (tsp_logVerbose) {
- log("Received M3UA_DUNA -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_DAVA)) {
- if (tsp_logVerbose) {
- log("Received M3UA_DAVA -> discard");
- }
- }
- // In server mode ASP_M3UA_DAUD messages can be received. In response the
- // server must send ASP_M3UA_DAVA messages. It's not checked if we're
- // servers or not.
- else if (ischosen(pl_PDU_M3UA.m3UA_DAUD)) {
- if ((v_Entity.commStatus == aSP_Inactive) or
- (v_Entity.commStatus == aSP_Inact_ASPAC_Sent) or
- (v_Entity.commStatus == aSP_Active)) {
- // Send ASP_M3UA_DAVA message.
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA
- (valueof
- (t_PDU_M3UA_DAVA
- (pl_PDU_M3UA.m3UA_DAUD.messageParameters.network_Appearance,
- pl_PDU_M3UA.m3UA_DAUD.messageParameters.routing_Context,
- pl_PDU_M3UA.m3UA_DAUD.messageParameters.affected_Point_Codes,
- pl_PDU_M3UA.m3UA_DAUD.messageParameters.info_String))),
- tsp_SCTP_PayloadProtocolID));
- if (tsp_logVerbose) {
- log("M3UA_DAUD received -> DAVA sent");
- }
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_DAUD received in wrong state");
- }
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_SCON)) {
- if (tsp_logVerbose) {
- log("Received M3UA_SCON -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_DUPU)) {
- if (tsp_logVerbose) {
- log("Received M3UA_DUPU -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_DRST)) {
- if (tsp_logVerbose) {
- log("Received M3UA_DRST -> discard");
- }
- }
- // In server mode we can receive M3UA_ASPUP messages. The answer will be a
- // M3UA_ASPUP_Ack message to the client.
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPUP)) {
- if (((v_Entity.commStatus == aSP_Down_commUP_Received) or
- (v_Entity.commStatus == aSP_Down_ASPUP_Sent)) and
- tsp_M3UA_Server_Mode) {
- v_Entity.commStatus := aSP_Inactive;
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA(valueof(t_PDU_M3UA_ASPUP_Ack)),
- tsp_SCTP_PayloadProtocolID));
- if (tsp_logVerbose) {
- log("M3UA_ASPUP received -> M3UA_ASPUP_Ack sent");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_ASPUP received in wrong state or the emulation is not in " &
- "M3UA server mode");
- }
- }
- }
- // Receives a M3UA_ASPDN message and sends a M3UA_ASPDN_Ack message in
- // response.
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPDN)) {
- if ((v_Entity.commStatus == aSP_Inactive) or
- (v_Entity.commStatus == aSP_Inact_ASPAC_Sent) or
- (v_Entity.commStatus == aSP_Active)) {
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA(valueof(t_PDU_M3UA_ASPDN_Ack)),
- tsp_SCTP_PayloadProtocolID));
- if (v_Entity.commStatus == aSP_Active) {
- // MTP3_SP_PORT.send(ASP_MTP3_PAUSE : {});
- }
- v_Entity.commStatus := aSP_Down_commUP_Received;
- if (tsp_logVerbose) {
- log("M3UA_ASPDN received -> ASPDN_Ack sent");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("ASPDN received in wrong state or the emulation is not in M3UA " &
- "server mode");
- }
- }
- }
- // The M3UA client receives M3UA_ASPUP_Ack messages from the server. In
- // response of a M3UA_ASPUP message sent by the client.
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPUP_Ack)) {
- if (((v_Entity.commStatus == aSP_Down_ASPUP_Sent) or
- (v_Entity.commStatus == aSP_Inactive)) and
- not tsp_M3UA_Server_Mode) {
- v_Entity.commStatus := aSP_Inactive;
- if (tsp_logVerbose) {
- log("M3UA_ASPUP_Ack received -> send M3UA_ASPAC");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA(valueof(t_PDU_M3UA_ASPAC(omit, omit, omit))),
- tsp_SCTP_PayloadProtocolID));
- // The state changes again after sending the M3UA_ASPAC message.
- v_Entity.commStatus := aSP_Inact_ASPAC_Sent;
- if (tsp_logVerbose) {
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_ASPUP_Ack received in wrong state or the emulation is not " &
- "in M3UA client mode");
- }
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPDN_Ack)) {
- if (tsp_logVerbose) {
- log("Received M3UA_ASPDN_Ack -> discard");
- }
- }
- // M3UA_ASPAC messages are received on the server side. The server sends a
- // M3UA_ASPAC_Ack message back to the client. This step makes the
- // association active on both sides.
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPAC)) {
- if (((v_Entity.commStatus == aSP_Inactive) or
- (v_Entity.commStatus == aSP_Inact_ASPAC_Sent)) and
- tsp_M3UA_Server_Mode) {
- v_Entity.commStatus := aSP_Active;
- if (tsp_logVerbose) {
- log("M3UA_ASPAC received -> M3UA_ASPAC_Ack sent");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- var integer v_i;
- for (v_i := 0; v_i < sizeof(v_TRANSFERreq_Buffer); v_i := v_i + 1) {
- log("Sending buffered message #", v_i);
- f_Send_MTP3_TRANSFERreq(v_TRANSFERreq_Buffer[v_i]);
- }
- v_TRANSFERreq_Buffer := {};
- // Send M3UA_ASPAC_Ack.
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA
- (valueof
- (t_PDU_M3UA_ASPAC_Ack
- (pl_PDU_M3UA.m3UA_ASPAC.messageParameters.traffic_Mode_Type,
- pl_PDU_M3UA.m3UA_ASPAC.messageParameters.routing_Context))),
- tsp_SCTP_PayloadProtocolID));
- // MTP3_SP_PORT.send(ASP_MTP3_RESUME : {});
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_ASPAC received in wrong state or the emulation is not in " &
- "M3UA server mode");
- }
- }
- }
- // The client receives M3UA_ASPAC_Ack messages from the server. The
- // association will be activated. The buffered messages should be send here.
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPAC_Ack)) {
- if (((v_Entity.commStatus == aSP_Inact_ASPAC_Sent) or
- (v_Entity.commStatus == aSP_Active)) and
- not tsp_M3UA_Server_Mode) {
- // MTP3_SP_PORT.send(ASP_MTP3_RESUME : {});
- v_Entity.commStatus := aSP_Active;
- if (tsp_logVerbose) {
- log("ASPAC_Ack received for association #", v_Entity.sCTP_Assoc_ID);
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- var integer v_i;
- for (v_i := 0; v_i < sizeof(v_TRANSFERreq_Buffer); v_i := v_i + 1) {
- log("Sending buffered message #", v_i);
- f_Send_MTP3_TRANSFERreq(v_TRANSFERreq_Buffer[v_i]);
- }
- v_TRANSFERreq_Buffer := {};
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_ASPAC_Ack received in wrong state on association #",
- v_Entity.sCTP_Assoc_ID, " or the emulation is not in M3UA " &
- "client mode");
- }
- }
- }
- // Receives a M3UA_ASPIA message and sends back a M3UA_ASPIA_Ack message in
- // response.
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPIA)) {
- if (v_Entity.commStatus == aSP_Active) {
- SCTP_PORT.send
- (t_S_SCTP_Send
- (v_Entity.sCTP_Assoc_ID,
- 0,
- enc_PDU_M3UA
- (valueof
- (t_PDU_M3UA_ASPIA_Ack
- (pl_PDU_M3UA.m3UA_ASPIA.messageParameters.routing_Context))),
- tsp_SCTP_PayloadProtocolID));
- // MTP3_SP_PORT.send(ASP_MTP3_PAUSE : {});
- v_Entity.commStatus := aSP_Inactive;
- if (tsp_logVerbose) {
- log("M3UA_ASPIA received -> M3UA_ASPIA_Ack sent");
- log("Association #", v_Entity.sCTP_Assoc_ID, " state changed to: ",
- v_Entity.commStatus);
- }
- }
- else {
- if (tsp_logVerbose) {
- log("M3UA_ASPIA received in wrong state or the emulation is not " &
- "running in M3UA server mode");
- }
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_ASPIA_Ack)) {
- if (tsp_logVerbose) {
- log("Received M3UA_ASPIA_Ack -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_REG_REQ)) {
- if (tsp_logVerbose) {
- log("Received M3UA_REG_REQ -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_REG_RSP)) {
- if (tsp_logVerbose) {
- log("Received M3UA_REG_RSP -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_DEREG_REQ)) {
- if (tsp_logVerbose) {
- log("Received M3UA_DEREG_REQ -> discard");
- }
- }
- else if (ischosen(pl_PDU_M3UA.m3UA_DEREG_RSP)) {
- if (tsp_logVerbose) {
- log("Received M3UA_DEREG_RSP -> discard");
- }
- }
-}
-
-function f_handle_nonM3UA_msg(octetstring pl_PDU) runs on M3UA_CT
-{
- if (v_Entity.commStatus == aSP_Active) {
- // Send TRANSFERind message.
- MTP3_SP_PORT.send(valueof
- (tr_ASP_MTP3_TRANSFERind_sio
- ('00'B,
- '00'B,
- '0000'B,
- 0,
- 0,
- 0,
- pl_PDU)));
- if (tsp_logVerbose) {
- log("Non-M3UA DATA received -> TRANSFERind sent");
- }
- }
- else {
- if (tsp_logVerbose) {
- log("DATA received, but no user connected -> discard");
- }
- }
-}
-
-}
diff --git a/MTP3asp_CNL113337/MTP3asp_CNL113337.tpd b/MTP3asp_CNL113337/MTP3asp_CNL113337.tpd
deleted file mode 100644
index bc2b89eec..000000000
--- a/MTP3asp_CNL113337/MTP3asp_CNL113337.tpd
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
- MTP3asp_CNL113337
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TARGET_TEST
-
-
-
-
- true
- true
- true
- bin/MTP3asp_CNL113337
-
- TARGET_TEST
-
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
-
- true
- true
- true
- bin/MTP3asp_CNL113337
-
- TARGET_TEST
-
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
-
- true
- true
- true
- bin/MTP3asp_CNL113337
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
diff --git a/MTP3asp_CNL113337/demo/MTP3asp_PT.cc b/MTP3asp_CNL113337/demo/MTP3asp_PT.cc
deleted file mode 100644
index 37bab8f04..000000000
--- a/MTP3asp_CNL113337/demo/MTP3asp_PT.cc
+++ /dev/null
@@ -1,2952 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2012 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_PT.cc
-// Description: Implementation of port MTP3asp_PT
-// This test port is written to connect TTCN-3 to SEA according
-// to specification ITU-T SS7 MTP3, ANSI, TCC, IETF, MPT
-// Reference: ITU-T Recommendation Q.704, RFC3332
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2012-05-24
-// Contact: http://ttcn.ericsson.se
-
-// IMPORTANT MODIFICATION:
-// mtp3_ttc uses ALWAYS 16 bits long SPCs, regardless of mtp3_ni sio
-
-#include "MTP3asp_PT.hh"
-
-#include "MTP3asp_Types.hh"
-#include "MTP3asp_PortType.hh"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-
-// Constans for M3UA, see rfc 3332 and 2/1056-FCPW 101 86/P-1
-// Constants for decoding M3UA common headers
-#define M3UA_VER_OFFS 0
-#define M3UA_CLS_OFFS 2
-#define M3UA_TYP_OFFS 3
-#define M3UA_LGT_OFFS 4
-#define M3UA_MSG_OFFS 8
-#define M3UA_MSG_LENGTH_LENGTH 4
-
-// Constants for M3UA protocol
-//Msg classes
-#define M3UA_MSG_CLS_MGMT 0x00
-#define M3UA_MSG_CLS_TRNSFM 0x01
-#define M3UA_MSG_CLS_SSNM 0x02
-#define M3UA_MSG_CLS_ASPSM 0x03
-#define M3UA_MSG_CLS_ASPTM 0x04
-#define M3UA_MSG_CLS_RKM 0x09
-//Msg types
-#define M3UA_MSG_TYP_MGMT_ERR 0x00
-#define M3UA_MSG_TYP_MGMT_NTFY 0x01
-
-#define M3UA_MSG_TYP_TRSNFM_DATA 0x01
-
-#define M3UA_MSG_TYP_SSNM_DUNA 0x01
-#define M3UA_MSG_TYP_SSNM_DAVA 0x02
-#define M3UA_MSG_TYP_SSNM_DAUD 0x03
-#define M3UA_MSG_TYP_SSNM_SCON 0x04
-#define M3UA_MSG_TYP_SSNM_DUPU 0x05
-#define M3UA_MSG_TYP_SSNM_DRST 0x06
-
-#define M3UA_MSG_TYP_ASPSM_ASPUP 0x01
-#define M3UA_MSG_TYP_ASPSM_ASPDN 0x02
-#define M3UA_MSG_TYP_ASPSM_BEAT 0x03
-#define M3UA_MSG_TYP_ASPSM_ASPUPAck 0x04
-#define M3UA_MSG_TYP_ASPSM_ASPDNAck 0x05
-#define M3UA_MSG_TYP_ASPSM_BEATAck 0x06
-
-#define M3UA_MSG_TYP_ASPTM_ASPAC 0x01
-#define M3UA_MSG_TYP_ASPTM_ASPIA 0x02
-#define M3UA_MSG_TYP_ASPTM_ASPACAck 0x03
-#define M3UA_MSG_TYP_ASPTM_ASPIAAck 0x04
-
-#define M3UA_MSG_TYP_RKM_REGREQ 0x01
-#define M3UA_MSG_TYP_RKM_REGRSP 0x02
-#define M3UA_MSG_TYP_RKM_DEREGREQ 0x03
-#define M3UA_MSG_TYP_RKM_DEREGRESP 0x04
-
-//parameters
-//common for all adaptation layer
-#define PAR_PREFIX_COMMON 0x00
-#define PAR_INFO_STR 0x04
-#define PAR_ROUTING_CTX 0x06
-#define PAR_DIAG_INFO 0x07
-#define PAR_HEART_BEAT 0x09
-#define PAR_TRAFFMODE_T 0x0b
-#define PAR_ERROR_CODE 0x0c
-#define PAR_STATUS 0x0d
-#define PAR_ASP_ID 0x11
-#define PAR_AFFECTED_PC 0x12
-#define PAR_CORREL_ID 0x13
-
-//M3UA specific
-#define PAR_PREFIX_M3UA 0x02
-#define PAR_NETW_APP 0x00
-#define PAR_USR_O_CAUSE 0x04
-#define PAR_CNGST_IND 0x05
-#define PAR_CNCRD_IND 0x06
-#define PAR_ROUTING_KEY 0x07
-#define PAR_REG_RSLT 0x08
-#define PAR_DEREG_RSLT 0x09
-#define PAR_LOC_RK_ID 0x0a
-#define PAR_DPC 0x0b
-#define PAR_SI 0x0c
-#define PAR_OPC_LIST 0x0e
-#define PAR_CIRC_RNG 0x0f
-#define PAR_PROT_DATA 0x10
-#define PAR_REG_STAT 0x12
-#define PAR_DEREG_STAT 0x13
-
-// error codes:
-#define PAR_ERRC_IVER 0x01
-#define PAR_ERRC_UNSMC 0x03
-#define PAR_ERRC_UNSMT 0x04
-#define PAR_ERRC_UNTMT 0x05
-#define PAR_ERRC_UNEM 0x06
-#define PAR_ERRC_PERR 0x07
-#define PAR_ERRC_ISI 0x09
-#define PAR_ERRC_RMB 0x0D
-#define PAR_ERRC_ASPIDR 0x0E
-#define PAR_ERRC_IASPID 0x0F
-#define PAR_ERRC_IPARV 0x11
-#define PAR_ERRC_PARFE 0x12
-#define PAR_ERRC_UPAR 0x13
-#define PAR_ERRC_DSU 0x14
-#define PAR_ERRC_INA 0x15
-#define PAR_ERRC_MP 0x16
-#define PAR_ERRC_IRC 0x19
-#define PAR_ERRC_NCFAS 0x1A
-
-
-// --------------------------
-// Basic Test Port functions
-// --------------------------
-using namespace MTP3asp__Types;
-namespace MTP3asp__PortType {
-
-//external functions
-//##########################################################
-
-//f__MTP3__SEA__connect (for MTP3asp_PT)
-BOOLEAN f__MTP3__SEA__connect(MTP3asp__PT& portRef,
- const CHARSTRING& Hostname,const INTEGER& Port,const CHARSTRING& EntityName,const BOOLEAN& Http)
-{
- return f__MTP3__SEA__connect__extern(portRef,Hostname,Port,EntityName,Http);
-}
-//------------
-
-//f__MTP3__SEA__disconnect (for MTP3asp_PT)
-BOOLEAN f__MTP3__SEA__disconnect(MTP3asp__PT& portRef)
-{
- return f__MTP3__SEA__disconnect__extern(portRef);
-}
-//------------
-
-//f__MTP3__SEA__connect__extern
-BOOLEAN f__MTP3__SEA__connect__extern(MTP3asp__PT_PROVIDER& portRef,
- const CHARSTRING& Hostname,const INTEGER& Port,const CHARSTRING& EntityName,const BOOLEAN& Http)
-{
-#ifndef TARGET_TEST
- if (portRef.dynamicConnection && (!(portRef.connectionUp)))
- {
- delete [] portRef.hostname;
- int len = strlen(Hostname);
- portRef.hostname = new char[len + 1];
- memcpy(portRef.hostname, Hostname, len + 1);
-
- portRef.httpport = Port;
-
- delete [] portRef.entityname;
- len = strlen(EntityName);
- portRef.entityname = new char[len + 1];
- memcpy(portRef.entityname, EntityName, len + 1);
-
- if(Http)
- portRef.MTP3_open_channel(TRUE);
- else
- portRef.MTP3_open_channel(FALSE);
-
- if(portRef.wait_for_open())
- {
- portRef.user_connect();
- portRef.connectionUp = TRUE;
- return TRUE;
- }
- }
- else
-#endif
- portRef.log("Dynamic connection feature is not active or already connected.");
- return FALSE;
-}
-//------------
-
-//f__MTP3__SEA__disconnect__extern
-BOOLEAN f__MTP3__SEA__disconnect__extern(MTP3asp__PT_PROVIDER& portRef)
-{
-#ifndef TARGET_TEST
- if (portRef.connectionUp)
- {
- portRef.MTP3_close_connection();
- portRef.connectionUp = FALSE;
- return TRUE;
- }
-#endif
- return FALSE;
-}
-//------------
-
-// Test Port constructor
-MTP3asp__PT_PROVIDER::MTP3asp__PT_PROVIDER(const char *par_port_name)
- : PORT(par_port_name)
-{
- MTP_fd=-1;
- httpport=-1;
- hostname=NULL;
- destinationname = NULL;
- dynamicConnection = FALSE;
-
- const char *str="b303d76a-266c-11d4-b8f5-08002090d3da";
- int len = strlen(str);
- iid_string= new char[len + 1];
- memcpy(iid_string, str, len + 1);
-
- entityname=NULL;
- Filter=Loop=-1;
- Sut_Pc=Tester_Pc=-1;
- Ni_is_set = FALSE;
- MTPServiceType = MTP3itu;
- M3UA_version = 1;
- M3UAState = AssocDown; // unnecessary...
- mtp3_ni=0;
-#ifndef TARGET_TEST
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
-#endif
- forward_pause = FALSE;
- forward_resume = FALSE;
- forward_status = FALSE;
-}
-//------------
-
-// Test Port destructor
-MTP3asp__PT_PROVIDER::~MTP3asp__PT_PROVIDER()
-{
- delete [] hostname;
- delete [] entityname;
- delete [] iid_string;
-}
-//------------
-
-// set_parameter
-void MTP3asp__PT_PROVIDER::set_parameter(const char *parameter_name,
- const char *parameter_value)
-{
- log("set_parameter: %s = %s",parameter_name,parameter_value);
- if (!strcmp(parameter_name,"Hostname"))
- {
- delete [] hostname;
- int len = strlen(parameter_value);
- hostname = new char[len + 1];
- memcpy(hostname, parameter_value, len + 1);
- }
- else if (!strcmp(parameter_name, "HttpPort"))
- {
- httpport = atoi(parameter_value);
- }
- else if (!strcmp(parameter_name,"EntityName"))
- {
- delete [] entityname;
- int len = strlen(parameter_value);
- entityname= new char[len + 1];
- memcpy(entityname, parameter_value, len + 1);
- }
- else if (!strcmp(parameter_name,"DestinationName"))
- {
- delete [] destinationname;
- int len = strlen(parameter_value);
- destinationname= new char[len + 1];
- memcpy(destinationname, parameter_value, len + 1);
- }
- else if (!strcmp(parameter_name,"Filter"))
- {
- if (!strcmp(parameter_value,"ON")) Filter = MTP3_ON;
- else Filter = MTP3_OFF;
- }
- else if (!strcmp(parameter_name,"Loop"))
- {
- if (!strcmp(parameter_value,"ON")) Loop = MTP3_ON;
- else Loop = MTP3_OFF;
- }
- else if (!strcmp(parameter_name,"NI"))
- {
- Ni_is_set = TRUE;
- mtp3_ni = atoi(parameter_value);
- debuglog("Network indicator is set to %i",mtp3_ni);
- }
- else if (!strcmp(parameter_name,"SUT_Pc"))
- {
- Sut_Pc = atoi(parameter_value);
- }
- else if (!strcmp(parameter_name,"TESTER_Pc"))
- {
- Tester_Pc = atoi(parameter_value);
- }
- else if (!strcmp(parameter_name,"M3UA_version"))
- {
- M3UA_version = atoi(parameter_value);
- debuglog("%d",M3UA_version);
- }
-#ifndef TARGET_TEST
- else if (!strcmp(parameter_name,"DynamicConnection"))
- {
- if (!strcasecmp(parameter_value,"ON"))
- {
- dynamicConnection = TRUE;
- }
- }
-#endif
- else if (!strcmp(parameter_name,"MTP3ServiceType"))
- {
- if (!strcmp(parameter_value,"TargetM3UA"))
- {
-#ifndef TARGET_TEST
- error("TargetM3UA not supported, since TARGET_TEST not in Makefile");
-#else
- log("MTP3ServiceType is set to TargetM3UA");
- user_map_p = &MTP3asp__PT_PROVIDER::Target_user_map;
- user_unmap_p = &MTP3asp__PT_PROVIDER::Target_user_unmap;
- MTPServiceType = TargetM3UA;
-#endif
- }
- else if (!strcmp(parameter_value,"TargetSTC"))
- {
-#ifndef TARGET_TEST
- error("TargetSTC not supported, since TARGET_TEST not in Makefile");
-#else
- log("MTP3ServiceType is set to TargetSTC");
- user_map_p = &MTP3asp__PT_PROVIDER::TargetSTC_user_map;
- user_unmap_p = &MTP3asp__PT_PROVIDER::Target_user_unmap; //Same as by Target M3UA
- MTPServiceType = TargetSTC;
-#endif
- }
-#ifndef TARGET_TEST
- else if (!strcmp(parameter_value,"M3UA"))
- { //M3UA
- log("MTP3ServiceType is set to M3UA");
- interpreter = &MTP3asp__PT_PROVIDER::M3UA_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::M3UA_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::M3UA_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::M3UA_user_unmap;
- MTPServiceType = M3UA;
- }
- else if (!strcmp(parameter_value,"MTP3itu"))
- {
- log("MTP3ServiceType is set to MTP3itu");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3itu;
- }
- else if ( !strcmp(parameter_value,"MTP3ansi"))
- {
- log("MTP3ServiceType is set to MTP3ansi");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3ansi;
- }
- else if ( !strcmp(parameter_value,"MTP3ttc"))
- {
- log("MTP3ServiceType is set to MTP3ttc");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3ttc;
- }
- else if ( !strcmp(parameter_value,"MTP3mpt"))
- {
- log("MTP3ServiceType is set to MTP3mpt");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3mpt;
- }
- else if ( !strcmp(parameter_value,"MTP3bttc"))
- {
- log("MTP3ServiceType is set to MTP3bttc");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3bttc;
- }
- else if ( !strcmp(parameter_value,"MTP3iup"))
- {
- log("MTP3ServiceType is set to MTP3iup");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3iup;
- }
- else if ( !strcmp(parameter_value,"STC"))
- {
- log("MTP3ServiceType is set to STC");
- interpreter = &MTP3asp__PT_PROVIDER::STC_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::STC_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::STC_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::STC_user_unmap;
- MTPServiceType = STC;
- }
-#endif
- else
- {
- log("Unsupported MTP3ServiceType: %s, falling back to MTP3itu",
- parameter_value);
- }
- }
- else if(strcasecmp(parameter_name, "forward_pause") == 0)
- {
- if (strcasecmp(parameter_value,"forward") == 0)
- forward_pause = TRUE;
- else if(strcasecmp(parameter_value,"ignore") == 0)
- forward_pause = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only forward and ignore can be used!" ,
- parameter_value, parameter_name);
- }
- else if(strcasecmp(parameter_name, "forward_resume") == 0)
- {
- if (strcasecmp(parameter_value,"forward") == 0)
- forward_resume = TRUE;
- else if(strcasecmp(parameter_value,"ignore") == 0)
- forward_resume = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only forward and ignore can be used!" ,
- parameter_value, parameter_name);
- }
- else if(strcasecmp(parameter_name, "forward_status") == 0)
- {
- if (strcasecmp(parameter_value,"forward") == 0)
- forward_status = TRUE;
- else if(strcasecmp(parameter_value,"ignore") == 0)
- forward_status = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only forward and ignore can be used!" ,
- parameter_value, parameter_name);
- }
- else
-#ifdef TARGET_TEST
- if(!parameter_set(parameter_name ,parameter_value)) //TCP parameters
-#endif
- log("Unsupported parameter: %s", parameter_name);
-}
-//------------
-
-// User map
-void MTP3asp__PT_PROVIDER::user_map(const char *system_port)
-{
- if (user_map_p == NULL)
- error("Parameter MTP3ServiceType should be set to TargetM3UA in TARGET_TEST mode!");
-
- (this->*user_map_p)(system_port);
-}
-//------------
-
-// User unmap
-void MTP3asp__PT_PROVIDER::user_unmap(const char *system_port)
-{
- (this->*user_unmap_p)(system_port);
-}
-//------------
-
-#ifndef TARGET_TEST
-// User connect
-void MTP3asp__PT_PROVIDER::user_connect()
-{
- (this->*user_connect_p)();
-}
-//------------
-#endif
-
-//User start
-void MTP3asp__PT_PROVIDER::user_start()
-{ debuglog("user start ordered");
-}
-//------------
-
-//User stop
-void MTP3asp__PT_PROVIDER::user_stop()
-{ debuglog("User stop ordered");
-}
-//------------
-
-//Event Handler
-void MTP3asp__PT_PROVIDER::Handle_Fd_Event(int fd,
- boolean is_readable, boolean is_writable, boolean is_error)
-{
- if (MTPServiceType == TargetM3UA )
- {
-#ifdef TARGET_TEST
- //In case of target Abstract Socket handles the received message
- Handle_Socket_Event(fd, is_readable, is_writable, is_error);
-#endif
- }
-#ifndef TARGET_TEST
- else
- {
- int result;
-
- result = MPH_ProcessConnection(myConnection);
-
- if (result <= 0)
- {
- MPH_CloseConnection(myConnection);
- if (result == 0) log("Connection closed by peer.");
- else log("Error in incoming message.");
- }
- }
-#endif
-}
-
-void MTP3asp__PT_PROVIDER::Handle_Timeout(double time_since_last_call)
-{
-#ifdef TARGET_TEST
- Handle_Timeout_Event(time_since_last_call);
-#endif
-}
-//------------
-
-//Outgoing send
-void MTP3asp__PT_PROVIDER::outgoing_send(const ASP__MTP3__TRANSFERreq& send_par)
-{
- MTP3__Field__sio sio_field = send_par.sio();
-#ifndef TARGET_TEST
- int si=bit2int(sio_field.si());
-#endif
-
- OCTETSTRING sio_oct = bit2oct(sio_field.ni()+sio_field.prio()+sio_field.si());
- OCTETSTRING bttc_oct = int2oct(stored_bttc_octet, 1); // additional octet for MTP3bttc
-
- //Message sending by testing on Target
- if (MTPServiceType == TargetM3UA)
- {
-#ifdef TARGET_TEST
- OCTETSTRING tcpData = int2oct(1,1); //Message type
- tcpData = tcpData + int2oct(send_par.data().lengthof()+15,4); //Length
- tcpData = tcpData + sio_oct;
- tcpData = tcpData + int2oct(send_par.opc(),4);
- tcpData = tcpData + int2oct(send_par.dpc(),4);
- tcpData = tcpData + int2oct(send_par.sls(),1);
- tcpData = tcpData + send_par.data();
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Transfer Req message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-#endif
- return;
- }
- //Message sending by testing on Target
- if (MTPServiceType == TargetSTC)
- {
-#ifdef TARGET_TEST
- OCTETSTRING tcpData = int2oct(1,1); //Message type
- tcpData = tcpData + int2oct(send_par.data().lengthof()+15,4); //Length
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + send_par.data();
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Transfer Req (STC) message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-#endif
- return;
- }
-#ifndef TARGET_TEST
- if (dynamicConnection &&(!connectionUp))
- {
- warn("Connection was not activated via function f_M3UA_SEA_connect.");
- return;
- }
-
- unsigned int offset;
- int MSU_length = send_par.data().lengthof();
- int M3UA_par_length;
- int length;
- int labellen; // sio+routinglabel length
-
- switch ( MTPServiceType)
- {
- case STC:
- length = MSU_length;
- memcpy(buffer, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3iup:
- if(si==4)
- {
- offset = 0;
- labellen=6; //ITU-T:sio(1byte) + standard telephony label(5byte)
- length = MSU_length+labellen;
- buffer[0] = *((const unsigned char*)sio_oct);
- SetPointCodesIUP(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- }
- else
- {
- offset = 0;
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- }
- break;
- case MTP3itu:
- offset = 0;
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3ansi:
- offset = 0;
- labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T1.111.4
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3ttc:
- offset = 0;
- //if (mtp3_ni==0){ labellen=5;}
- //else {
- labellen=6;
- //} //TTC: sio(1byte) +routing label(6byte) see ...
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3bttc:
- offset = 0;
- buffer[offset] = *((const unsigned char*)bttc_oct);
- offset += 1;
- labellen=7; //routing label(7byte)
- length = 1 + MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3mpt:
- offset = 0;
- if (mtp3_ni==2)
- { labellen=8;} //MPT national: sio(1byte) +routing label(7byte)
- else
- { labellen=5;} //MPT international: sio(1byte) +routing label(4byte)
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen,
- send_par.data(), send_par.data().lengthof());
- break;
- case M3UA :
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 test port debug: Message to be encoded is: {");
- send_par.data().log();
- TTCN_Logger::log_event(" ");
- if( M3UAState != AssocActive )
- {
- TTCN_Logger::log_event(" M3UAState is not ready to send data. Its state code: %d",AssocActive);
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- return;
- }
- //calculating lengths
- M3UA_par_length = MSU_length + 16; // ProtocolData parameter
- // header length=16 <== see f
- TTCN_Logger::log_event(", Adjusted M3UA_par_length to %d to support 16 octets M3UA param header",M3UA_par_length);
- length = 8 + M3UA_par_length; //msg length = header+par
- TTCN_Logger::log_event(", M3UA MSU_length is %d ==> there should be %d padding octets", MSU_length, 4-(MSU_length%4));
- if (MSU_length%4) { //should be padded to be multiple of 4 octets
- length += 4 - (MSU_length%4); //padding shall be counted in msg
- //length, but not in par_length
- }
- TTCN_Logger::log_event(", Set msg length (which includes 8 octets M3UA hdr) to %d ",length);
-
- //filling the first part of the buffer
- //common msg hdr ======================================
- buffer[0] = M3UA_version;
- buffer[1] = 0x00; //spare
- buffer[2] = M3UA_MSG_CLS_TRNSFM; // msg class
- buffer[3] = M3UA_MSG_TYP_TRSNFM_DATA; // msg type
- encode_32b_int(buffer+4, length); //msg length, 4 bytes
- //ProtocolData parameter header=========================
- //tag
- buffer[M3UA_MSG_OFFS] = PAR_PREFIX_M3UA; //par. tag 1st octet
- buffer[M3UA_MSG_OFFS+1] = PAR_PROT_DATA; // par tag 2nd octet
- //length, NOTE: should not contain the padding bytes!
- encode_16b_int(buffer+M3UA_MSG_OFFS+2,M3UA_par_length);
- //OPC,DPC
- encode_32b_int(buffer+M3UA_MSG_OFFS+4,send_par.opc());
- encode_32b_int(buffer+M3UA_MSG_OFFS+8,send_par.dpc());
- //SI, NI, MP, SLS
- buffer[M3UA_MSG_OFFS+12] = bit2int(sio_field.si()); // SI LSb aligned
- buffer[M3UA_MSG_OFFS+13] = bit2int(sio_field.ni()); // NI LSb aligned
- buffer[M3UA_MSG_OFFS+14] = bit2int(sio_field.prio()); //MP LSb
- //aligned
- buffer[M3UA_MSG_OFFS+15] = 0xFF & send_par.sls(); //SLS
- // finally the MTP3 MSU itself....
- offset = M3UA_MSG_OFFS + 16;
- TTCN_Logger::log_event(", buffer offset is now set to %d", offset);
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- //append MTP3 MSU
- memcpy(buffer + offset, send_par.data(), send_par.data().lengthof());
-
- //padding
- for (int ii = 0; ii< (MSU_length%4); ++ii) buffer[offset+MSU_length+ii]= 0x00;
- break;
- default:
- error("Invalid MTP3ServiceType setting!");
- }
- if (TTCN_Logger::log_this_event(TTCN_DEBUG))
- {
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("The encoded buffer is: {");
- OCTETSTRING(length, buffer).log();
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- }
- send_msg(buffer, length);
-#endif
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::log(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::warn(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_WARNING);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::debuglog(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::error(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_ERROR);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
- TTCN_error("Fatal error in MTP3 Test Port %s.", get_name());
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::close_log_event()
-{
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
-}
-//------------
-
-
-#ifndef TARGET_TEST
-// --------------------------------------------
-// Functions and definitions for test with SEA
-// --------------------------------------------
-
-// Functions of MPH toolkit
-// ---------------------------
-void connectCallback(CONNECTION* con, int channel, void *clientData)
-{
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Opening channel succeeded "
- "(channel number is %u)", channel);
- ((MTP3asp__PT_PROVIDER *)clientData)->set_channel(channel);
- if(((MTP3asp__PT_PROVIDER *)clientData)->dynamicConnection)
- ((MTP3asp__PT_PROVIDER *)clientData)->conn_state = 1;
-}
-
-void messageCallback(CONNECTION* con, int channel, int length,
- unsigned char *msg, void *clientData)
-{
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Incoming message from channel: %d",channel);
- ((MTP3asp__PT_PROVIDER *)clientData)->doInterpret(msg,length,channel,con);
-}
-
-void closeCallback(CONNECTION* con, int channel, void *clientData)
-{
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Closed channel: %d", channel);
-}
-
-void errorCallback(CONNECTION* con, char *name, char *errorMessage,
- void *clientData)
-{
- if(((MTP3asp__PT_PROVIDER *)clientData)->dynamicConnection)
- {
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Opening channel %s failed: %s", name, errorMessage);
- ((MTP3asp__PT_PROVIDER *)clientData)->conn_state = 2;
- }
- else
- ((MTP3asp__PT_PROVIDER *)clientData)->error("Opening channel %s failed: %s",
- name, errorMessage);
-}
-//------------
-
-//MTP3_open_channel
-void MTP3asp__PT_PROVIDER::MTP3_open_channel(boolean http)
-{
- int result;
- int Mphport;
- char *perrorString;
- if( Loop == MTP3_ON )
- {
- MTP_fd=-1;
- myConnection = NULL;
- log("MTP3_open_channel finished for LOOP");
- return;
- }
-
- if(http)
- {
- Mphport = MPH_GetMphPort(hostname,httpport,&perrorString);
- }
- else
- {
- Mphport = httpport;
- }
-
- if (Mphport == -1)
- error("GetMphPort failed: %s", *perrorString);
-
- result = MPH_StringToIid(iid_string, &iid);
- if (result == -1)
- error("Converting %s to MPH_IID failed.", iid_string);
-
- myConnection = MPH_OpenConnection(hostname, Mphport);
- if (myConnection == NULL)
- error("Opening connection to %s:%d failed.", hostname, Mphport);
-
- MPH_OpenChannel(myConnection,
- entityname,
- &iid,
- connectCallback,
- messageCallback,
- closeCallback,
- errorCallback,
- this);
-
- MTP_fd = MPH_GetConnectionFd(myConnection);
- if (MTP_fd != -1)
- Handler_Add_Fd_Read(MTP_fd);
- else
- error("Incorrect file descriptor: %d.", MTP_fd);
-}
-//------------
-
-// MTP3_close_connection
-void MTP3asp__PT_PROVIDER::MTP3_close_connection()
-{
- MPH_CloseConnection(myConnection);
- Handler_Remove_Fd_Read(MTP_fd);
- close( MTP_fd );
- //Uninstall_Handler(); // Unnecessary if only socket MTP_fd is in use
-}
-//------------
-
-// wait_for_open
-boolean MTP3asp__PT_PROVIDER::wait_for_open()
-{
- conn_state = 0;
- while(conn_state==0)
- {
- pollfd pollFd = { MTP_fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0) {
- log("MPH channel opening time out");
- return FALSE;
- }
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0) {
- log("MPH channel opening error (%d)", (nEvents < 0) ? errno : 0);
- return FALSE;
- }
- Handle_Fd_Event(MTP_fd, TRUE, FALSE, FALSE);
- }
- if(conn_state == 1) //connectCallback received
- {
- conn_state = 0;
- return TRUE;
- }
- else //errorCallback received
- {
- conn_state = 0;
- return FALSE;
- }
-}
-//------------
-
-//send msg
-void MTP3asp__PT_PROVIDER::send_msg(unsigned char *outbuff, int length)
-{
- OCTETSTRING buff(length,outbuff);
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3/M3UA Test Port (%s): {", get_name());
- TTCN_Logger::log_event("outgoing buffer= ");
- buff.log();
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- if (Loop == MTP3_ON)
- {
- log("Message looped back");
- doInterpret(outbuff, length, channel, myConnection);
- } else
- {
- MPH_SendMessage(myConnection,channel,length,outbuff);
- log("Message sent on channel %d", channel);
- }
-}
-//------------
-
-//Check TestPortVariables
-void MTP3asp__PT_PROVIDER::Check_TestPort_Variables()
-{
- if(!dynamicConnection)
- {
- if (httpport==-1) error("Parameter HttpPort is not set.");
- if (hostname==NULL) error("Parameter Hostname is not set.");
- if (entityname==NULL) error("Parameter EntityName is not set.");
- }
- if (Filter==-1) error("Parameter Filter is not set.");
- if (Loop==-1) error("Parameter Loop is not set.");
- if (Sut_Pc==-1) error("Parameter SUT_Pc is not set.");
- if (Tester_Pc==-1) error("Parameter TESTER_Pc is not set.");
- if (!Ni_is_set) error("Parameter NI is not set.");
-}
-//------------
-
-// -------------------------------------------------
-// STC Functions and definitions for test with SEA
-// -------------------------------------------------
-void MTP3asp__PT_PROVIDER::Check_TestPort_Variables_STC()
-{
- if(!dynamicConnection)
- {
- if (httpport==-1) error("Parameter HttpPort is not set.");
- if (hostname==NULL) error("Parameter Hostname is not set.");
- if (entityname==NULL) error("Parameter EntityName is not set.");
- }
-}
-//------------
-
-//STC user map
-void MTP3asp__PT_PROVIDER::STC_user_map(const char *system_port)
-{
- debuglog("Function STC_user_map started");
- Check_TestPort_Variables_STC();
- if(dynamicConnection)
- {
- connectionUp = FALSE;
- }
- else
- {
- MTP3_open_channel(TRUE);
- STC_user_connect();
- }
-}
-//------------
-
-//STC user connect
-void MTP3asp__PT_PROVIDER::STC_user_connect()
-{
-}
-
-//STC user unmap
-void MTP3asp__PT_PROVIDER::STC_user_unmap(const char *system_port)
-{
- MTP3_close_connection();
- dynamicConnection = FALSE;
-}
-//------------
-
-//STC interpreter
-void MTP3asp__PT_PROVIDER::STC_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
-{
- if ((length==0) || (inbuffer==NULL))
- {
- log("0 byte long message received -> packet dropped.");
- return;
- }
-
- if (length==1)
- {
- log("1 byte long internal SEA message received -> packet dropped.");
- return;
- }
-
- if ( !strcmp((const char*)inbuffer,"start") )
- {
- log("start message received from SEA");
- return;
- }
- else if (!strcmp((const char*)inbuffer,"stop"))
- {
- log("stop message received from SEA");
- return;
- }
-
- // writing out the contents of the buffer
- OCTETSTRING buff(length,inbuffer);
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("incoming buffer: ");
- buff.log();
- TTCN_Logger::end_event();
-
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- recv_sio.ni()= int2bit(0,2);
- recv_sio.prio()= int2bit(0,2);
- recv_sio.si()= int2bit(0,4);
- recv_msg.sio() = recv_sio;
- recv_msg.sls() = 0;
- recv_msg.opc() = 0;
- recv_msg.dpc() = 0;
- recv_msg.data() = OCTETSTRING(length, &inbuffer[0]);
- incoming_message( recv_msg );
-}
-
-// -------------------------------------------------
-// MTP3 Functions and definitions for test with SEA
-// -------------------------------------------------
-
-// SLTM messages for MTP3
-// -----------------------
-unsigned char ttcn_in_sltm[] = {
- 'T','T','C','N','-','3',' ','E','x','e','c','u','t','o','r'};
-
-const int sizeof_ttcn_in_sltm=15;
-
-// ITU:
-unsigned char sltm_msg_itu[] =
-{
- 0x1, //SIO /'test & maint' see Q.704 /14.2.1 => 0x81 suggested !!!
- 0x0, 0x0, 0x0, 0x0, //4 bytes for label (dpc, opc,sls)
- 0x11, //Heading code ITU, see Q.707/5.4
- 0xF0, //spare+Length of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_msg_itu=7+15;
-
-// ANSI:
-unsigned char sltm_msg_ansi[]=
-{
- 0xB1, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0, // 7 bytes for label
- 0x11, // Heading Code ANSI T1.111.7-2001
- 0xF0, // SLC(is 0 OK???)+Length in bytes of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_ansi=10+15;
-
-// TTC:
-unsigned char sltm_msg_ttc_national[]=
-{
- 0x81, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0, // 6 bytes for label TO BE CONT!!!
- 0x11, // Heading Code
- 0xF0, // SLC(is 0 OK???)+Length in bytes of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_msg_ttc_national=9+15;
-
-// BTTC:
-unsigned char sltm_msg_bttc_national[]=
-{
- 0x0, // extra octet, ignored
- 0x81, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0, // 6 bytes for label TO BE CONT!!!
- 0x23, // Heading Code
- 'T', 'T'
-};
-const int sizeof_sltm_msg_bttc_national=1+8+2;
-
-// MPT:
-unsigned char sltm_msg_mpt_national[]=
-{
- 0x81, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0, // 7 bytes for label
- 0x11, // Heading Code
- 0xF0, // SLC(is 0 OK???)+Length in bytes of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_msg_mpt_national=10+15;
-//------------
-
-
-// coder functions for MTP3
-// -------------------------
-// unsigned int<-> unsigned char array
-// Integer encode/decode functions that will encode/decode from/to
-// Result: Least Significant Byte first (in lowest address) = LSB = Little Endian
-void MTP3asp__PT_PROVIDER::encode_56bLSB_int(unsigned char *to, unsigned long long int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
- from >>= 8;
- to[4] = from & 0xFF;
- from >>= 8;
- to[5] = from & 0xFF;
- from >>= 8;
- to[6] = from & 0xFF;
-}
-//------------
-
-unsigned long long int MTP3asp__PT_PROVIDER::decode_56bLSB_int(const unsigned char *from)
-{
- typedef unsigned long long int ull;
- return ((ull) from[0]) |
- ((ull) from[1] <<8)|
- ((ull) from[2] << 16)|
- ((ull) from[3] << 24)|
- ((ull) from[4] << 32)|
- ((ull) from[5] << 40)|
- ((ull) from[6] << 48);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_48bLSB_int(unsigned char *to, unsigned long long int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
- from >>= 8;
- to[4] = from & 0xFF;
- from >>= 8;
- to[5] = from & 0xFF;
-}
-//------------
-
-unsigned long long int MTP3asp__PT_PROVIDER::decode_48bLSB_int(const unsigned char *from)
-{
- typedef unsigned long long int ull;
- return ((ull) from[0]) |
- ((ull) from[1] <<8)|
- ((ull) from[2] << 16)|
- ((ull) from[3] << 24)|
- ((ull) from[4] << 32)|
- ((ull) from[5] << 40);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_40bLSB_int(unsigned char *to, unsigned long long int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
- from >>= 8;
- to[4] = from & 0xFF;
-}
-//------------
-
-unsigned long long int MTP3asp__PT_PROVIDER::decode_40bLSB_int(const unsigned char *from)
-{
- typedef unsigned long long int ull;
- return ((ull) from[0]) |
- ((ull) from[1] <<8)|
- ((ull) from[2] << 16)|
- ((ull) from[3] << 24)|
- ((ull) from[4] << 32);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_32bLSB_int(unsigned char *to, unsigned int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_32bLSB_int(const unsigned char *from)
-{
- return from[0] | (from[1] << 8) | (from[2] << 16) | (from[3] << 24);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_24bLSB_int(unsigned char *to, int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_24bLSB_int(const unsigned char *from)
-{
- return from[0] | (from[1] << 8) | (from[2] << 16);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_16bLSB_int(unsigned char *to, int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_16bLSB_int(const unsigned char *from)
-{
- return from[0] | (from[1] << 8);
-}
-//------------
-
-//MTP3 user map
-void MTP3asp__PT_PROVIDER::MTP3_user_map(const char *system_port)
-{
- debuglog("Function MTP3_user_map started");
- Check_TestPort_Variables();
- if(dynamicConnection)
- {
- connectionUp = FALSE;
- }
- else
- {
- MTP3_open_channel(TRUE);
- MTP3_user_connect();
- }
- debuglog("Function MTP3_user_map finished");
-}
-//------------
-
-//MTP3 user connect
-void MTP3asp__PT_PROVIDER::MTP3_user_connect()
-{
- // Sending out an SLTM message:
- unsigned char * sltm_msg;
- unsigned int offset = 0;
- int sizeof_msg;
- switch( MTPServiceType)
- {
- case MTP3itu:
- case MTP3iup:
- sltm_msg=sltm_msg_itu;
- sizeof_msg=sizeof_sltm_msg_itu;
- break;
- case MTP3ansi:
- sltm_msg=sltm_msg_ansi;
- sizeof_msg=sizeof_sltm_ansi;
- break;
- case MTP3ttc:
- /* if (mtp3_ni == 0){
- sltm_msg=sltm_msg_itu;
- sizeof_msg=sizeof_sltm_msg_itu;
- }
- else {
- */
- sltm_msg=sltm_msg_ttc_national;
- sizeof_msg=sizeof_sltm_msg_ttc_national;
- // }
- break;
- case MTP3bttc:
- sltm_msg=sltm_msg_bttc_national;
- sizeof_msg=sizeof_sltm_msg_bttc_national;
- offset = 1;
- break;
- case MTP3mpt:
- if (mtp3_ni == 2)
- {
- sltm_msg = sltm_msg_mpt_national;
- sizeof_msg = sizeof_sltm_msg_mpt_national;
- } else
- {
- sltm_msg = sltm_msg_itu;
- sizeof_msg = sizeof_sltm_msg_itu;
- }
- break;
- default:
- sltm_msg=sltm_msg_itu;
- sizeof_msg=sizeof_sltm_msg_itu;
- break;
- }
- stored_bttc_octet = 0;
- unsigned char sio = ((unsigned char) mtp3_ni) << 6;
-
- if (Ni_is_set)
- { sltm_msg[0+offset] = sio | 0x1; }
- else
- { sltm_msg[0+offset] = 0x1; };//SIO /'test & maint' see Q.704 /14.2.1 => 0x81 suggested !!!
-
- SetPointCodes(0, Tester_Pc, Sut_Pc, sltm_msg + 1 +offset); // common for ITU, ANSI and TTC
- log("MTP3/SLTM message sending...");
- send_msg(sltm_msg, sizeof_msg);
-}
-//MTP3 user unmap
-void MTP3asp__PT_PROVIDER::MTP3_user_unmap(const char *system_port)
-{
- MTP3_close_connection();
- dynamicConnection = FALSE;
-}
-
-//MTP3 interpreter
-void MTP3asp__PT_PROVIDER::MTP3_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
-{
- if ((length==0) || (inbuffer==NULL))
- {
- log("0 byte long message received -> packet dropped.");
- return;
- }
-
- if (length==1)
- {
- log("1 byte long internal SEA message received -> packet dropped.");
- return;
- }
-
- if ( !strcmp((const char*)inbuffer,"start") )
- {
- log("start message received from SEA");
- return;
- }
- else if (!strcmp((const char*)inbuffer,"stop"))
- {
- log("stop message received from SEA");
- return;
- }
-
- // writing out the contents of the buffer
- OCTETSTRING buff(length,inbuffer);
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("incoming buffer: ");
- buff.log();
- TTCN_Logger::end_event();
-
- unsigned int offset = 0;
- if ( MTPServiceType==MTP3bttc )
- {
- stored_bttc_octet = inbuffer[0];
- offset = 1;
- }
- int labellen; // sio+routinglabel length
- int rec_ni = (inbuffer[offset]) >> 6; //network indicator
- if (rec_ni != mtp3_ni)
- error("Received NI is different from sent NI.");
-
- unsigned char sio = inbuffer[offset];
- unsigned int si = sio&0x0F;
-
- if ( MTPServiceType==MTP3itu )
- { labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- }
- else if ( MTPServiceType==MTP3iup )
- {
- if(si==4)
- labellen=6; //ITU-T:sio(1byte) + standard telephony label(5byte)
- else
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- }
- else if ( MTPServiceType==MTP3ansi )
- { labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T1.111.4
- }
- else if (MTPServiceType==MTP3ttc)
- { labellen=6; //new (2004-03-02): 6= sio(1byte)+ routing label(5bytes)
- }
- else if (MTPServiceType==MTP3mpt)
- {
- if ( mtp3_ni == 2)
- {labellen=8;} //MPT national: sio(1byte) +routing label(7byte)
- else
- {labellen=5;} //MPT international: sio(1byte) +routing label(4byte)
- }
- else if (MTPServiceType==MTP3bttc)
- { labellen=7; //7= sio(1byte)+ routing label(6bytes)
- }
- else
- { log("incorrect MTPServiceType - programming error-> packet dropped");
- return;
- }
-
- // checking SIO field (first incoming byte) - management or test message
- switch (si)
- {
- case 0: processing_MTP3_management_msg(inbuffer+offset,length-offset);
- return;
- case 1: //MTP3itu
- case 2: processing_MTP3_test_msg(inbuffer+offset,length-offset); //MTP3ansi
- return;
- default:
- break;
- }
-
- // filling up TTCN structure
- if ((Loop==MTP3_ON) || (!Filter) || (Filter&&Check_PcMatch(Sut_Pc,Tester_Pc,&inbuffer[offset+1])))
- {
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- BITSTRING sio_bit = oct2bit(OCTETSTRING(1,inbuffer+offset));
- recv_sio.ni()= substr(sio_bit,0,2);
- recv_sio.prio()= substr(sio_bit,2,2);
- recv_sio.si()= substr(sio_bit,4,4);
- recv_msg.sio() = recv_sio;
- unsigned int sls,opc,dpc;
- if ( (MTPServiceType==MTP3iup) && (si==4) )
- GetPointCodesIUP(sls,opc,dpc,&inbuffer[1]);
- else
- GetPointCodes(sls,opc,dpc,&inbuffer[offset+1]);
- recv_msg.sls() = sls;
- recv_msg.opc() = opc;
- recv_msg.dpc() = dpc;
- int len;
- len= length-labellen-offset; //len= length-labellen;
- recv_msg.data() = OCTETSTRING(len, &inbuffer[offset+labellen]);
- incoming_message( recv_msg );
- }
- else
- { log("The rooting label (OPC, DPC) not matched with the filter setting -> packet dropped.");
- return;
- }
-}
-
-void MTP3asp__PT_PROVIDER::processing_MTP3_management_msg(unsigned char* inbuff,int len)
-{
- int outlen=0;
- int labellen; // sio+routinglabel length
- int chm_addlen; // (Changeback) additional length = Heading Code + SLC+ (changeback codes)
- int mim_addlen; // (MIM) -"-
- unsigned int offset = 0;
- OCTETSTRING bttc_oct = int2oct(stored_bttc_octet, 1); // additional octet for MTP3bttc
-
- if ( MTPServiceType==MTP3itu || MTPServiceType==MTP3iup)
- { labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- chm_addlen = 2;
- mim_addlen = 1;
- }
- else if ( MTPServiceType==MTP3ansi )
- { labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T.1.111.4
- chm_addlen = 3;
- mim_addlen = 2;
- }
- else if (MTPServiceType==MTP3ttc)
- { //if ( mtp3_ni == 0 ) { labellen=5;} //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- //else {
- labellen=6;
- //} //sio(1byte)+ routing label(6bytes) see 3/15517-FAY 112 011/2 or jt-q704.
- }
- else if (MTPServiceType==MTP3mpt)
- { if ( mtp3_ni == 2 ) { labellen=8; }
- else { labellen=5; }
- chm_addlen = 2;
- mim_addlen = 1;
- }
- else if (MTPServiceType==MTP3bttc)
- { labellen=7;//sio(1byte)+routing label(6bytes) see 3/15517-FAY 112 011/2 or jt-q704
- offset = 1;
- }
- else
- { log("incorrect MTPServiceType- programming error-> packet dropped");
- return;
- }
-
- if (MTPServiceType==MTP3bttc)
- {
- buffer[0]=*((const unsigned char*)bttc_oct); //additional stored octet in front
- buffer[1]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[2],&inbuff[1],len))
- { log("incorrect incoming management message -> packet dropped.");
- return;
- }
- }
- else
- {
- buffer[0]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[1],&inbuff[1],len))
- { log("incorrect incoming management message -> packet dropped.");
- return;
- }
- }
-
- // Changeover & changeback(CHM) see ITU: Q.704/15.4.1 ANSI: T.1.111.4/15.2-4
- if (inbuff[labellen]==0x51) //CBD
- {
- outlen=labellen+chm_addlen;
- if (len packet dropped.");
- return;
- }
- else
- { buffer[offset + labellen]= 0x61; // Heading Code <- CBA
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],len-labellen-1);
- outlen = len;
- }
- }
- else if (inbuff[labellen]==0x16) //MIM H0=6=Mgmt inhibit msg, H1=1=LIN
- {
- outlen=labellen+mim_addlen;
- if (len packet dropped.");
- return;
- }
- else
- {
- buffer[offset + labellen]= 0x56; // LIN -> LID ; LID = link inhibit denied
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],(len-labellen-1)); //SLC+spare+...
- outlen = len;
- }
- }
- else if (inbuff[labellen]==0x17 && (MTPServiceType==MTP3iup))
- {
- if(forward_resume) incoming_message(ASP__MTP3__RESUME(NULL_VALUE));
- return;
- }
-
-/* else if (inbuff[labellen]==0x17 && (MTPServiceType==MTP3iup)) //TRM H0=7, H1=1 : TRA
- {
- outlen=labellen+1;
- if (len packet dropped.");
- return;
- }
- else
- {
- outlen = len;
- }
- }*/
- else
- { log("This management message type is not supported -> packet dropped.");
- return;
- }
-
- // send message
- log("function processing_MTP3_management_msg sends a msg");
- send_msg(buffer, outlen+offset);
-}
-
-// processing MTP3 test msg
-// Signalling link test message handling according to Q.707 (ITU) and T1.111.7-2001 (ANSI)
-void MTP3asp__PT_PROVIDER::processing_MTP3_test_msg(unsigned char* inbuff,int len)
-{
- int outlen=0;
- int labellen; // sio+routinglabel length
- int addlen; //Heading Code+length indicator
- //unsigned int ni; //network indicator
- OCTETSTRING bttc_oct = int2oct(stored_bttc_octet, 1); // additional octet for MTP3bttc
- unsigned int offset = 0;
- if ( MTPServiceType==MTP3itu || MTPServiceType==MTP3iup)
- {
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- addlen = 2; //HC(1 byte)+length ind(1 byte) see Q.707/5.8
- }
- else if ( MTPServiceType==MTP3ansi )
- {
- labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T1.111.4
- addlen = 2; //HC(1byte) +(length ind+SLC(1byte)) see T1.111.7-2001/5
- }
- else if (MTPServiceType==MTP3ttc)
- {
- /* if (mtp3_ni == 0) {
- debuglog("processing_MTP3_test_msg/TTC (Japanese) international");
- labellen=5; //TTC (Japanese) international
- addlen=2;
- } else {
- */
- labellen=6; // previously 7
- // TTC national [ 56bits=sio(1byte)+routing label ]
- // r.label= dpc(2bytes)+opc(2bytes)+sls(4bit)+12bits (?)
- addlen=2;
- //}
- }
- else if (MTPServiceType==MTP3mpt)
- {
- if (mtp3_ni == 2)
- { labellen=8; //MPT national
- addlen=2;
- }
- else
- { labellen=5; // MPT international
- addlen=2;
- }
- }
- else if (MTPServiceType==MTP3bttc)
- {
- labellen=7;
- addlen=2;
- offset = 1;
- }
- else
- { log("incorrect MTPServiceType - programming error-> packet dropped");
- return;
- }
-
- if (MTPServiceType==MTP3bttc)
- {
- buffer[0]=*((const unsigned char*)bttc_oct); //additional stored octet in front
- buffer[1]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[2],&inbuff[1],len))
- {
- log("incorrect incoming test message -> packet dropped.");
- return;
- }
- }
- else
- {
- buffer[0]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[1],&inbuff[1],len))
- {
- log("incorrect incoming test message -> packet dropped.");
- return;
- }
- }
-
- // Test message handling: SLTM->SLTA, SRT->SRA, SLTA->TRA, others only logged
- debuglog("\n==>Test message handling: msg type:%x\n", inbuff[labellen] ); // temporary
- switch( inbuff[labellen] )
- {
- case 0x11: //SLTM
- log("MTP3/SLTM message received");
- outlen=labellen+addlen;
- if (len packet dropped.");
- return;
- }
- else
- { buffer[offset + labellen]= 0x21; // SLTA
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],(len-labellen-1));
- outlen = len;
- }
- break;
- case 0x21: //SLTA
- if(!strncmp((const char *)(inbuff+labellen+addlen),(const char *)ttcn_in_sltm,sizeof_ttcn_in_sltm))
- {
- log("MTP3/SLTA message received for SLTM sent by Test Port-> TRA message sent");
- buffer[offset]--;
- buffer[offset + labellen]= 0x17; // TRA
- outlen = labellen+1;
- return;
-// if(forward_resume) incoming_message(ASP__MTP3__RESUME(NULL_VALUE));
- }
- else
- {
- log("MTP3/SLTA message received -> packet dropped");
- return;
- }
- break;
- case 0x23: // TTC (Japanese) SRT (Signalling Routing Test signal)
- log("MTP3ttc/SRT message received");
- outlen=labellen+addlen;
- if (len packet dropped.");
- return;
- }
- else
- { buffer[offset + labellen]= 0x84; // TTC (Japanese) SRA
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],(len-labellen-1));
- outlen = len;
- }
- break;
- case 0x84: // TTC (Japanese) SRA (Signalling Routing test Ack signal)
- log("MTP3ttc/SRA message received -> packet dropped");
- return;
- default:
- log("This management message type is not supported -> packet dropped ");
- return;
- }
-
- // send message
- log("function processing_MTP3_test_msg sends a message");
- send_msg( buffer,outlen+offset);
-}
-
-// Point Code Manipulation (Get/Set/Change)
-// -------------------------------------------------
-void MTP3asp__PT_PROVIDER::GetPointCodes(unsigned int &sls,unsigned int &opc,unsigned int &dpc, unsigned char* msg)
-{
- unsigned int label;
- sls=0; opc=0; dpc=0;
- unsigned long long int Label;
-
- switch( MTPServiceType)
- {
- case MTP3itu:
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF; //dpc = (label&0x00003FFF);
- debuglog("Function GetPointCodes called for service type MTP3itu");
- break;
- case MTP3iup:
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF; //dpc = (label&0x00003FFF);
- debuglog("Function GetPointCodes called for service type MTP3iup");
- break;
- case MTP3ansi:
- Label=decode_56bLSB_int(msg);
- sls = (Label >> 48) & 0xFF; //sls = (Label&0x00FF000000000000)>>48;
- opc = (Label >> 24) & 0xFFFFFF;//opc = (Label&0x0000FFFFFF000000)>>24;
- dpc = Label & 0xFFFFFF; //dpc = (Label&0x0000000000FFFFFF);
- debuglog("Function GetPointCodes called for service type MTP3ansi");
- break;
- case MTP3ttc:
- /*
- if( mtp3_ni == 0)
- {
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF;
- debuglog("Function GetPointCodes called for service type MTP3ttc/international");
- } else
- {*/
- Label=decode_48bLSB_int(msg); //0x010203040506
- sls = (Label>>32)&0xF; // sls = (Label&0x000F00000000)>>32; // only 4 bits!!!
- opc = (Label>>16)&0xFFFF;//opc = (Label&0x0000FFFF0000)>>16;
- dpc = Label&0xFFFF; //dpc = (Label&0x00000000FFFF);
- debuglog("Function GetPointCodes called for service type MTP3ttc/national");
- //}
- break;
- case MTP3bttc:
- Label=decode_48bLSB_int(msg);
- sls = (Label>>32)&0xF; // sls = (Label&0x000F00000000)>>32; // only 4 bits!!!
- opc = (Label>>16)&0xFFFF;//opc = (Label&0x0000FFFF0000)>>16;
- dpc = Label&0xFFFF; //dpc = (Label&0x00000000FFFF);
- debuglog("Function GetPointCodes called for service type MTP3bttc/national");
- break;
- case MTP3mpt:
- if( mtp3_ni == 2)
- {
- Label=decode_56bLSB_int(msg);
- sls = (Label >> 48) & 0xFF; //sls = (Label&0x00FF000000000000)>>48;
- opc = (Label >> 24) & 0xFFFFFF;//opc = (Label&0x0000FFFFFF000000)>>24;
- dpc = Label & 0xFFFFFF; //dpc = (Label&0x0000000000FFFFFF);
- debuglog("Function GetPointCodes called for service type MTP3mpt(nat)");
- }
- else
- {
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF; //dpc = (label&0x00003FFF);
- debuglog("Function GetPointCodes called for service type MTP3mpt(int)");
- }
- break;
- default:
- break;
- }
- debuglog("sls:%u opc:%u, dpc:%u",sls,opc,dpc);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::GetPointCodesIUP(unsigned int &cic,unsigned int &opc,unsigned int &dpc, unsigned char* msg)
-{
- debuglog("Function GetPointCodesIUP called");
- cic=0; opc=0; dpc=0;
- unsigned long long int Label;
- Label=decode_40bLSB_int(msg); //0x0102030405
- cic = (Label>>28)&0xFFF; //cic = (label&0xFFF0000000)>>28;
- opc = (Label>>14)&0x3FFF; //opc = (label&0x000FFFC000)>>14;
- dpc = Label&0x3FFF; //dpc = (label&0x0000003FFF);
- debuglog("cic:%u opc:%u, dpc:%u",cic,opc,dpc);
-}
-
-void MTP3asp__PT_PROVIDER::SetPointCodes(unsigned int sls,unsigned int opc,unsigned int dpc, unsigned char* msg)
-{
- unsigned long long int Sls,Opc,Dpc;
-
- switch( MTPServiceType)
- {
- case MTP3itu:
- encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3itu");
- break;
- case MTP3iup:
- encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3iup");
- break;
- case MTP3ansi:
- Sls=sls; Opc=opc; Dpc=dpc;
- encode_56bLSB_int( msg, ((Sls<<48)|(Opc<<24)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3ansi");
- break;
- case MTP3ttc:
- /* if ( mtp3_ni == 0 ){
- encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3ttc/international");
- } else {
- */
- Sls=sls; Opc=opc; Dpc=dpc;
- encode_48bLSB_int( msg, ((Sls<<32)|(Opc<<16)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3ttc/national");
- //}
- break;
- case MTP3bttc:
- Sls=sls; Opc=opc; Dpc=dpc;
- encode_48bLSB_int( msg, ((Sls<<32)|(Opc<<16)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3bttc/national");
- break;
- case MTP3mpt:
- if ( mtp3_ni == 2 )
- { Sls=sls; Opc=opc; Dpc=dpc;
- encode_56bLSB_int( msg, ((Sls<<48)|(Opc<<24)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3mpt(nat)");
- }
- else
- { encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3mpt(int)");
- }
- break;
- default:
- break;
- }
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::SetPointCodesIUP(unsigned int cic,unsigned int opc,unsigned int dpc, unsigned char* msg)
-{
- unsigned long long int Cic,Opc,Dpc;
- Cic=cic; Opc=opc; Dpc=dpc;
- debuglog("Function SetPointCodesIUP called");
- encode_40bLSB_int( msg, ((Cic<<28)|(Opc<<14)|Dpc ));
-}
-
-//Changes the Point codes: dpc<->opc ie. destination <->orig
-// inbuff starts from dpc i.e doesn't contain sio !!!!
-int MTP3asp__PT_PROVIDER::ChangePointCodes(unsigned char* outbuff, unsigned char *inbuff, int len)
-{
- switch( MTPServiceType)
- {
- case MTP3itu:
- case MTP3iup:
- if (len<5)
- { warn("MTP3itu:len<5. Too short message!"); return 0; };
- break;
- case MTP3ansi:
- if (len<9 ) return 0;
- break;
- case MTP3ttc:
- //if ( mtp3_ni == 0 && len<5)
- //{ warn("MTP3ttc:len<5. Too short message!"); return 0; }
- //else
- if (len<6)
- { warn("MTP3ttc:len<6. Too short message!"); return 0; }
- break;
- case MTP3bttc:
- if (len<7)
- { warn("MTP3bttc:len<7. Too short message!"); return 0; }
- break;
- case MTP3mpt:
- if ( mtp3_ni == 2 && len<8)
- { warn("MTP3mpt:len<8. Too short message!"); return 0; }
- else if (len<5)
- { warn("MTP3mpt:len<5. Too short message!"); return 0; }
- break;
- default:
- warn("Unknown MTPServiceType!!!");
- break;
- }
- unsigned int sls,opc,dpc;
- GetPointCodes(sls,opc,dpc,inbuff);
- SetPointCodes(sls,dpc,opc,outbuff);
- return 1;
-}
-//------------
-
-int MTP3asp__PT_PROVIDER::Check_PcMatch(unsigned int opc, unsigned int dpc, unsigned char *buff)
-{
- unsigned int temp_opc,temp_dpc,temp_sls;
-
- GetPointCodes(temp_sls,temp_opc,temp_dpc,buff);
- if ( (temp_opc == opc) && (temp_dpc == dpc) ) return 1;
- return 0;
-}
-//------------
-
-
-// -------------------------------------------------
-// M3UA Functions and definitions for test with SEA
-// -------------------------------------------------
-
-// Structures for M3UA
-static unsigned char aspup_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version
- 0x00, //reserved
- M3UA_MSG_CLS_ASPSM, //Msg class: ASPSM
- M3UA_MSG_TYP_ASPSM_ASPUP, //Msg type: ASPUP
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
- // ,PAR_PREFIX_COMMON, //optional Info string tag, in included, then msg
- // PAR_INFO_STR //msg length should be +20, that is 28=0x1c
- // 0x00,0x0f, // length: "TTCN-3 Executor" is 15 chars
- // 'T', 'T', 'C', 'N',
- // '-', '3', ' ', 'E',
- // 'x', 'e', 'c', 'u',
- // 't', 'o', 'r', 0x00 //las octet is padding
-};
-const int sizeof_aspup_msg = 8;
-
-static unsigned char aspupack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version
- 0x00, //reserved
- M3UA_MSG_CLS_ASPSM, //Msg class: ASPSM
- M3UA_MSG_TYP_ASPSM_ASPUPAck, //Msg type: ASPUP
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspupack_msg = 8;
-
-static unsigned char aspac_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPTM, //Msg class
- M3UA_MSG_TYP_ASPTM_ASPAC, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspac_msg = 8;
-
-// ASP Active Acknowledge msg:
-static unsigned char aspac_ack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPTM, //Msg class
- M3UA_MSG_TYP_ASPTM_ASPACAck, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspac_ack_msg = 8;
-
-static unsigned char aspia_ack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPTM, //Msg class
- M3UA_MSG_TYP_ASPTM_ASPIAAck, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspia_ack_msg = 8;
-
-// ASP DOWN Acknowledge msg:
-static unsigned char aspdn_ack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPSM, //Msg class
- M3UA_MSG_TYP_ASPSM_ASPDNAck, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspdn_ack_msg = 8;
-
-//ASP Destination Available msg:
-static unsigned char dava_1apc_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- //or updated doc 2/1056-FCPW 101 86/P-1
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_SSNM, //Msg class
- M3UA_MSG_TYP_SSNM_DAVA, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x10, // length ends, 16 octets
- //Affected point code
- PAR_PREFIX_COMMON,
- PAR_AFFECTED_PC,
- 0x00, //par length begins (2 octets)
- 0x08, //length ends, 8 octets
- 0x00, // point code placeholder begins
- 0x00, //
- 0x00, //
- 0x00 // point code placeholder ends
-};
-const int sizeof_dava_1apc_msg = 16;
-
-static unsigned char duna_1apc_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_SSNM, //Msg class
- M3UA_MSG_TYP_SSNM_DUNA, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x10, // length ends, 16 octets
- //Affected point code
- PAR_PREFIX_COMMON,
- PAR_AFFECTED_PC,
- 0x00, //par length begins (2 octets)
- 0x08, //length ends, 8 octets
- 0x00, // point code placeholder begins
- 0x00, //
- 0x00, //
- 0x00 // point code placeholder ends
-};
-const int sizeof_duna_1apc_msg = 16;
-
-static unsigned char error_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_MGMT, //Msg class
- M3UA_MSG_TYP_MGMT_ERR, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x18, // length ends, 16+8 octets
- // Error code field:
- PAR_PREFIX_COMMON,
- PAR_ERROR_CODE,
- 0x00, //par length begins (2 octets)
- 0x08, //length ends, 8 octets
- 0x00, // error code placeholder begins (M3UA_MSG_OFFS+4)
- 0x00, //
- 0x00, //
- 0x00, // error code placeholder ends
- // additional field:
- 0x00, // M3UA_MSG_OFFS+8
- 0x00, // Routing context or Network Appearanance or APC or DI = error_code_id
- 0x00, // par length begins (2 octets)
- 0x08, // length ends, 8 octets
- 0x00, // value placeholder begins M3UA_MSG_OFFS+12
- 0x00, //
- 0x00, //
- 0x00 // value place holder ends
-};
-const int sizeof_error_msg = 24;
-
-void MTP3asp__PT_PROVIDER::M3UA_user_unmap(const char *system_port)
-{
- MTP3_close_connection();
- dynamicConnection = FALSE;
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::M3UA_user_map(const char *system_port)
-{
- M3UAState = AssocDown;
- Check_TestPort_Variables();
- if(dynamicConnection)
- {
- connectionUp = FALSE;
- }
- else
- {
- MTP3_open_channel(TRUE);
- M3UA_user_connect();
- }
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::M3UA_user_connect()
-{
- M3UAState = AssocEstabl;
- // Sending out an ASPUP message
- log("Message ASPUP will be sent");
- send_msg(aspup_msg, sizeof_aspup_msg);
- // NOTE: the ASPUPAck will be handled by M3UA_interpreter, which
- // also will take care of sending ASPAC upon receiving the ASPUPAck
-}
-//------------
-
-// M3UA_interpreter
-void MTP3asp__PT_PROVIDER::M3UA_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
-{
- if ((length==0) || (inbuffer==NULL))
- { warn("0 byte long message received -> packet dropped.");
- return;
- }
-
- if (length==1)
- {
- log("1 byte long internal SEA message received -> packet dropped.");
- return;
- }
-
- if ( !strcmp((const char*)inbuffer,"start") )
- { log("start message received from SEA");
- return;
- }
- else if (!strcmp((const char*)inbuffer,"stop"))
- { log("stop message received from SEA");
- return;
- }
-
- // writing out the contents of the buffer
- OCTETSTRING buff(length,inbuffer);
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("incoming buffer: ");
- buff.log();
- TTCN_Logger::end_event();
-
- // version checking
- if ( inbuffer[M3UA_VER_OFFS] != M3UA_version )
- { warn("Incompatible M3UA protocol version in header -> packet dropped");
- return;
- }
-
- //length checking
- unsigned int indicated_length = decode_32b_int(inbuffer + M3UA_LGT_OFFS );
- if ( indicated_length != (unsigned)length)
- warn("Length in common header (%d) mismatches received buffer length (%d),"
- "Assuming that it is because of the omission of final parameter padding"
- "in indicated length",indicated_length, length);
-
- // checking MSG class
- int unprocessed_chars = 0;
- switch (inbuffer[M3UA_CLS_OFFS])
- {
- case M3UA_MSG_CLS_MGMT:
- unprocessed_chars = processing_M3UA_MGMT_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_TRNSFM :
- unprocessed_chars = processing_M3UA_Transfer_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_SSNM :
- unprocessed_chars = processing_M3UA_SSNM_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_ASPSM :
- unprocessed_chars = processing_M3UA_ASPSM_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_ASPTM :
- unprocessed_chars = processing_M3UA_ASPTM_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_RKM :
- unprocessed_chars = processing_M3UA_RKM_msg(inbuffer, length);
- break;
- default:
- unprocessed_chars = processing_M3UA_unsupported_msg_class(inbuffer, length);
- break;
- }
- debuglog("%d chars remained unprocessed (might be due to padding)", unprocessed_chars);
-}
-//------------
-
-//processing M3UA MGMT msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_MGMT_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_MGMT_msg");
- int offset = M3UA_MSG_OFFS; //pointer for processing
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: Mgmt, ");
- switch (inbuffer[M3UA_TYP_OFFS])//msg type
- {
- case M3UA_MSG_TYP_MGMT_ERR:
- TTCN_Logger::log_event("type: ERROR-> ignored");
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- break;
- case M3UA_MSG_TYP_MGMT_NTFY:
- TTCN_Logger::log_event("type: NOTIFY -> ignored");
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- break;
- default:
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- TTCN_Logger::log_event("Unsupported M3UA msg type %x of class MGMT -> packet dropped.", inbuffer[M3UA_TYP_OFFS]);
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA SSNM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_SSNM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_SSNM_msg");
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: SSNM, ");
- int offset = M3UA_MSG_OFFS; //pointer for processing
-
- switch (inbuffer[M3UA_TYP_OFFS])
- {
- case M3UA_MSG_TYP_SSNM_DAUD:
- while (offset <= length-8 ) //processing potential params
- {
- switch (inbuffer[offset++]) //1st octet of tag
- {
- case PAR_PREFIX_COMMON:
- TTCN_Logger::log_event (" DAUD: COMMON parameter ");
- switch (inbuffer[offset++]) //2nd octet of COMMON tag
- {
- case PAR_ROUTING_CTX:
- TTCN_Logger::log_event ("Routing Context (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- case PAR_INFO_STR:
- TTCN_Logger::log_event ("Info String (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- case PAR_AFFECTED_PC:
- TTCN_Logger::log_event ("Affected Point Code -> will send DUNA/DAVA, ");
- TTCN_Logger::log_event("will ignore remainder parameters after APC}");
- TTCN_Logger::end_event();
- Send_DAVA_DUNA_to_APCinDAUD(Tester_Pc, inbuffer, offset);
- return length-offset;
- default:
- TTCN_Logger::log_event ("invalid COMMON param tag:0x%02x%02x-> skipped", PAR_PREFIX_COMMON, inbuffer[offset-1]);
- send_M3UA_error_msg( PAR_ERRC_PARFE, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- break;
- }
- break;
- case PAR_PREFIX_M3UA:
- TTCN_Logger::log_event ("DAUD: M3UA parameter: ");
- switch (inbuffer[offset++]) //2nd octet of M3UA tag
- {
- case PAR_NETW_APP:
- TTCN_Logger::log_event ("Network Appearance (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- default:
- TTCN_Logger::log_event ("invalid M3UA param tag:0x%02x%02x-> skipped",
- PAR_PREFIX_M3UA, inbuffer[offset-1]);
- send_M3UA_error_msg( PAR_ERRC_PARFE, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- }
- break;
- default: //1st octet of tag
- TTCN_Logger::log_event ("invalid 1st octet param tag:0x%02x in DATA (packet dropped)",inbuffer[offset-1]);
- close_log_event();
- return length -offset;
- break;
- }
- }
- break;
- case M3UA_MSG_TYP_SSNM_DAVA: // Destination Available // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DAVA -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_DUNA: // Destination Unavailable // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DUNA -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_SCON: // Signalling Congestion // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_SCON -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_DUPU: //Destinationn User Part Unavailable // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DUPU -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_DRST: //Destination Restricted // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DRST -> ignored");
- close_log_event();
- break;
- default: //msg type
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- TTCN_Logger::log_event("Unsupported M3UA msg type -> packet dropped.");
- close_log_event();
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA ASPSM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_ASPSM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_ASPSM_msg");
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: ASPSM, ");
-
- int offset = M3UA_MSG_OFFS; //pointer for processing
- switch (inbuffer[M3UA_TYP_OFFS])
- {
- case M3UA_MSG_TYP_ASPSM_ASPUP:
- TTCN_Logger::log_event("type: ASPSM_ASPUP -> ASPUPAck will be sent");
- close_log_event();
- send_msg(aspupack_msg, sizeof_aspupack_msg);
- break;
- case M3UA_MSG_TYP_ASPSM_ASPDN:
- TTCN_Logger::log_event("type: ASPSM_ASPDN -> ASPDNAck will be sent");
- close_log_event();
- send_msg(aspdn_ack_msg, sizeof_aspdn_ack_msg);
- break;
- case M3UA_MSG_TYP_ASPSM_BEAT:
- TTCN_Logger::log_event("type: ASPSM_BEAT -> ASPSM_BEATAck will be sent");
- close_log_event();
- //Sending back the packet as acknowledge:
- inbuffer[M3UA_TYP_OFFS]= M3UA_MSG_TYP_ASPSM_BEATAck;
- send_msg(inbuffer, length);
- break;
- case M3UA_MSG_TYP_ASPSM_ASPUPAck:
- TTCN_Logger::log_event("type: ASPSM_ASPUPAck -> ASPAC will be sent");
- M3UAState = AssocInac;
- TTCN_Logger::log_event(" M3UAState's been changed to AssocInac");
- close_log_event();
- send_msg(aspac_msg, sizeof_aspac_msg );
- break;
- case M3UA_MSG_TYP_ASPSM_ASPDNAck:
- M3UAState = AssocDown;
- TTCN_Logger::log_event(" M3UAState's been changed to AssocDown");
- TTCN_Logger::log_event("type: ASPSM_ASPDNAck -> nothing will be sent");
- close_log_event();
- break;
- case M3UA_MSG_TYP_ASPSM_BEATAck:
- TTCN_Logger::log_event("type: ASPSM_BEATAck -> nothing will be sent");
- close_log_event();
- break;
- default:
- TTCN_Logger::log_event("Unsupported M3UA msg type %x of class ASPSM-> packet dropped.", (unsigned char)(inbuffer[M3UA_TYP_OFFS]));
- close_log_event();
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA ASPTM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_ASPTM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_ASPTM_msg");
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: ASPTM, ");
-
- int offset = M3UA_MSG_OFFS; //pointer for processing
- switch (inbuffer[M3UA_TYP_OFFS])
- {
- case M3UA_MSG_TYP_ASPTM_ASPAC: //ASP Active
- M3UAState = AssocActive;
- TTCN_Logger::log_event("type: ASPTM_ASPAC -> ASPACAck will be sent");
- close_log_event();
- send_msg(aspac_ack_msg, sizeof_aspac_ack_msg);
- break;
- case M3UA_MSG_TYP_ASPTM_ASPIA: //ASP InActive
- TTCN_Logger::log_event("type: ASPTM_ASPIA -> ASPIAAck will be sent");
- close_log_event();
- send_msg(aspia_ack_msg, sizeof_aspia_ack_msg);
- break;
- case M3UA_MSG_TYP_ASPTM_ASPACAck:
- M3UAState = AssocActive;
- TTCN_Logger::log_event("type: ASPTM_ASPACAck -> nothing will be sent");
- TTCN_Logger::log_event("M3UAState's been changed to AssocActive.");
- close_log_event();
- break;
- case M3UA_MSG_TYP_ASPTM_ASPIAAck:
- TTCN_Logger::log_event("type: ASPTM_ASPIAAck -> nothing will be sent");
- close_log_event();
- break;
- default:
- TTCN_Logger::log_event("Unsupported M3UA msg type %x of class ASPSM-> packet dropped.", (unsigned char)(inbuffer[M3UA_TYP_OFFS]));
- close_log_event();
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA RKM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_RKM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_RKM_msg");
- int offset = M3UA_MSG_OFFS; //pointer for processing
- warn("Unsupported M3UA msg class M3UA_RKM -> packet dropped.");
- return length - offset;
-}
-//------------
-
-//processing M3UA unsupported msg class
-int MTP3asp__PT_PROVIDER::processing_M3UA_unsupported_msg_class(unsigned char* inbuffer,int length)
-{
- warn("Unsupported M3UA msg class -> packet dropped.");
- send_M3UA_error_msg( PAR_ERRC_UNSMC, inbuffer[M3UA_CLS_OFFS] );
- int offset = M3UA_MSG_OFFS; //pointer for processing
- return length - offset;
-}
-//------------
-
-// processing_M3UA_Transfer_msg - called if the msg class is "Transfer" i.e M3UA_MSG_CLS_TRNSFM:
-int MTP3asp__PT_PROVIDER::processing_M3UA_Transfer_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_M3UA_Transfer_msg");
- int offset = M3UA_MSG_OFFS; //pointer for processing
- unsigned int recv_opc, recv_dpc,recv_si, recv_ni, recv_mp,recv_sls =0;
- int param_length = 0;
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: DataTrnsf, ");
-
- switch (inbuffer[M3UA_TYP_OFFS]) //msg type
- {
- case M3UA_MSG_TYP_TRSNFM_DATA:
- TTCN_Logger::log_event("msg type DATA, ");
- while (offset <= length-8) //processing potential params
- {
- switch (inbuffer[offset++]) //1st octet of tag. Offset already incremented after the 'case' !
- {
- case PAR_PREFIX_COMMON:
- TTCN_Logger::log_event (" DATA: COMMON parameter, ");
- switch (inbuffer[offset++]) //2nd octet of tag
- {
- case PAR_ROUTING_CTX:
- TTCN_Logger::log_event ("Routing Context (unsupported par) -> skipped), ");
- // Send back an error msg
- skip_par_after_tag(inbuffer, offset);
- break;
- case PAR_CORREL_ID:
- TTCN_Logger::log_event ("Correlation ID (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- default:
- TTCN_Logger::log_event ("invalid COMMON param tag:0x%02x%02x -> skipped", PAR_PREFIX_COMMON, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- break;
- }
- case PAR_PREFIX_M3UA:
- TTCN_Logger::log_event ("DATA: M3UA parameter: ");
- switch (inbuffer[offset++]) //2nd octet of M3UA tag
- {
- case PAR_PROT_DATA:
- //---------------------------------------------
- TTCN_Logger::log_event ("Protocol Data");
- // retrieving length
- param_length = decode_16b_int(inbuffer+offset); offset+=2;
- TTCN_Logger::log_event(", DATA: Length of Protocol Data parameter is %d",param_length);
- // retrieving M3UA protocol data paremeter opc, dpc, si, ni, mp,
- // sls
- recv_opc = decode_32b_int(inbuffer+offset); offset +=4;
- recv_dpc = decode_32b_int(inbuffer+offset); offset +=4;
- recv_si = (unsigned int)(inbuffer[offset++]);
- recv_ni = (unsigned int)(inbuffer[offset++]);
- recv_mp = (unsigned int)(inbuffer[offset++]);
- recv_sls = (unsigned int)(inbuffer[offset++]);
- TTCN_Logger::log_event(", DATA: decoded Protocol Data parameter:");
- // filling up TTCN structure
- if ((Loop==MTP3_ON) ||
- (!Filter) ||
- (Filter &&
- (recv_opc == (unsigned)Sut_Pc) && (recv_dpc == (unsigned)Tester_Pc) &&
- (recv_ni == (unsigned)mtp3_ni)
- ))
- {
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- recv_sio.ni()= int2bit(recv_ni,2);
- recv_sio.prio()= int2bit(recv_mp,2);
- recv_sio.si()= int2bit(recv_si,4);
- recv_msg.sio() = recv_sio;
- recv_msg.sls() = recv_sls;
- recv_msg.opc()= recv_opc;
- recv_msg.dpc() = recv_dpc;;
- recv_msg.data() = OCTETSTRING(param_length-16, // 16 octet paramheader + 5 routing label
- &inbuffer[offset]);
- recv_msg.log();
- close_log_event();
- incoming_message ( recv_msg );
- offset += param_length-16;
- return length - offset;
- }
- else
- {
- close_log_event();
- log("Either the received M3UA(OPC, DPC, SI) fields, or the embedded MTP3 rooting label (OPC, DPC) not matched with the filter setting -> packet dropped.");
- return length - offset;
- }
- break;
- default:
- TTCN_Logger::log_event ("invalid M3UA param tag:0x%02x%02x-> skipped", PAR_PREFIX_M3UA, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- }
- break;
- default:
- TTCN_Logger::log_event ("invalid 1st octet param tag:0x%02x in DATA (packet dropped)",inbuffer[offset-1]);
- close_log_event();
- return length -offset;
- break;
- }
- }// Checking parameter tag (offset packet dropped",
- (unsigned int)(inbuffer[M3UA_TYP_OFFS]));
- close_log_event();
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- break;
- }
-
- return length -offset;
-}
-
-// Set M3UA SingleAPC - Stores field Single Affected Point Code
-void MTP3asp__PT_PROVIDER::Set_M3UA_SingleAPC(unsigned int pc, unsigned char* apc_par)
-{
- //setting par type to APC
- apc_par[0] = PAR_PREFIX_COMMON;
- apc_par[1] = PAR_AFFECTED_PC;
- //setting the length to 4+4 = 8
- apc_par[2] = 0x00;
- apc_par[3] = 0x08;
- //setting the mask
- apc_par[4] = 0x00;
- //setting the pc
- encode_24b_int(apc_par+5,pc);
-}
-
-// Send DAVA DUNA to APCinDAUD
-void MTP3asp__PT_PROVIDER::Send_DAVA_DUNA_to_APCinDAUD(unsigned int dava_sep, unsigned char* inbuffer, int & offset)
-{
- unsigned int length = decode_16b_int(inbuffer+offset);
- offset +=2;
- unsigned int current_pc;
-
- //checking the length
- if ((length < 8) || (length%4))
- { warn("Invalid length in APC parameter -> not processed");
- return;
- }
-
- for (unsigned int i = 4 ; i < length; i += 4)
- {
- if (inbuffer[offset++] == 0x00) // mask===>single pc
- {
- current_pc = decode_24b_int(inbuffer+offset);
- offset +=3;
- if (dava_sep == current_pc) //dava
- { Set_M3UA_SingleAPC(dava_sep, dava_1apc_msg+M3UA_MSG_OFFS);
- log("DAVA will be sent for pc=%d", dava_sep);
- send_msg(dava_1apc_msg, sizeof_dava_1apc_msg);
- }
- else //duna
- { Set_M3UA_SingleAPC(current_pc, duna_1apc_msg+M3UA_MSG_OFFS);
- log("DUNA will be sent for pc=%d", current_pc);
- send_msg(duna_1apc_msg, sizeof_duna_1apc_msg);
- }
- }
- else //masked pc
- { warn("Unsupported masking (mask=0x%02x) for PC=%d in APC parameter -> ignored",
- inbuffer[offset-1], current_pc);
- }
- }
- return;
-}
-
-// send M3UA error msg
-// send an eror msg with error_code. Additional parameter matches to the error code:
-void MTP3asp__PT_PROVIDER::send_M3UA_error_msg(unsigned int error_code, unsigned int add_par )
-{
- encode_16b_int( error_msg+M3UA_MSG_OFFS+4, error_code);
- encode_16b_int( error_msg+M3UA_MSG_OFFS+8, add_par);
- send_msg(error_msg, sizeof_error_msg );
-};
-
-// Coder functions for M3UA: int -> unsigned char array
-//------------------------------------------------------
-// Result:Less significant byte in highest address
-// Most Significant Byte first (in lowest address) = MSB = Big Endian = Network Byte Order
-void MTP3asp__PT_PROVIDER::encode_32b_int(unsigned char *to, unsigned int from)
-{
- to[3] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[0] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_32b_int(const unsigned char *from)
-{
- return from[3] | (from[2] << 8) | (from[1] << 16) | (from[0] << 24);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_24b_int(unsigned char *to, unsigned int from)
-{
- to[2] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[0] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_24b_int(const unsigned char *from)
-{
- return from[2] | (from[1] << 8) | (from[0] << 16);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_16b_int(unsigned char *to, int from)
-{
- to[1] = from & 0xFF;
- from >>= 8;
- to[0] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_16b_int(const unsigned char *from)
-{
- return from[1] | (from[0] << 8);
-}
-//------------
-
-//skip par after tag
-void MTP3asp__PT_PROVIDER::skip_par_after_tag(unsigned char* inbuffer, int &offset)
-{
- offset += decode_16b_int(inbuffer+offset)-2; //the length contains
- //the param hdr. itself
- if (offset%4) offset += 4-(offset%4); //skipping padding
-}
-//------------
-#endif
-
-
-
-#ifdef TARGET_TEST
-// --------------------------
-// Functions for Target testing
-// --------------------------
-// In case of target this function handles the received message
-void MTP3asp__PT_PROVIDER::message_incoming(const unsigned char* msg, int messageLength, int)
-{
- OCTETSTRING rcvData = OCTETSTRING(messageLength, msg);
-
- int msgType = oct2int(substr(rcvData,0,1));
- switch (msgType)
- {
- case 0: //TRANSFERind message received
- if(Tcp_is_up) //Registration was already performed
- {
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- BITSTRING sio_bit = oct2bit(substr(rcvData,5,1));
- recv_sio.ni()= substr(sio_bit,0,2);
- recv_sio.prio()= substr(sio_bit,2,2);
- recv_sio.si()= substr(sio_bit,4,4);
- recv_msg.sio() = recv_sio;
- recv_msg.opc() = oct2int(substr(rcvData,6,4));
- recv_msg.dpc() = oct2int(substr(rcvData,10,4));
- recv_msg.sls() = oct2int(substr(rcvData,14,1));
- recv_msg.data() = substr(rcvData,15,rcvData.lengthof()-15);
- if (Tcp_is_up == 1) //No unregistration ongoing
- incoming_message(recv_msg);
- else //Unregistration ongoing
- log("Received ASP_MTP3_TRANSFERind is ignored since unregistration is started.");
- }
- else
- error("Message was received before successful registration in M3UA server.");
- break;
-
- case 4: //Status message received
- {
- int status = oct2int(substr(rcvData,5,1));
- if(Tcp_is_up == 2) // Unregistration ongoing
- {
- const char * rcvDat = oct2str(rcvData);
- log("Message \"%s\" received. Status = %i", rcvDat, status);
- if (status == 2)
- {
- log("Unregistration performed.");
- Tcp_is_up = 0;
- }
- else if (status == 3)
- error("Unsuccessful unregistration.");
- else if (status == 5) {
- if(forward_status) {
- incoming_message(ASP__MTP3__STATUS(NULL_VALUE));
- }
- else {
- warn("Invalid STATUS message received from M3UA server with status code=%d.", status);
- }
- }
- }
- else if(Tcp_is_up == 1) // Active state
- {
- if (status == 5) {
- if(forward_status) {
- incoming_message(ASP__MTP3__STATUS(NULL_VALUE));
- }
- }
- else {
- warn("Invalid STATUS message received from M3UA server with status code=%d.", status);
- }
- }
- else // Registration ongoing
- {
- const char * rcvDat = oct2str(rcvData);
- log("Message \"%s\" received. Status = %i", rcvDat, status);
- if (status == 0)
- {
- log("Registration performed.");
- Tcp_is_up = 1;
- }
- else {
- error("Unsuccessful registration.");
- }
- }
- }
- break;
- case 5:
- {
- if(forward_pause) incoming_message(ASP__MTP3__PAUSE(NULL_VALUE));
- }
- break;
- case 6:
- {
- if(forward_resume) incoming_message(ASP__MTP3__RESUME(NULL_VALUE));
- }
- break;
-
-
- default: //Unexpected message received
- warn("Invalid message received from M3UA server.");
- }
-}
-
-void MTP3asp__PT_PROVIDER::Check_Target_TestPort_Variables()
-{
- if (Sut_Pc==-1) error("Parameter SUT_Pc is not set.");
- if (Tester_Pc==-1) error("Parameter TESTER_Pc is not set.");
- if (!Ni_is_set) error("Parameter NI is not set.");
- if (M3UA_version==0) error("Parameter M3UA_version cannot be set to 0 in TargetM3UA mode.");
-
-//packet header
- header_descr = new PacketHeaderDescr( 1, 4, PacketHeaderDescr::Header_MSB);
-}
-
-void MTP3asp__PT_PROVIDER::Check_Target_TestPort_Variables_STC()
-{
- if( destinationname == NULL) error("Parameter DestinationName is not set in TargetSTC mode.");
-
- header_descr = new PacketHeaderDescr( 1, 4, PacketHeaderDescr::Header_MSB);
-}
-
-void MTP3asp__PT_PROVIDER::Target_user_map(const char *system_port)
-{
- Tcp_is_up = 0;
- Check_Target_TestPort_Variables();
- map_user();
-
- OCTETSTRING tcpData = int2oct(2,1); //Message type
- if( destinationname == NULL)
- tcpData = tcpData + int2oct(char2oct(system_port).lengthof()+15,4); //Length
- else
- tcpData = tcpData + int2oct(char2oct(destinationname).lengthof()+15,4);
- tcpData = tcpData + int2oct(mtp3_ni,1);
- tcpData = tcpData + int2oct(Sut_Pc,4);
- tcpData = tcpData + int2oct(Tester_Pc,4);
- tcpData = tcpData + int2oct(M3UA_version,1);
- if( destinationname == NULL)
- tcpData = tcpData + char2oct(system_port);
- else
- tcpData = tcpData + char2oct(destinationname);
-
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Registration message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-
- int fd = get_socket_fd();
- pollfd pollFd = { fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0)
- error("No response received for REGISTER message. Exiting after timeout.");
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0)
- error("No response received for REGISTER message. Exiting after error (%d)",
- (nEvents < 0) ? errno : 0);
- Handle_Fd_Event(fd, TRUE, FALSE, FALSE);
-}
-
-void MTP3asp__PT_PROVIDER::TargetSTC_user_map(const char *system_port)
-{
- Tcp_is_up = 0;
- Check_Target_TestPort_Variables_STC();
- map_user();
-
- OCTETSTRING tcpData = int2oct(2,1); //Message type
- tcpData = tcpData + int2oct(char2oct(destinationname).lengthof()+15,4);
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + char2oct(destinationname);
-
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Registration message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-
- int fd = get_socket_fd();
- pollfd pollFd = { fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0)
- error("No response received for REGISTER message. Exiting after timeout.");
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0)
- error("No response received for REGISTER message. Exiting after error (%d)",
- (nEvents < 0) ? errno : 0);
- Handle_Fd_Event(fd, TRUE, FALSE, FALSE);
-}
-
-void MTP3asp__PT_PROVIDER::Target_user_unmap(const char *system_port)
-{
- OCTETSTRING tcpData = int2oct(3,1); //Message type
- tcpData = tcpData + int2oct(6,4); //Length
- tcpData = tcpData + int2oct(0,1);
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Unregistration message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-
- Tcp_is_up = 2; //Unregistration ongoing
-
- while (Tcp_is_up == 2)
- {
- int fd = get_socket_fd();
- pollfd pollFd = { fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0)
- error("No response received for UNREGISTER message. Exiting after timeout.");
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0)
- error("No response received for UNREGISTER message. Exiting after error (%d)",
- (nEvents < 0) ? errno : 0);
- Handle_Fd_Event(fd, TRUE, FALSE, FALSE);
- }
- unmap_user();
-}
-#endif
-}
diff --git a/MTP3asp_CNL113337/demo/MTP3asp_PT.hh b/MTP3asp_CNL113337/demo/MTP3asp_PT.hh
deleted file mode 100644
index 340f24ffa..000000000
--- a/MTP3asp_CNL113337/demo/MTP3asp_PT.hh
+++ /dev/null
@@ -1,249 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_PT.hh
-// Description: Implementation of port MTP3asp_PT
-// This test port is written to connect ttcn to SEA
-// according to specification ITU-T SS7 MTP3, ANSI, TCC, MPT, IETF,
-// Reference: ITU-T Recommendation Q.704, RFC3332
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2009-04-03
-// Contact: http://ttcn.ericsson.se
-
-
-#ifndef MTP3asp_PT_HH
-#define MTP3asp_PT_HH
-
-#include
-
-#ifdef TARGET_TEST
-#include "Abstract_Socket.hh"
-#endif
-
-#ifndef TARGET_TEST
-#include "mphclib.h"
-#endif
-
-
-#define MAXSIZE 1532 //+32 needed for M3UA
-#define MTP3_ON 1
-#define MTP3_OFF 0
-namespace MTP3asp__Types {
- class ASP__MTP3__TRANSFERind;
- class ASP__MTP3__PAUSE;
- class ASP__MTP3__RESUME;
- class ASP__MTP3__STATUS;
- class ASP__MTP3__TRANSFERreq;
-}
-namespace MTP3asp__PortType {
-
-class MTP3asp__PT_PROVIDER : public PORT
-#ifdef TARGET_TEST
- , public Abstract_Socket
-#endif
- {
-protected:
- // pointer to member: user_map/unmap methods
- typedef void (MTP3asp__PT_PROVIDER::*usermap_t)(const char *system_port);
- // pointer to member: user_connect methods
- typedef void (MTP3asp__PT_PROVIDER::*userconnect_t)();
- // pointer to member: interpreter methods
-#ifndef TARGET_TEST
- typedef void (MTP3asp__PT_PROVIDER::*interpreter_t)(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
-
- void M3UA_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
- void M3UA_user_map(const char *system_port);
- void M3UA_user_connect();
- void M3UA_user_unmap(const char *system_port);
- void MTP3_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
- void MTP3_user_map(const char *system_port); // common for MTP3 ITU and MTP3 ANSI
- void MTP3_user_connect();
- void MTP3_user_unmap(const char *system_port);// common for MTP3 ITU and MTP3 ANSI
- void STC_user_connect();
- void STC_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
- void STC_user_map(const char *system_port);
- void STC_user_unmap(const char *system_port);
-#endif
-#ifdef TARGET_TEST
- //Map and unmap for target
- void Target_user_map(const char *system_port);
- void Target_user_unmap(const char *system_port);
- void TargetSTC_user_map(const char *system_port);
-#endif
-
-public:
- MTP3asp__PT_PROVIDER(const char *par_port_name=NULL);
- ~MTP3asp__PT_PROVIDER();
-
- typedef enum { MTP3itu, MTP3ansi, MTP3ttc, MTP3mpt, M3UA, TargetM3UA, MTP3bttc,MTP3iup, STC, TargetSTC } MTPServiceType_t ;
-
- MTPServiceType_t MTPServiceType ; // ctor default is MTP3itu
- void set_parameter(const char *parameter_name, const char *parameter_value);
- void error(const char *msg, ...);
- void log(const char *msg, ...);
-#ifndef TARGET_TEST
- void user_connect();
-
- void set_channel(int chnl) {channel=chnl;};
- void MTP3_open_channel(boolean http);
- void MTP3_close_connection();
-
- boolean wait_for_open();
- int conn_state;
-
- interpreter_t interpreter; // pointer to interpreter members, ctor default is MTP3_ITU_interpreter
- void doInterpret(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
- { (this->*interpreter)(inbuffer,length,from_channel, con); }
-#endif
- //parameter handling
- boolean dynamicConnection, connectionUp;
- char *hostname;
- int httpport;
- char *entityname;
- int MTP_fd;
-
-protected:
- void user_map(const char *system_port);
- void user_unmap(const char *system_port);
-
- void debuglog(const char *msg, ...);
- void warn(const char *msg, ...);
- void close_log_event();
-
- usermap_t user_map_p ; // pointer to user_map members, default is MTP3itu
- usermap_t user_unmap_p; // pointer to user_unmap members, default is MTP3itu
- userconnect_t user_connect_p;
-
- void user_start();
- void user_stop();
-
- void outgoing_send(const MTP3asp__Types::ASP__MTP3__TRANSFERreq& send_par);
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__TRANSFERind& incoming_par) = 0;
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__PAUSE& incoming_par) = 0;
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__RESUME& incoming_par) = 0;
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__STATUS& incoming_par) = 0;
-#ifndef TARGET_TEST
- void encode_56bLSB_int(unsigned char *to, unsigned long long int from);
- long long unsigned int decode_56bLSB_int(const unsigned char *from);
- void encode_48bLSB_int(unsigned char *to, unsigned long long int from);
- long long unsigned int decode_48bLSB_int(const unsigned char *from);
- void encode_40bLSB_int(unsigned char *to, unsigned long long int from);
- long long unsigned int decode_40bLSB_int(const unsigned char *from);
- void encode_32bLSB_int(unsigned char *to, unsigned int from);
- unsigned int decode_32bLSB_int(const unsigned char *from);
- void encode_24bLSB_int(unsigned char *to, int from);
- unsigned int decode_24bLSB_int(const unsigned char *from);
- void encode_16bLSB_int(unsigned char *to, int from);
- unsigned int decode_16bLSB_int(const unsigned char *from);
- void encode_32b_int(unsigned char *to, unsigned int from);
- unsigned int decode_32b_int(const unsigned char *from);
- void encode_24b_int(unsigned char *to, unsigned int from);
- unsigned int decode_24b_int(const unsigned char *from);
- void encode_16b_int(unsigned char *to, int from);
- unsigned int decode_16b_int(const unsigned char *from);
- void skip_par_after_tag(unsigned char* inbuffer, int &offset);
-
- void GetPointCodes(unsigned int &sls,unsigned int &opc,unsigned int &dpc, unsigned char* msg);
- void GetPointCodesIUP(unsigned int &cic,unsigned int &opc,unsigned int &dpc, unsigned char* msg);
- void SetPointCodes(unsigned int sls, unsigned int opc, unsigned int dpc, unsigned char* msg);
- void SetPointCodesIUP(unsigned int cic, unsigned int opc, unsigned int dpc, unsigned char* msg);
- int ChangePointCodes(unsigned char* outbuff, unsigned char *inbuff, int len);
- void Set_M3UA_SingleAPC(unsigned int pc, unsigned char* apc_par); //for ITU and ANSI
- bool Check_M3UA_SingleITUAPC(unsigned int pc, unsigned char* apc_par);
- void Send_DAVA_DUNA_to_APCinDAUD(unsigned int dava_sep, unsigned char* inbuffer, int &offset );
- void processing_MTP3_management_msg(unsigned char* inbuff,int len);
- void processing_MTP3_test_msg(unsigned char* inbuff,int len);
- int processing_M3UA_MGMT_msg(unsigned char* inbuff,int len);
- int processing_M3UA_Transfer_msg(unsigned char* inbuff,int len);
- int processing_M3UA_SSNM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_ASPSM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_ASPTM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_RKM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_unsupported_msg_class(unsigned char* inbuff,int len);
- int Check_PcMatch(unsigned int opc, unsigned int dpc, unsigned char *buff);
- void send_msg(unsigned char *outbuff, int length);
- void send_M3UA_error_msg(unsigned int error_code, unsigned int add_par );
- void Check_TestPort_Variables();
- void Check_TestPort_Variables_STC();
-#endif
-#ifdef TARGET_TEST
- void Check_Target_TestPort_Variables();
- void Check_Target_TestPort_Variables_STC();
-
- //Functions for abstract socket handling
- void message_incoming(const unsigned char*, int length, int client_id = -1);
- void Add_Fd_Read_Handler(int fd) { Handler_Add_Fd_Read(fd); }
- void Add_Fd_Write_Handler(int fd) { Handler_Add_Fd_Write(fd); }
- void Remove_Fd_Read_Handler(int fd) { Handler_Remove_Fd_Read(fd); }
- void Remove_Fd_Write_Handler(int fd) { Handler_Remove_Fd_Write(fd); }
- void Remove_Fd_All_Handlers(int fd) { Handler_Remove_Fd(fd); }
- void Handler_Uninstall() { Uninstall_Handler(); }
- void Timer_Set_Handler(double call_interval, boolean is_timeout = TRUE,
- boolean call_anyway = TRUE, boolean is_periodic = TRUE) {
- Handler_Set_Timer(call_interval, is_timeout, call_anyway, is_periodic);
- }
- const char* local_address_name() { return "localIPAddr";}
- const char* local_port_name() { return "localPort";}
- const char* remote_address_name(){ return "M3UAtarget_TCP_IPAddr";}
- const char* remote_port_name() { return "M3UAtarget_TCP_Port";}
- const char* halt_on_connection_reset_name(){ return "halt_on_connection_reset";}
- const char* server_mode_name() { return "client_mode";}
- const char* socket_debugging_name(){ return "socket_debugging";}
- const char* nagling_name() { return "nagling";}
- const char* server_backlog_name(){ return "server_backlog";}
- const PacketHeaderDescr* Get_Header_Descriptor() const {return header_descr;}
-#endif
-
-private:
- void Handle_Fd_Event(int fd, boolean is_readable, boolean is_writable, boolean is_error);
- void Handle_Timeout(double time_since_last_call);
-
- unsigned char M3UA_version;
- int channel;
- unsigned char buffer[MAXSIZE];
- char *destinationname;
- char *iid_string;
- boolean Ni_is_set;
- int Loop,Filter,Sut_Pc,Tester_Pc;
- typedef enum { AssocDown, AssocEstabl, AssocInac, AssocActive} M3UAStateType_t;
- M3UAStateType_t M3UAState;
- int mtp3_ni; // network indicator in case of MTP3
- int stored_bttc_octet; // used for storage of an additional first byte in MTP3bttc
-
-#ifndef TARGET_TEST
- MPH_IID iid;
- CONNECTION *myConnection;
-#endif
- bool forward_resume, forward_pause, forward_status;
-#ifdef TARGET_TEST
- int Tcp_is_up;
- PacketHeaderDescr *header_descr;
- bool is_packet_hdr_length_offset, is_packet_hdr_nr_bytes_in_length,
- is_packet_hdr_byte_order;
- int packet_hdr_length_offset, packet_hdr_nr_bytes_in_length;
- PacketHeaderDescr::HeaderByteOrder packet_hdr_byte_order;
-#endif
-};
-
-extern BOOLEAN f__MTP3__SEA__connect__extern
- (MTP3asp__PT_PROVIDER& portRef, const CHARSTRING& Hostname,
- const INTEGER& Port, const CHARSTRING& EntityName,const BOOLEAN& Http);
-
-extern BOOLEAN f__MTP3__SEA__disconnect__extern
- (MTP3asp__PT_PROVIDER& portRef);
-
-}
-#endif
diff --git a/MTP3asp_CNL113337/demo/MTP3asp_PortType.ttcn b/MTP3asp_CNL113337/demo/MTP3asp_PortType.ttcn
deleted file mode 100644
index 86b7a83e7..000000000
--- a/MTP3asp_CNL113337/demo/MTP3asp_PortType.ttcn
+++ /dev/null
@@ -1,61 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2008 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_PortType.ttcn
-// Reference: ITU-T Recommendation Q.704, RFC3332
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2008-02-07
-// Contact: http://ttcn.ericsson.se
-
-module MTP3asp_PortType
-{
-
- import from MTP3asp_Types all;
-// *************************************************************************
-// * MTP3 port type definitions *
-// *************************************************************************
-
- // MTP3 port type used by the component up to the MTP3 SAP
- // (eg. any component connected to the MTP3 test port)
- type port MTP3asp_PT message
- {
- in ASP_MTP3_TRANSFERind;
- in ASP_MTP3_PAUSE;
- in ASP_MTP3_RESUME;
- in ASP_MTP3_STATUS;
- out ASP_MTP3_TRANSFERreq;
- } with {extension "provider"}
-
- // MTP3 port type used by the component up to the MTP3 SAP
- // (e.g. the distribution component)
- type port MTP3asp_SP_PT message
- {
- in ASP_MTP3_TRANSFERreq;
- out ASP_MTP3_TRANSFERind;
- }
- with {extension "internal"}
-
-//Connecting functions
-//----------------------------
-external function f_MTP3_SEA_connect
- ( inout MTP3asp_PT portRef,
- in charstring Hostname,
- in integer Port,
- in charstring EntityName,
- in boolean Http //or MPH Port is provided
- )return boolean;
-
-external function f_MTP3_SEA_disconnect
- ( inout MTP3asp_PT portRef
- )return boolean;
-
-}//eof module
diff --git a/MTP3asp_CNL113337/demo/MTP3asp_Types.ttcn b/MTP3asp_CNL113337/demo/MTP3asp_Types.ttcn
deleted file mode 100644
index e96f42016..000000000
--- a/MTP3asp_CNL113337/demo/MTP3asp_Types.ttcn
+++ /dev/null
@@ -1,324 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2006 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_Types.ttcn
-// Description: CCSS7 Message Transfer Part primitive (ASP) definitions
-// according to specification ITU-T SS7 MTP3,
-// Reference: ITU-T Recommendation Q.704, RFC3332, ANSI T.1.111.1-2001, TCC
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2007-09-17
-// Contact: http://ttcn.ericsson.se
-//
-module MTP3asp_Types.objid
- {
- itu_t(0) identified_organization (4) etsi(0) reserved(127)
- etsi_identified_organization(0) ericsson(5) testing (0)
- generic(0) mtp3(0) v96(3) aspDefinitions(3) patchNo(0)
- }
-
-{//start of the module
-
-// *************************************************************************
-// External encoding/decoding functions
-// *************************************************************************
-
-external function enc_MTP3_to_M3UAserver_msg (in MTP3_to_M3UAserver_msg pdu)
- return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-
-external function dec_MTP3_to_M3UAserver_msg(in octetstring stream)
- return MTP3_to_M3UAserver_msg
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-
-// *************************************************************************
-// * Type Definitions Part *
-// *************************************************************************
-group Types
-{
- group MessageTypes
- {
- group ASPs
- {
- //***********************************************************************
- //* ASP type definitions *
- //* Note, that ASP types shall be TTCN-3 definitions to allow *
- //* the use of anytype in the data field *
- //***********************************************************************
-
- type record MTP3_Field_sio
- {
- bitstring ni length(2),
- bitstring prio length(2),
- bitstring si length(4)
- } with { variant "FIELDORDER(msb)";
- };
-
- type record ASP_MTP3_TRANSFERind
- {
- MTP3_Field_sio sio,
- integer opc,
- integer dpc,
- integer sls,
- octetstring data
- } with { variant (opc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (dpc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (sls) "FIELDLENGTH(8)"
- };
-
- type record ASP_MTP3_PAUSE {};
-
- type record ASP_MTP3_RESUME {};
-
- type record ASP_MTP3_STATUS {};
-
- type record ASP_MTP3_TRANSFERreq
- {
- MTP3_Field_sio sio,
- integer opc,
- integer dpc,
- integer sls,
- octetstring data
- } with { variant (opc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (dpc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (sls) "FIELDLENGTH(8)"
- };
- }//end group ASPs
-
- //***********************************************************************
- //* Type definition of the message which is sent between MTP3 test port *
- //* and SCTP server over TCP. *
- //***********************************************************************
- group MTP3_SCTPserver
- {
- type record ASP_REGISTER_M3UA
- {
- integer ni (0..3),
- integer sut_pc,
- integer tester_pc,
- integer m3ua_version,
- charstring entity
- } with { variant (ni) "FIELDLENGTH(8)";
- variant (sut_pc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (tester_pc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (m3ua_version) "FIELDLENGTH(8)"
- };
-
-
- // Possible values:
- // MTP3_to_SCTPserver_data/status:
- const integer reg_ok_status := 0;
- const integer reg_error_status := 1;
- const integer unreg_ok_status := 2;
- const integer unreg_error_status := 3;
-
- const integer send_error_status := 5;
- const integer kill_status := 255;
-
- // MTP3_to_SCTPserver_data/pause:
- const integer SCTP_COMLOST_pause := 0;
- const integer M3UA_ASPDN_pause := 1;
- const integer M3UA_ASPIA_pause := 2;
-
- // MTP3_to_SCTPserver_data/resume:
- const integer ok_resume := 0;
-
- type union MTP3_to_SCTPserver_data
- {
- ASP_MTP3_TRANSFERind transfer_ind,
- ASP_MTP3_TRANSFERreq transfer_req,
- ASP_REGISTER_M3UA register,
- integer unregister (0..255),
- integer status (0..255),
- integer pause (0..255),
- integer resume (0..255)
- }
-
- // MTP3_to_M3UAserver_msg/msgType:
- const integer transfer_ind_msgType := 0;
- const integer transfer_req_msgType := 1;
- const integer register_msgType := 2;
- const integer unregister_msgType := 3;
- const integer status_msgType := 4;
- const integer pause_msgType := 5;
- const integer resume_msgType := 6;
-
- type record MTP3_to_M3UAserver_msg
- {
- integer msgType (0..255),
- integer msgLength,
- MTP3_to_SCTPserver_data data
- } with { variant (data) "CROSSTAG(
- transfer_ind, msgType = transfer_ind_msgType;
- transfer_req, msgType = transfer_req_msgType;
- register, msgType = register_msgType;
- unregister, msgType = unregister_msgType;
- status, msgType = status_msgType;
- pause, msgType = pause_msgType;
- resume, msgType = resume_msgType )";
- variant (msgLength) "FIELDLENGTH(32)";
- variant (msgLength) "LENGTHTO(msgType,msgLength,data)";
- variant (msgLength) "BYTEORDER(last)"
- };
- }//end group MTP3_SCTPserver
- }//end group Messagetypes
-} with {encode "RAW"}//Types
-
-group Templates
-{
- group MessageTemplates
- {
- group ASPtemplates
- {
- // *******************************************************************
- // * ASP template definitions *
- // *******************************************************************
-
- // Base templates
- // These general templates can be used as an example or as a base
- // template for other templates.
- template ASP_MTP3_TRANSFERind t_ASP_MTP3_TRANSFERind
- (
- template MTP3_Field_sio pl_SIO,
- template integer pl_OPC,
- template integer pl_DPC,
- template integer pl_SLS,
- template octetstring pl_data
- ):=
- {
- sio := pl_SIO,
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_sio
- (
- template bitstring pl_NI,
- template bitstring pl_PRIO,
- template bitstring pl_SI,
- template integer pl_OPC,
- template integer pl_DPC,
- template integer pl_SLS,
- template octetstring pl_data
- ):=
- {
- sio :=
- {
- ni := pl_NI,
- prio := pl_PRIO,
- si := pl_SI
- },
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind :=
- {
- sio := ?,
- opc := ?,
- dpc := ?,
- sls := ?,
- data := ?
- }
-
- template ASP_MTP3_TRANSFERreq t_ASP_MTP3_TRANSFERreq
- (
- MTP3_Field_sio pl_SIO,
- integer pl_OPC,
- integer pl_DPC,
- integer pl_SLS,
- octetstring pl_data
- ):=
- {
- sio := pl_SIO,
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERreq tr_ASP_MTP3_TRANSFERreq_sio
- (
- template bitstring pl_NI,
- template bitstring pl_PRIO,
- template bitstring pl_SI,
- template integer pl_OPC,
- template integer pl_DPC,
- template integer pl_SLS,
- template octetstring pl_data
- ):=
- {
- sio :=
- {
- ni := pl_NI,
- prio := pl_PRIO,
- si := pl_SI
- },
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERreq tr_ASP_MTP3_TRANSFERreq :=
- {
- sio := ?,
- opc := ?,
- dpc := ?,
- sls := ?,
- data := ?
- }
-
- template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_stc :=
- {
- sio :=
- {
- ni := '00'B,
- prio := '00'B,
- si := '0000'B
- },
- opc := 0,
- dpc := 0,
- sls := 0,
- data := ?
- }
-
- template ASP_MTP3_TRANSFERreq t_ASP_MTP3_TRANSFERreq_stc
- ( template octetstring pl_data ):=
- {
- sio :=
- {
- ni := '00'B,
- prio := '00'B,
- si := '0000'B
- },
- opc := 0,
- dpc := 0,
- sls := 0,
- data := pl_data
- }
-
- }//end group ASPtemplates
- }//end group Messagetemplates
-}//end group Templates
-
-}//end module
-
-
diff --git a/MTP3asp_CNL113337/demo/Makefile b/MTP3asp_CNL113337/demo/Makefile
deleted file mode 100644
index 53b19d35b..000000000
--- a/MTP3asp_CNL113337/demo/Makefile
+++ /dev/null
@@ -1,353 +0,0 @@
-# This Makefile was generated by the compiler
-# of the TTCN-3 Test Executor version 1.4.pl3
-# for Attila Balasko (ethbaat@duna199) on Mon Sep 15 15:48:45 2003
-
-# Copyright 2000-2003 Conformance Center, Ericsson R & D, Hungary
-# Please send bug reports and comments to Szabo.Janos@eth.ericsson.se
-
-# The following make commands are available:
-# - make, make all Builds the executable test suite.
-# - make compile Translates TTCN-3 and ASN.1 modules to C++.
-# - make clean Removes all generated files.
-# - make dep Creates/updates dependency list.
-# - make archive Archives all source files.
-
-#
-# Set these variables...
-#
-
-# The path of your TTCN-3 Test Executor installation:
-# Uncomment this line to override the environment variable.
-# TTCN3_DIR =
-
-# Your platform: (SOLARIS, LINUX, FREEBSD or WIN32)
-PLATFORM = SOLARIS8
-
-# Your C++ compiler:
-CXX = g++
-
-# Flags for the C++ preprocessor (and makedepend as well):
-CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)/include -I$(SEA_DIR)/include
-
-# Flags for the C++ compiler:
-CXXFLAGS = -Wall
-
-# Flags for the linker:
-LDFLAGS =
-
-# Flags for the TTCN-3 and ASN.1 compiler:
-COMPILER_FLAGS = -L
-
-# Execution mode: (either ttcn3 or ttcn3-parallel)
-TTCN3_LIB = ttcn3-parallel
-
-# The path of your OpenSSL installation:
-# If you do not have your own one, leave it unchanged.
-OPENSSL_DIR = $(TTCN3_DIR)
-
-# Directory to store the archived source files:
-# Note: you can set any directory except ./archive
-ARCHIVE_DIR = ./backup
-
-SEA_DIR = /vobs/ttcn/TCC_Releases/Other/SEA_LATEST
-#
-# You may change these variables. Add your files if necessary...
-#
-
-# The TTCN-3 modules needed for this project:
-TTCN3_MODULES = mtp3test.ttcn MTP3asp_Types.ttcn MTP3asp_PortType.ttcn
-# The ASN.1 modules needed for this project:
-ASN1_MODULES =
-
-# C++ source & header files generated by TTCN-3 & ASN.1 compilers:
-GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
-GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-# Source & header files of Test Ports and your other modules:
-USER_SOURCES = MTP3asp_PT.cc
-USER_HEADERS = MTP3asp_PT.hh
-
-# All object files needed for the executable test suite:
-#OBJECTS = mtp3test.o MTP3_ASPs.o general_typedefs.o MTP3user_porttype.o
-OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
-# The name of the executable test suite:
-TARGET = mtp3test
-
-#The names of the config files (to archive):
-TARGET_CONFIGS = mtp3test_MTP3_ansi2.cfg
-#
-# Do not modify these unless you know what you are doing...
-#
-SOLARIS_LIBS = -lxnet
-LINUX_LIBS =
-FREEBSD_LIBS =
-WIN32_LIBS =
-
-#
-# Rules for building the executable...
-#
-all: $(TARGET) ;
-
-$(TARGET): $(OBJECTS)
- $(CXX) $(LDFLAGS) -o $@ $(OBJECTS) \
- -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
- -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS) $(SEA_DIR)/lib/libmphclib.a -lxml2
-
-.cc.o .c.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
-
-$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
- @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
-
-compile: $(TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler $(COMPILER_FLAGS) $(TTCN3_MODULES) \
- $(ASN1_MODULES) - $?
- touch $@
-
-clean:
- -$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
- $(GENERATED_SOURCES) compile *.log
-
-dep: $(GENERATED_SOURCES)
- makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)
-
-archive:
- mkdir -p $(ARCHIVE_DIR)
- tar -cvhf - $(TTCN3_MODULES) $(ASN1_MODULES) \
- $(USER_HEADERS) $(USER_SOURCES) $(TARGET_CONFIGS) Makefile \
- | gzip >$(ARCHIVE_DIR)/$(TARGET)-`date '+%y%m%d-%H%M'`.tgz
-
-#
-# Add your rules here if necessary...
-#
-
-# DO NOT DELETE
-
-MTP3asp_PT.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-MTP3asp_PT.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-MTP3asp_PT.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-MTP3asp_PT.o: /usr/include/stdio_impl.h /usr/include/stdlib.h
-MTP3asp_PT.o: /usr/include/iso/stdlib_iso.h /usr/include/sys/types.h
-MTP3asp_PT.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-MTP3asp_PT.o: /usr/include/sys/select.h /usr/include/sys/time.h
-MTP3asp_PT.o: /usr/include/time.h /usr/include/iso/time_iso.h
-MTP3asp_PT.o: /usr/include/netinet/in.h /usr/include/sys/stream.h
-MTP3asp_PT.o: /usr/include/sys/vnode.h /usr/include/sys/t_lock.h
-MTP3asp_PT.o: /usr/include/sys/machlock.h /usr/include/sys/param.h
-MTP3asp_PT.o: /usr/include/sys/unistd.h /usr/include/sys/mutex.h
-MTP3asp_PT.o: /usr/include/sys/rwlock.h /usr/include/sys/semaphore.h
-MTP3asp_PT.o: /usr/include/sys/condvar.h /usr/include/sys/time_impl.h
-MTP3asp_PT.o: /usr/include/sys/cred.h /usr/include/sys/uio.h
-MTP3asp_PT.o: /usr/include/sys/resource.h /usr/include/vm/seg_enum.h
-MTP3asp_PT.o: /usr/include/sys/poll.h /usr/include/sys/strmdep.h
-MTP3asp_PT.o: /usr/include/sys/model.h /usr/include/sys/strft.h
-MTP3asp_PT.o: /usr/include/sys/byteorder.h /usr/include/netdb.h
-MTP3asp_PT.o: /usr/include/sys/socket.h /usr/include/sys/netconfig.h
-MTP3asp_PT.o: /usr/include/sys/un.h /usr/include/net/if_dl.h
-MTP3asp_PT.o: /usr/include/sys/wait.h /usr/include/sys/siginfo.h
-MTP3asp_PT.o: /usr/include/sys/machsig.h /usr/include/sys/procset.h
-MTP3asp_PT.o: /usr/include/unistd.h /usr/include/arpa/inet.h
-MTP3asp_PT.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-MTP3asp_PT.o: /usr/include/string.h /usr/include/iso/string_iso.h
-MTP3asp_PT.o: MTP3asp_PT.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TTCN3.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/version.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Basetype.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Types.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Encdec.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Template.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Integer.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Optional.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/BER.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Logger.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Textbuf.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Error.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Parameters.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Float.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Boolean.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Null.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Objid.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Verdicttype.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Component.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Bitstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/RAW.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Hexstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Octetstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Any.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Charstring.hh
-MTP3asp_PT.o: /usr/include/regex.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Universal_charstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Struct_of.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Array.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_CharacterString.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_External.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_EmbeddedPDV.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Addfunc.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Timer.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Port.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Module_list.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Snapshot.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Default.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Runtime.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TEXT.hh
-MTP3asp_PT.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-MTP3asp_PT.o: MTP3asp_Types.hh MTP3asp_PortType.hh
-mtp3test.o: mtp3test.hh MTP3asp_PortType.hh MTP3asp_Types.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TTCN3.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/version.h
-mtp3test.o: /usr/include/string.h /usr/include/iso/string_iso.h
-mtp3test.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-mtp3test.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-mtp3test.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-mtp3test.o: /usr/include/stdio_impl.h
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Basetype.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Types.h
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Encdec.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Template.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Integer.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Optional.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/BER.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Logger.hh
-mtp3test.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-mtp3test.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-mtp3test.o: /usr/include/sys/time.h /usr/include/sys/types.h
-mtp3test.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-mtp3test.o: /usr/include/sys/select.h /usr/include/time.h
-mtp3test.o: /usr/include/iso/time_iso.h
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Textbuf.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Error.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Parameters.h
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Float.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Boolean.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Null.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Objid.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Verdicttype.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Component.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Bitstring.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/RAW.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Hexstring.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Octetstring.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Any.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Charstring.hh
-mtp3test.o: /usr/include/regex.h
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Universal_charstring.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Struct_of.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Array.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_CharacterString.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_External.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_EmbeddedPDV.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Addfunc.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Timer.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Port.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Module_list.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Snapshot.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Default.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Runtime.hh
-mtp3test.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TEXT.hh
-mtp3test.o: MTP3asp_PT.hh
-mtp3test.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-MTP3asp_Types.o: MTP3asp_Types.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TTCN3.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/version.h
-MTP3asp_Types.o: /usr/include/string.h /usr/include/iso/string_iso.h
-MTP3asp_Types.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-MTP3asp_Types.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-MTP3asp_Types.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-MTP3asp_Types.o: /usr/include/stdio_impl.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Basetype.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Types.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Encdec.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Template.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Integer.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Optional.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/BER.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Logger.hh
-MTP3asp_Types.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-MTP3asp_Types.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-MTP3asp_Types.o: /usr/include/sys/time.h /usr/include/sys/types.h
-MTP3asp_Types.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-MTP3asp_Types.o: /usr/include/sys/select.h /usr/include/time.h
-MTP3asp_Types.o: /usr/include/iso/time_iso.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Textbuf.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Error.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Parameters.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Float.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Boolean.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Null.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Objid.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Verdicttype.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Component.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Bitstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/RAW.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Hexstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Octetstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Any.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Charstring.hh
-MTP3asp_Types.o: /usr/include/regex.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Universal_charstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Struct_of.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Array.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_CharacterString.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_External.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_EmbeddedPDV.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Addfunc.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Timer.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Port.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Module_list.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Snapshot.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Default.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Runtime.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TEXT.hh
-MTP3asp_PortType.o: MTP3asp_PortType.hh MTP3asp_Types.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TTCN3.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/version.h
-MTP3asp_PortType.o: /usr/include/string.h /usr/include/iso/string_iso.h
-MTP3asp_PortType.o: /usr/include/sys/feature_tests.h
-MTP3asp_PortType.o: /usr/include/sys/isa_defs.h /usr/include/stdio.h
-MTP3asp_PortType.o: /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h
-MTP3asp_PortType.o: /usr/include/stdio_tag.h /usr/include/stdio_impl.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Basetype.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Types.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Encdec.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Template.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Integer.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Optional.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/BER.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Logger.hh
-MTP3asp_PortType.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-MTP3asp_PortType.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-MTP3asp_PortType.o: /usr/include/sys/time.h /usr/include/sys/types.h
-MTP3asp_PortType.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-MTP3asp_PortType.o: /usr/include/sys/select.h /usr/include/time.h
-MTP3asp_PortType.o: /usr/include/iso/time_iso.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Textbuf.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Error.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Parameters.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Float.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Boolean.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Null.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Objid.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Verdicttype.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Component.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Bitstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/RAW.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Hexstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Octetstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_Any.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Charstring.hh
-MTP3asp_PortType.o: /usr/include/regex.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Universal_charstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Struct_of.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Array.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_CharacterString.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_External.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/ASN_EmbeddedPDV.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Addfunc.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Timer.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Port.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Module_list.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Snapshot.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Default.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/Runtime.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-1.7.pl2-gcc3.4.6/include/TEXT.hh
-MTP3asp_PortType.o: MTP3asp_PT.hh
-MTP3asp_PortType.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
diff --git a/MTP3asp_CNL113337/demo/mtp3test.ttcn b/MTP3asp_CNL113337/demo/mtp3test.ttcn
deleted file mode 100644
index 1c842503a..000000000
--- a/MTP3asp_CNL113337/demo/mtp3test.ttcn
+++ /dev/null
@@ -1,292 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Copyright Test Competence Center (TCC) ETH 2003
-//
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied
-//
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: mtp3test.cc
-// Description: basic test for MTP3asp_PT
-// Rev:
-// Prodnr: CNL 113 337
-// Updated: 2004.06.02
-// Contact: http://ttcn.ericsson.se
-
-
-module mtp3test
-{
-
-modulepar
-{
- //mtp3test specific data:
- //OCT1n MTP3_UserPart_SIO;
- MTP3_Field_sio MTP3_UserPart_SIO;
- integer MTP3_UserPart_OPC,
- MTP3_UserPart_DPC,
- MTP3_UserPart_SLS
-};//modulepar
-
-import from MTP3asp_Types all;
-import from MTP3asp_PortType all;
-
-/*************************************
-* Components
-**************************************/
-
-/*
-**************** 1: 2: ************************
-* MTP3UserPart * <---------> * MTP3/M3UA in MSC *
-**************** (MTP3port)************************
-1: MTP3asp_PT MTP3_PCO alias: e.g. CMGW6
-
-*/
-
-type record of MTP3UserPart_CT CompArray;
-
-type component MTC_CT
-{
- port MTP3asp_PT MTC_PCO;
- var MTP3UserPart_CT vc_MTP3UserPart_BSC1A;
- var MTP3UserPart_CT vc_MTP3UserPart_BSC1B;
- var MTP3UserPart_CT vc_MTP3UserPart_BSC1C;
- var MTP3UserPart_CT vc_MTP3UserPart_CMGW3;
- var MTP3UserPart_CT vc_MTP3UserPart_CMGW6;
- var MTP3UserPart_CT vc_MTP3UserPart_CMGW9;
- var MTP3UserPart_CT vc_compArray[6];
-};
-
-// Model of MSC:
-type component MSC_SCT
-{
- port MTP3asp_PT BSC1A;
- port MTP3asp_PT BSC1B;
- port MTP3asp_PT BSC1C;
- port MTP3asp_PT CMGW3;
- port MTP3asp_PT CMGW6;
- port MTP3asp_PT CMGW9;
-};
-
-//Model of SS7 MTP3 User Part for Self Test. Only logs the messages
-type component MTP3UserPart_CT
-{
- var ASP_MTP3_TRANSFERind v_MTP3_TRANSFERind;
- var ASP_MTP3_TRANSFERreq v_MTP3_TRANSFERreq;
- port MTP3asp_PT MTP3_PCO;
- // port ... to the upper layers
-} // end component type definition
-
-/*
-function MTC_delay(integer time) runs on MTC_CT {
- timer t:=time;
- t.start;
- setverdict(none);
- alt{ []t.timeout {} }
- }
-*/
-
-function mtp3_selftest( ) runs on MTP3UserPart_CT
-{
- timer t_Guard := 6.0;
- log( "mtp3_selftest started");
- t_Guard.start;
- setverdict(none);
- alt
- {
- [] MTP3_PCO.receive ( ASP_MTP3_TRANSFERind:?) -> value v_MTP3_TRANSFERind
- {
- log("ASP_MTP3_TRANSFERind: received");
- setverdict(pass);
- repeat;
- }
- [] MTP3_PCO.receive
- {
- log("Unknown signal received");
- setverdict(pass);
- repeat;
- }
- [] t_Guard.timeout
- { log("timeout reached");}
- } //alt
- log("mtp3_selftest finished");
-}
-
-function f_init( ) runs on MTC_CT
-{
- vc_MTP3UserPart_BSC1A := MTP3UserPart_CT.create;
- vc_MTP3UserPart_BSC1B := MTP3UserPart_CT.create;
- vc_MTP3UserPart_BSC1C := MTP3UserPart_CT.create;
- vc_MTP3UserPart_CMGW3 := MTP3UserPart_CT.create;
- vc_MTP3UserPart_CMGW6 := MTP3UserPart_CT.create;
- vc_MTP3UserPart_CMGW9 := MTP3UserPart_CT.create;
-
- map(vc_MTP3UserPart_BSC1A:MTP3_PCO,system:BSC1A);
- map(vc_MTP3UserPart_BSC1B:MTP3_PCO,system:BSC1B);
- map(vc_MTP3UserPart_BSC1C:MTP3_PCO,system:BSC1C);
- map(vc_MTP3UserPart_CMGW3:MTP3_PCO,system:CMGW3);
- map(vc_MTP3UserPart_CMGW6:MTP3_PCO,system:CMGW6);
- map(vc_MTP3UserPart_CMGW9:MTP3_PCO,system:CMGW9);
-
- log("tc_3 map is ready");
-}
-
-function f_start() runs on MTC_CT
-{
- vc_MTP3UserPart_BSC1A.start( mtp3userpart_test() );
- vc_MTP3UserPart_BSC1B.start( mtp3userpart_test() );
- vc_MTP3UserPart_BSC1C.start( mtp3userpart_test() );
- vc_MTP3UserPart_CMGW3.start( mtp3userpart_test() );
- vc_MTP3UserPart_CMGW6.start( mtp3userpart_test() );
- vc_MTP3UserPart_CMGW9.start( mtp3userpart_test() );
-}
-
-function f_terminate() runs on MTC_CT
-{
- all component.done;
- unmap(vc_MTP3UserPart_BSC1A:MTP3_PCO,system:BSC1A);
- unmap(vc_MTP3UserPart_BSC1B:MTP3_PCO,system:BSC1B);
- unmap(vc_MTP3UserPart_BSC1C:MTP3_PCO,system:BSC1C);
- unmap(vc_MTP3UserPart_CMGW3:MTP3_PCO,system:CMGW3);
- unmap(vc_MTP3UserPart_CMGW6:MTP3_PCO,system:CMGW6);
- unmap(vc_MTP3UserPart_CMGW9:MTP3_PCO,system:CMGW9);
-}
-
-function mtp3userpart_test( ) runs on MTP3UserPart_CT {
- timer t_Guard := 5.0;
- log( "mtp3userpart_test started");
- v_MTP3_TRANSFERreq :=
- {
- sio := MTP3_UserPart_SIO,
- opc := MTP3_UserPart_OPC,
- dpc := MTP3_UserPart_DPC,
- sls := 0,
- data:= '010203040506070809000102030405060708090000010203040506070809000000'O
- };
- MTP3_PCO.send( v_MTP3_TRANSFERreq );
- t_Guard.start;
- setverdict(none);
- alt
- {
- [] MTP3_PCO.receive ( ASP_MTP3_TRANSFERind:? ) -> value v_MTP3_TRANSFERind
- {
- log("ASP_MTP3_TRANSFERind: received");
- setverdict(pass);
- repeat;
- }
- [] MTP3_PCO.receive
- {
- log("Unknown signal received");
- setverdict(pass);
- repeat;
- }
- [] t_Guard.timeout
- {
- //setverdict(inconc);
- log("timeout reached");
- }
- } //alt
- log("mtp3userpart_test finished");
-}
-
-testcase tc_1() runs on MTC_CT system MSC_SCT
-{
- log ("tc_1 started");
- var MTP3UserPart_CT vc_MTP3userpart;
- vc_MTP3userpart := MTP3UserPart_CT.create;
- map(vc_MTP3userpart:MTP3_PCO, system:CMGW6);
- log("map is ready");
- vc_MTP3userpart.start( mtp3_selftest() );
- //MTC_delay(6);
- vc_MTP3userpart.done;
- unmap(vc_MTP3userpart:MTP3_PCO, system:CMGW6);
- log ("tc_1 finished");
-}
-
-// TC2: Testcase sending one simple message "MTP-transfer-req" and waiting
-testcase tc_2() runs on MTC_CT system MSC_SCT
-{
- log ("tc_2 started");
- var MTP3UserPart_CT vc_MTP3userpart;
- vc_MTP3userpart := MTP3UserPart_CT.create;
- map(vc_MTP3userpart:MTP3_PCO, system:CMGW6);
- log("map is ready");
- vc_MTP3userpart.start( mtp3userpart_test() );
- //MTC_delay(6);
- vc_MTP3userpart.done;
- unmap(vc_MTP3userpart:MTP3_PCO, system:CMGW6);
- log ("tc_2 finished");
-}
-
-testcase tc_3() runs on MTC_CT system MSC_SCT
-{
- log ("tc_3 started");
- vc_MTP3UserPart_BSC1A := MTP3UserPart_CT.create;
- vc_MTP3UserPart_BSC1B := MTP3UserPart_CT.create;
- vc_MTP3UserPart_BSC1C := MTP3UserPart_CT.create;
- vc_MTP3UserPart_CMGW3 := MTP3UserPart_CT.create;
- vc_MTP3UserPart_CMGW6 := MTP3UserPart_CT.create;
- vc_MTP3UserPart_CMGW9 := MTP3UserPart_CT.create;
-
- map(vc_MTP3UserPart_BSC1A:MTP3_PCO,system:BSC1A);
- map(vc_MTP3UserPart_BSC1B:MTP3_PCO,system:BSC1B);
- map(vc_MTP3UserPart_BSC1C:MTP3_PCO,system:BSC1C);
- map(vc_MTP3UserPart_CMGW3:MTP3_PCO,system:CMGW3);
- map(vc_MTP3UserPart_CMGW6:MTP3_PCO,system:CMGW6);
- map(vc_MTP3UserPart_CMGW9:MTP3_PCO,system:CMGW9);
-
- log("tc_3 map is ready");
- vc_MTP3UserPart_BSC1A.start( mtp3userpart_test() );
- vc_MTP3UserPart_BSC1B.start( mtp3userpart_test() );
- vc_MTP3UserPart_BSC1C.start( mtp3userpart_test() );
- vc_MTP3UserPart_CMGW3.start( mtp3userpart_test() );
- vc_MTP3UserPart_CMGW6.start( mtp3userpart_test() );
- vc_MTP3UserPart_CMGW9.start( mtp3userpart_test() );
-
- //MTC_delay(6);
- all component.done;
- unmap(vc_MTP3UserPart_BSC1A:MTP3_PCO,system:BSC1A);
- unmap(vc_MTP3UserPart_BSC1B:MTP3_PCO,system:BSC1B);
- unmap(vc_MTP3UserPart_BSC1C:MTP3_PCO,system:BSC1C);
- unmap(vc_MTP3UserPart_CMGW3:MTP3_PCO,system:CMGW3);
- unmap(vc_MTP3UserPart_CMGW6:MTP3_PCO,system:CMGW6);
- unmap(vc_MTP3UserPart_CMGW9:MTP3_PCO,system:CMGW9);
- log ("tc_3 finished");
-}
-
-// tc_4 is the same as tc_3 but organized by arrays and cycles
-testcase tc_4() runs on MTC_CT system MSC_SCT
-{
- f_init();
- f_start();
- f_terminate();
-}
-
-testcase tc_5() runs on MTC_CT
-{
- var ASP_MTP3_TRANSFERreq vl_MTP3_TRANSFERreq :=
- { sio :=
- { ni := '00'B,
- prio := '00'B,
- si := '0000'B
- },
- opc := 0,
- dpc := 0,
- sls := 0,
- data:= '010203040506070809000102030405060708090000010203040506070809000000'O
- };
-
- map(self:MTC_PCO,system:MTC_PCO);
- MTC_PCO.send(vl_MTP3_TRANSFERreq);
- MTC_PCO.receive;
- unmap(self:MTC_PCO,system:MTC_PCO);
-}
-
-control
-{
- execute (tc_1());
-}
-
-}//module
diff --git a/MTP3asp_CNL113337/demo/mtp3test_MTP3_ansi2.cfg b/MTP3asp_CNL113337/demo/mtp3test_MTP3_ansi2.cfg
deleted file mode 100644
index 35b3e09ad..000000000
--- a/MTP3asp_CNL113337/demo/mtp3test_MTP3_ansi2.cfg
+++ /dev/null
@@ -1,75 +0,0 @@
-[LOGGING]
-#FileName := "mtp3test_MTP3_ansi2.cfg"
-FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-#ConsoleMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-
-[EXECUTE]
-#Loopback
-#mtp3test.TC0
-#SEA test cases, LOOP := OFF
-#mtp3test.tc_1
-#mtp3test.tc_2
-#mtp3test.tc_3
-mtp3test.tc_4
-[TESTPORT_PARAMETERS]
-// *******************************************************
-// * DO NOT FORGET TO SET THE FOLLOWING TWO LINE TO YOUR SEA *
-// *******************************************************
-system.*.Hostname := "zaire" //sea server name
-system.*.HttpPort := "5000" //sea http port
-system.*.Loop:= "ON"
-system.*.Filter:= "OFF"
-system.*.MTP3ServiceType := "MTP3itu" // ["MTP3itu" (default)|"MTP3ansi" | "M3UA" | "MTP3ttc" | "MTP3mpt" ]
-
-system.CMGW3.EntityName := "S7ST-0" //device name to connect
-system.CMGW3.NI:= "2"
-system.CMGW3.SUT_Pc:= "461088"
-system.CMGW3.TESTER_Pc:= "461089"
-system.CMGW3.M3UA_version:= "1"
-
-system.CMGW6.EntityName := "S7ST-1" //device name to connect
-system.CMGW6.NI:= "2"
-system.CMGW6.SUT_Pc:= "461086" // 07-09-30 =0x07091E see command: s7stp:st=s7stg-0&&-32;
-system.CMGW6.TESTER_Pc:= "461087" //07-09-31=0x07091F
-system.CMGW6.M3UA_version:= "1"
-
-system.CMGW9.EntityName := "S7ST-2" //device name to connect
-system.CMGW9.NI:= "2"
-system.CMGW9.SUT_Pc:= "461088"
-system.CMGW9.TESTER_Pc:= "461089"
-system.CMGW9.M3UA_version:= "1"
-
-system.BSC1A.EntityName := "S7ST-3" //device name to connect
-system.BSC1A.NI:= "2"
-system.BSC1A.SUT_Pc:= "461088"
-system.BSC1A.TESTER_Pc:= "461089"
-system.BSC1A.M3UA_version:= "1"
-
-system.BSC1B.EntityName := "S7ST-4" //device name to connect
-system.BSC1B.NI:= "2"
-system.BSC1B.SUT_Pc:= "461088"
-system.BSC1B.TESTER_Pc:= "461089"
-system.BSC1B.M3UA_version:= "1"
-
-system.BSC1C.EntityName := "S7ST-5" //device name to connect
-system.BSC1C.NI:= "2"
-system.BSC1C.SUT_Pc:= "461088"
-system.BSC1C.TESTER_Pc:= "461089"
-system.BSC1C.M3UA_version:= "1"
-
-[MODULE_PARAMETERS]
-
-// MTP3_user_part for test suite 'mtp3userpart_test' in mtp3test.ttcn
-MTP3_UserPart_SIO :=
-{
- ni := '10'B,
- prio := '00'B,
- si := '1110'B
-};
-MTP3_UserPart_OPC := 461087 // =0x07091E
-MTP3_UserPart_DPC := 461086 //
-MTP3_UserPart_SLS := 0;
-
-[MAIN_CONTROLLER]
-TCPPort := 9999
-NumHCs := 1
diff --git a/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_FS.pdf b/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_FS.pdf
deleted file mode 100644
index b6cf46f11..000000000
Binary files a/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_FS.pdf and /dev/null differ
diff --git a/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_PRI.pdf b/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_PRI.pdf
deleted file mode 100644
index 4e8b25c60..000000000
Binary files a/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_PRI.pdf and /dev/null differ
diff --git a/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_UG.pdf b/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_UG.pdf
deleted file mode 100644
index 0c6b3d781..000000000
Binary files a/MTP3asp_CNL113337/doc/MTP3asp_CNL113337_UG.pdf and /dev/null differ
diff --git a/MTP3asp_CNL113337/src/MTP3asp_EncDec.cc b/MTP3asp_CNL113337/src/MTP3asp_EncDec.cc
deleted file mode 100644
index 394d72693..000000000
--- a/MTP3asp_CNL113337/src/MTP3asp_EncDec.cc
+++ /dev/null
@@ -1,20 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright Test Competence Center (TCC) ETH 2007
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_EncDec.cc
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2007-09-17
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-// Please note: Because the encoder/decoder functions are generated by the
-// TITAN, the MTP3asp_EncDec.cc is kept only for compatibility issue and
-// should be removed from the projects.
diff --git a/MTP3asp_CNL113337/src/MTP3asp_PT.cc b/MTP3asp_CNL113337/src/MTP3asp_PT.cc
deleted file mode 100644
index 37bab8f04..000000000
--- a/MTP3asp_CNL113337/src/MTP3asp_PT.cc
+++ /dev/null
@@ -1,2952 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2012 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_PT.cc
-// Description: Implementation of port MTP3asp_PT
-// This test port is written to connect TTCN-3 to SEA according
-// to specification ITU-T SS7 MTP3, ANSI, TCC, IETF, MPT
-// Reference: ITU-T Recommendation Q.704, RFC3332
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2012-05-24
-// Contact: http://ttcn.ericsson.se
-
-// IMPORTANT MODIFICATION:
-// mtp3_ttc uses ALWAYS 16 bits long SPCs, regardless of mtp3_ni sio
-
-#include "MTP3asp_PT.hh"
-
-#include "MTP3asp_Types.hh"
-#include "MTP3asp_PortType.hh"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-
-// Constans for M3UA, see rfc 3332 and 2/1056-FCPW 101 86/P-1
-// Constants for decoding M3UA common headers
-#define M3UA_VER_OFFS 0
-#define M3UA_CLS_OFFS 2
-#define M3UA_TYP_OFFS 3
-#define M3UA_LGT_OFFS 4
-#define M3UA_MSG_OFFS 8
-#define M3UA_MSG_LENGTH_LENGTH 4
-
-// Constants for M3UA protocol
-//Msg classes
-#define M3UA_MSG_CLS_MGMT 0x00
-#define M3UA_MSG_CLS_TRNSFM 0x01
-#define M3UA_MSG_CLS_SSNM 0x02
-#define M3UA_MSG_CLS_ASPSM 0x03
-#define M3UA_MSG_CLS_ASPTM 0x04
-#define M3UA_MSG_CLS_RKM 0x09
-//Msg types
-#define M3UA_MSG_TYP_MGMT_ERR 0x00
-#define M3UA_MSG_TYP_MGMT_NTFY 0x01
-
-#define M3UA_MSG_TYP_TRSNFM_DATA 0x01
-
-#define M3UA_MSG_TYP_SSNM_DUNA 0x01
-#define M3UA_MSG_TYP_SSNM_DAVA 0x02
-#define M3UA_MSG_TYP_SSNM_DAUD 0x03
-#define M3UA_MSG_TYP_SSNM_SCON 0x04
-#define M3UA_MSG_TYP_SSNM_DUPU 0x05
-#define M3UA_MSG_TYP_SSNM_DRST 0x06
-
-#define M3UA_MSG_TYP_ASPSM_ASPUP 0x01
-#define M3UA_MSG_TYP_ASPSM_ASPDN 0x02
-#define M3UA_MSG_TYP_ASPSM_BEAT 0x03
-#define M3UA_MSG_TYP_ASPSM_ASPUPAck 0x04
-#define M3UA_MSG_TYP_ASPSM_ASPDNAck 0x05
-#define M3UA_MSG_TYP_ASPSM_BEATAck 0x06
-
-#define M3UA_MSG_TYP_ASPTM_ASPAC 0x01
-#define M3UA_MSG_TYP_ASPTM_ASPIA 0x02
-#define M3UA_MSG_TYP_ASPTM_ASPACAck 0x03
-#define M3UA_MSG_TYP_ASPTM_ASPIAAck 0x04
-
-#define M3UA_MSG_TYP_RKM_REGREQ 0x01
-#define M3UA_MSG_TYP_RKM_REGRSP 0x02
-#define M3UA_MSG_TYP_RKM_DEREGREQ 0x03
-#define M3UA_MSG_TYP_RKM_DEREGRESP 0x04
-
-//parameters
-//common for all adaptation layer
-#define PAR_PREFIX_COMMON 0x00
-#define PAR_INFO_STR 0x04
-#define PAR_ROUTING_CTX 0x06
-#define PAR_DIAG_INFO 0x07
-#define PAR_HEART_BEAT 0x09
-#define PAR_TRAFFMODE_T 0x0b
-#define PAR_ERROR_CODE 0x0c
-#define PAR_STATUS 0x0d
-#define PAR_ASP_ID 0x11
-#define PAR_AFFECTED_PC 0x12
-#define PAR_CORREL_ID 0x13
-
-//M3UA specific
-#define PAR_PREFIX_M3UA 0x02
-#define PAR_NETW_APP 0x00
-#define PAR_USR_O_CAUSE 0x04
-#define PAR_CNGST_IND 0x05
-#define PAR_CNCRD_IND 0x06
-#define PAR_ROUTING_KEY 0x07
-#define PAR_REG_RSLT 0x08
-#define PAR_DEREG_RSLT 0x09
-#define PAR_LOC_RK_ID 0x0a
-#define PAR_DPC 0x0b
-#define PAR_SI 0x0c
-#define PAR_OPC_LIST 0x0e
-#define PAR_CIRC_RNG 0x0f
-#define PAR_PROT_DATA 0x10
-#define PAR_REG_STAT 0x12
-#define PAR_DEREG_STAT 0x13
-
-// error codes:
-#define PAR_ERRC_IVER 0x01
-#define PAR_ERRC_UNSMC 0x03
-#define PAR_ERRC_UNSMT 0x04
-#define PAR_ERRC_UNTMT 0x05
-#define PAR_ERRC_UNEM 0x06
-#define PAR_ERRC_PERR 0x07
-#define PAR_ERRC_ISI 0x09
-#define PAR_ERRC_RMB 0x0D
-#define PAR_ERRC_ASPIDR 0x0E
-#define PAR_ERRC_IASPID 0x0F
-#define PAR_ERRC_IPARV 0x11
-#define PAR_ERRC_PARFE 0x12
-#define PAR_ERRC_UPAR 0x13
-#define PAR_ERRC_DSU 0x14
-#define PAR_ERRC_INA 0x15
-#define PAR_ERRC_MP 0x16
-#define PAR_ERRC_IRC 0x19
-#define PAR_ERRC_NCFAS 0x1A
-
-
-// --------------------------
-// Basic Test Port functions
-// --------------------------
-using namespace MTP3asp__Types;
-namespace MTP3asp__PortType {
-
-//external functions
-//##########################################################
-
-//f__MTP3__SEA__connect (for MTP3asp_PT)
-BOOLEAN f__MTP3__SEA__connect(MTP3asp__PT& portRef,
- const CHARSTRING& Hostname,const INTEGER& Port,const CHARSTRING& EntityName,const BOOLEAN& Http)
-{
- return f__MTP3__SEA__connect__extern(portRef,Hostname,Port,EntityName,Http);
-}
-//------------
-
-//f__MTP3__SEA__disconnect (for MTP3asp_PT)
-BOOLEAN f__MTP3__SEA__disconnect(MTP3asp__PT& portRef)
-{
- return f__MTP3__SEA__disconnect__extern(portRef);
-}
-//------------
-
-//f__MTP3__SEA__connect__extern
-BOOLEAN f__MTP3__SEA__connect__extern(MTP3asp__PT_PROVIDER& portRef,
- const CHARSTRING& Hostname,const INTEGER& Port,const CHARSTRING& EntityName,const BOOLEAN& Http)
-{
-#ifndef TARGET_TEST
- if (portRef.dynamicConnection && (!(portRef.connectionUp)))
- {
- delete [] portRef.hostname;
- int len = strlen(Hostname);
- portRef.hostname = new char[len + 1];
- memcpy(portRef.hostname, Hostname, len + 1);
-
- portRef.httpport = Port;
-
- delete [] portRef.entityname;
- len = strlen(EntityName);
- portRef.entityname = new char[len + 1];
- memcpy(portRef.entityname, EntityName, len + 1);
-
- if(Http)
- portRef.MTP3_open_channel(TRUE);
- else
- portRef.MTP3_open_channel(FALSE);
-
- if(portRef.wait_for_open())
- {
- portRef.user_connect();
- portRef.connectionUp = TRUE;
- return TRUE;
- }
- }
- else
-#endif
- portRef.log("Dynamic connection feature is not active or already connected.");
- return FALSE;
-}
-//------------
-
-//f__MTP3__SEA__disconnect__extern
-BOOLEAN f__MTP3__SEA__disconnect__extern(MTP3asp__PT_PROVIDER& portRef)
-{
-#ifndef TARGET_TEST
- if (portRef.connectionUp)
- {
- portRef.MTP3_close_connection();
- portRef.connectionUp = FALSE;
- return TRUE;
- }
-#endif
- return FALSE;
-}
-//------------
-
-// Test Port constructor
-MTP3asp__PT_PROVIDER::MTP3asp__PT_PROVIDER(const char *par_port_name)
- : PORT(par_port_name)
-{
- MTP_fd=-1;
- httpport=-1;
- hostname=NULL;
- destinationname = NULL;
- dynamicConnection = FALSE;
-
- const char *str="b303d76a-266c-11d4-b8f5-08002090d3da";
- int len = strlen(str);
- iid_string= new char[len + 1];
- memcpy(iid_string, str, len + 1);
-
- entityname=NULL;
- Filter=Loop=-1;
- Sut_Pc=Tester_Pc=-1;
- Ni_is_set = FALSE;
- MTPServiceType = MTP3itu;
- M3UA_version = 1;
- M3UAState = AssocDown; // unnecessary...
- mtp3_ni=0;
-#ifndef TARGET_TEST
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
-#endif
- forward_pause = FALSE;
- forward_resume = FALSE;
- forward_status = FALSE;
-}
-//------------
-
-// Test Port destructor
-MTP3asp__PT_PROVIDER::~MTP3asp__PT_PROVIDER()
-{
- delete [] hostname;
- delete [] entityname;
- delete [] iid_string;
-}
-//------------
-
-// set_parameter
-void MTP3asp__PT_PROVIDER::set_parameter(const char *parameter_name,
- const char *parameter_value)
-{
- log("set_parameter: %s = %s",parameter_name,parameter_value);
- if (!strcmp(parameter_name,"Hostname"))
- {
- delete [] hostname;
- int len = strlen(parameter_value);
- hostname = new char[len + 1];
- memcpy(hostname, parameter_value, len + 1);
- }
- else if (!strcmp(parameter_name, "HttpPort"))
- {
- httpport = atoi(parameter_value);
- }
- else if (!strcmp(parameter_name,"EntityName"))
- {
- delete [] entityname;
- int len = strlen(parameter_value);
- entityname= new char[len + 1];
- memcpy(entityname, parameter_value, len + 1);
- }
- else if (!strcmp(parameter_name,"DestinationName"))
- {
- delete [] destinationname;
- int len = strlen(parameter_value);
- destinationname= new char[len + 1];
- memcpy(destinationname, parameter_value, len + 1);
- }
- else if (!strcmp(parameter_name,"Filter"))
- {
- if (!strcmp(parameter_value,"ON")) Filter = MTP3_ON;
- else Filter = MTP3_OFF;
- }
- else if (!strcmp(parameter_name,"Loop"))
- {
- if (!strcmp(parameter_value,"ON")) Loop = MTP3_ON;
- else Loop = MTP3_OFF;
- }
- else if (!strcmp(parameter_name,"NI"))
- {
- Ni_is_set = TRUE;
- mtp3_ni = atoi(parameter_value);
- debuglog("Network indicator is set to %i",mtp3_ni);
- }
- else if (!strcmp(parameter_name,"SUT_Pc"))
- {
- Sut_Pc = atoi(parameter_value);
- }
- else if (!strcmp(parameter_name,"TESTER_Pc"))
- {
- Tester_Pc = atoi(parameter_value);
- }
- else if (!strcmp(parameter_name,"M3UA_version"))
- {
- M3UA_version = atoi(parameter_value);
- debuglog("%d",M3UA_version);
- }
-#ifndef TARGET_TEST
- else if (!strcmp(parameter_name,"DynamicConnection"))
- {
- if (!strcasecmp(parameter_value,"ON"))
- {
- dynamicConnection = TRUE;
- }
- }
-#endif
- else if (!strcmp(parameter_name,"MTP3ServiceType"))
- {
- if (!strcmp(parameter_value,"TargetM3UA"))
- {
-#ifndef TARGET_TEST
- error("TargetM3UA not supported, since TARGET_TEST not in Makefile");
-#else
- log("MTP3ServiceType is set to TargetM3UA");
- user_map_p = &MTP3asp__PT_PROVIDER::Target_user_map;
- user_unmap_p = &MTP3asp__PT_PROVIDER::Target_user_unmap;
- MTPServiceType = TargetM3UA;
-#endif
- }
- else if (!strcmp(parameter_value,"TargetSTC"))
- {
-#ifndef TARGET_TEST
- error("TargetSTC not supported, since TARGET_TEST not in Makefile");
-#else
- log("MTP3ServiceType is set to TargetSTC");
- user_map_p = &MTP3asp__PT_PROVIDER::TargetSTC_user_map;
- user_unmap_p = &MTP3asp__PT_PROVIDER::Target_user_unmap; //Same as by Target M3UA
- MTPServiceType = TargetSTC;
-#endif
- }
-#ifndef TARGET_TEST
- else if (!strcmp(parameter_value,"M3UA"))
- { //M3UA
- log("MTP3ServiceType is set to M3UA");
- interpreter = &MTP3asp__PT_PROVIDER::M3UA_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::M3UA_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::M3UA_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::M3UA_user_unmap;
- MTPServiceType = M3UA;
- }
- else if (!strcmp(parameter_value,"MTP3itu"))
- {
- log("MTP3ServiceType is set to MTP3itu");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3itu;
- }
- else if ( !strcmp(parameter_value,"MTP3ansi"))
- {
- log("MTP3ServiceType is set to MTP3ansi");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3ansi;
- }
- else if ( !strcmp(parameter_value,"MTP3ttc"))
- {
- log("MTP3ServiceType is set to MTP3ttc");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3ttc;
- }
- else if ( !strcmp(parameter_value,"MTP3mpt"))
- {
- log("MTP3ServiceType is set to MTP3mpt");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3mpt;
- }
- else if ( !strcmp(parameter_value,"MTP3bttc"))
- {
- log("MTP3ServiceType is set to MTP3bttc");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3bttc;
- }
- else if ( !strcmp(parameter_value,"MTP3iup"))
- {
- log("MTP3ServiceType is set to MTP3iup");
- interpreter = &MTP3asp__PT_PROVIDER::MTP3_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::MTP3_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::MTP3_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::MTP3_user_unmap;
- MTPServiceType = MTP3iup;
- }
- else if ( !strcmp(parameter_value,"STC"))
- {
- log("MTP3ServiceType is set to STC");
- interpreter = &MTP3asp__PT_PROVIDER::STC_interpreter;
- user_map_p = &MTP3asp__PT_PROVIDER::STC_user_map;
- user_connect_p = &MTP3asp__PT_PROVIDER::STC_user_connect;
- user_unmap_p = &MTP3asp__PT_PROVIDER::STC_user_unmap;
- MTPServiceType = STC;
- }
-#endif
- else
- {
- log("Unsupported MTP3ServiceType: %s, falling back to MTP3itu",
- parameter_value);
- }
- }
- else if(strcasecmp(parameter_name, "forward_pause") == 0)
- {
- if (strcasecmp(parameter_value,"forward") == 0)
- forward_pause = TRUE;
- else if(strcasecmp(parameter_value,"ignore") == 0)
- forward_pause = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only forward and ignore can be used!" ,
- parameter_value, parameter_name);
- }
- else if(strcasecmp(parameter_name, "forward_resume") == 0)
- {
- if (strcasecmp(parameter_value,"forward") == 0)
- forward_resume = TRUE;
- else if(strcasecmp(parameter_value,"ignore") == 0)
- forward_resume = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only forward and ignore can be used!" ,
- parameter_value, parameter_name);
- }
- else if(strcasecmp(parameter_name, "forward_status") == 0)
- {
- if (strcasecmp(parameter_value,"forward") == 0)
- forward_status = TRUE;
- else if(strcasecmp(parameter_value,"ignore") == 0)
- forward_status = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only forward and ignore can be used!" ,
- parameter_value, parameter_name);
- }
- else
-#ifdef TARGET_TEST
- if(!parameter_set(parameter_name ,parameter_value)) //TCP parameters
-#endif
- log("Unsupported parameter: %s", parameter_name);
-}
-//------------
-
-// User map
-void MTP3asp__PT_PROVIDER::user_map(const char *system_port)
-{
- if (user_map_p == NULL)
- error("Parameter MTP3ServiceType should be set to TargetM3UA in TARGET_TEST mode!");
-
- (this->*user_map_p)(system_port);
-}
-//------------
-
-// User unmap
-void MTP3asp__PT_PROVIDER::user_unmap(const char *system_port)
-{
- (this->*user_unmap_p)(system_port);
-}
-//------------
-
-#ifndef TARGET_TEST
-// User connect
-void MTP3asp__PT_PROVIDER::user_connect()
-{
- (this->*user_connect_p)();
-}
-//------------
-#endif
-
-//User start
-void MTP3asp__PT_PROVIDER::user_start()
-{ debuglog("user start ordered");
-}
-//------------
-
-//User stop
-void MTP3asp__PT_PROVIDER::user_stop()
-{ debuglog("User stop ordered");
-}
-//------------
-
-//Event Handler
-void MTP3asp__PT_PROVIDER::Handle_Fd_Event(int fd,
- boolean is_readable, boolean is_writable, boolean is_error)
-{
- if (MTPServiceType == TargetM3UA )
- {
-#ifdef TARGET_TEST
- //In case of target Abstract Socket handles the received message
- Handle_Socket_Event(fd, is_readable, is_writable, is_error);
-#endif
- }
-#ifndef TARGET_TEST
- else
- {
- int result;
-
- result = MPH_ProcessConnection(myConnection);
-
- if (result <= 0)
- {
- MPH_CloseConnection(myConnection);
- if (result == 0) log("Connection closed by peer.");
- else log("Error in incoming message.");
- }
- }
-#endif
-}
-
-void MTP3asp__PT_PROVIDER::Handle_Timeout(double time_since_last_call)
-{
-#ifdef TARGET_TEST
- Handle_Timeout_Event(time_since_last_call);
-#endif
-}
-//------------
-
-//Outgoing send
-void MTP3asp__PT_PROVIDER::outgoing_send(const ASP__MTP3__TRANSFERreq& send_par)
-{
- MTP3__Field__sio sio_field = send_par.sio();
-#ifndef TARGET_TEST
- int si=bit2int(sio_field.si());
-#endif
-
- OCTETSTRING sio_oct = bit2oct(sio_field.ni()+sio_field.prio()+sio_field.si());
- OCTETSTRING bttc_oct = int2oct(stored_bttc_octet, 1); // additional octet for MTP3bttc
-
- //Message sending by testing on Target
- if (MTPServiceType == TargetM3UA)
- {
-#ifdef TARGET_TEST
- OCTETSTRING tcpData = int2oct(1,1); //Message type
- tcpData = tcpData + int2oct(send_par.data().lengthof()+15,4); //Length
- tcpData = tcpData + sio_oct;
- tcpData = tcpData + int2oct(send_par.opc(),4);
- tcpData = tcpData + int2oct(send_par.dpc(),4);
- tcpData = tcpData + int2oct(send_par.sls(),1);
- tcpData = tcpData + send_par.data();
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Transfer Req message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-#endif
- return;
- }
- //Message sending by testing on Target
- if (MTPServiceType == TargetSTC)
- {
-#ifdef TARGET_TEST
- OCTETSTRING tcpData = int2oct(1,1); //Message type
- tcpData = tcpData + int2oct(send_par.data().lengthof()+15,4); //Length
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + send_par.data();
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Transfer Req (STC) message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-#endif
- return;
- }
-#ifndef TARGET_TEST
- if (dynamicConnection &&(!connectionUp))
- {
- warn("Connection was not activated via function f_M3UA_SEA_connect.");
- return;
- }
-
- unsigned int offset;
- int MSU_length = send_par.data().lengthof();
- int M3UA_par_length;
- int length;
- int labellen; // sio+routinglabel length
-
- switch ( MTPServiceType)
- {
- case STC:
- length = MSU_length;
- memcpy(buffer, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3iup:
- if(si==4)
- {
- offset = 0;
- labellen=6; //ITU-T:sio(1byte) + standard telephony label(5byte)
- length = MSU_length+labellen;
- buffer[0] = *((const unsigned char*)sio_oct);
- SetPointCodesIUP(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- }
- else
- {
- offset = 0;
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- }
- break;
- case MTP3itu:
- offset = 0;
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3ansi:
- offset = 0;
- labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T1.111.4
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3ttc:
- offset = 0;
- //if (mtp3_ni==0){ labellen=5;}
- //else {
- labellen=6;
- //} //TTC: sio(1byte) +routing label(6byte) see ...
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3bttc:
- offset = 0;
- buffer[offset] = *((const unsigned char*)bttc_oct);
- offset += 1;
- labellen=7; //routing label(7byte)
- length = 1 + MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen, send_par.data(), send_par.data().lengthof());
- break;
- case MTP3mpt:
- offset = 0;
- if (mtp3_ni==2)
- { labellen=8;} //MPT national: sio(1byte) +routing label(7byte)
- else
- { labellen=5;} //MPT international: sio(1byte) +routing label(4byte)
- length = MSU_length + labellen; //SIF+SIO ;
- //append MTP3 MSU
- buffer[offset] = *((const unsigned char*)sio_oct);
- SetPointCodes(send_par.sls(), send_par.opc(), send_par.dpc(),
- buffer + offset + 1);
- memcpy(buffer + offset + labellen,
- send_par.data(), send_par.data().lengthof());
- break;
- case M3UA :
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 test port debug: Message to be encoded is: {");
- send_par.data().log();
- TTCN_Logger::log_event(" ");
- if( M3UAState != AssocActive )
- {
- TTCN_Logger::log_event(" M3UAState is not ready to send data. Its state code: %d",AssocActive);
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- return;
- }
- //calculating lengths
- M3UA_par_length = MSU_length + 16; // ProtocolData parameter
- // header length=16 <== see f
- TTCN_Logger::log_event(", Adjusted M3UA_par_length to %d to support 16 octets M3UA param header",M3UA_par_length);
- length = 8 + M3UA_par_length; //msg length = header+par
- TTCN_Logger::log_event(", M3UA MSU_length is %d ==> there should be %d padding octets", MSU_length, 4-(MSU_length%4));
- if (MSU_length%4) { //should be padded to be multiple of 4 octets
- length += 4 - (MSU_length%4); //padding shall be counted in msg
- //length, but not in par_length
- }
- TTCN_Logger::log_event(", Set msg length (which includes 8 octets M3UA hdr) to %d ",length);
-
- //filling the first part of the buffer
- //common msg hdr ======================================
- buffer[0] = M3UA_version;
- buffer[1] = 0x00; //spare
- buffer[2] = M3UA_MSG_CLS_TRNSFM; // msg class
- buffer[3] = M3UA_MSG_TYP_TRSNFM_DATA; // msg type
- encode_32b_int(buffer+4, length); //msg length, 4 bytes
- //ProtocolData parameter header=========================
- //tag
- buffer[M3UA_MSG_OFFS] = PAR_PREFIX_M3UA; //par. tag 1st octet
- buffer[M3UA_MSG_OFFS+1] = PAR_PROT_DATA; // par tag 2nd octet
- //length, NOTE: should not contain the padding bytes!
- encode_16b_int(buffer+M3UA_MSG_OFFS+2,M3UA_par_length);
- //OPC,DPC
- encode_32b_int(buffer+M3UA_MSG_OFFS+4,send_par.opc());
- encode_32b_int(buffer+M3UA_MSG_OFFS+8,send_par.dpc());
- //SI, NI, MP, SLS
- buffer[M3UA_MSG_OFFS+12] = bit2int(sio_field.si()); // SI LSb aligned
- buffer[M3UA_MSG_OFFS+13] = bit2int(sio_field.ni()); // NI LSb aligned
- buffer[M3UA_MSG_OFFS+14] = bit2int(sio_field.prio()); //MP LSb
- //aligned
- buffer[M3UA_MSG_OFFS+15] = 0xFF & send_par.sls(); //SLS
- // finally the MTP3 MSU itself....
- offset = M3UA_MSG_OFFS + 16;
- TTCN_Logger::log_event(", buffer offset is now set to %d", offset);
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- //append MTP3 MSU
- memcpy(buffer + offset, send_par.data(), send_par.data().lengthof());
-
- //padding
- for (int ii = 0; ii< (MSU_length%4); ++ii) buffer[offset+MSU_length+ii]= 0x00;
- break;
- default:
- error("Invalid MTP3ServiceType setting!");
- }
- if (TTCN_Logger::log_this_event(TTCN_DEBUG))
- {
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("The encoded buffer is: {");
- OCTETSTRING(length, buffer).log();
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- }
- send_msg(buffer, length);
-#endif
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::log(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::warn(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_WARNING);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::debuglog(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::error(const char *msg, ...)
-{
- TTCN_Logger::begin_event(TTCN_ERROR);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- va_list ap;
- va_start(ap, msg);
- TTCN_Logger::log_event_va_list(msg, ap);
- va_end(ap);
- TTCN_Logger::end_event();
- TTCN_error("Fatal error in MTP3 Test Port %s.", get_name());
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::close_log_event()
-{
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
-}
-//------------
-
-
-#ifndef TARGET_TEST
-// --------------------------------------------
-// Functions and definitions for test with SEA
-// --------------------------------------------
-
-// Functions of MPH toolkit
-// ---------------------------
-void connectCallback(CONNECTION* con, int channel, void *clientData)
-{
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Opening channel succeeded "
- "(channel number is %u)", channel);
- ((MTP3asp__PT_PROVIDER *)clientData)->set_channel(channel);
- if(((MTP3asp__PT_PROVIDER *)clientData)->dynamicConnection)
- ((MTP3asp__PT_PROVIDER *)clientData)->conn_state = 1;
-}
-
-void messageCallback(CONNECTION* con, int channel, int length,
- unsigned char *msg, void *clientData)
-{
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Incoming message from channel: %d",channel);
- ((MTP3asp__PT_PROVIDER *)clientData)->doInterpret(msg,length,channel,con);
-}
-
-void closeCallback(CONNECTION* con, int channel, void *clientData)
-{
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Closed channel: %d", channel);
-}
-
-void errorCallback(CONNECTION* con, char *name, char *errorMessage,
- void *clientData)
-{
- if(((MTP3asp__PT_PROVIDER *)clientData)->dynamicConnection)
- {
- ((MTP3asp__PT_PROVIDER *)clientData)->log("Opening channel %s failed: %s", name, errorMessage);
- ((MTP3asp__PT_PROVIDER *)clientData)->conn_state = 2;
- }
- else
- ((MTP3asp__PT_PROVIDER *)clientData)->error("Opening channel %s failed: %s",
- name, errorMessage);
-}
-//------------
-
-//MTP3_open_channel
-void MTP3asp__PT_PROVIDER::MTP3_open_channel(boolean http)
-{
- int result;
- int Mphport;
- char *perrorString;
- if( Loop == MTP3_ON )
- {
- MTP_fd=-1;
- myConnection = NULL;
- log("MTP3_open_channel finished for LOOP");
- return;
- }
-
- if(http)
- {
- Mphport = MPH_GetMphPort(hostname,httpport,&perrorString);
- }
- else
- {
- Mphport = httpport;
- }
-
- if (Mphport == -1)
- error("GetMphPort failed: %s", *perrorString);
-
- result = MPH_StringToIid(iid_string, &iid);
- if (result == -1)
- error("Converting %s to MPH_IID failed.", iid_string);
-
- myConnection = MPH_OpenConnection(hostname, Mphport);
- if (myConnection == NULL)
- error("Opening connection to %s:%d failed.", hostname, Mphport);
-
- MPH_OpenChannel(myConnection,
- entityname,
- &iid,
- connectCallback,
- messageCallback,
- closeCallback,
- errorCallback,
- this);
-
- MTP_fd = MPH_GetConnectionFd(myConnection);
- if (MTP_fd != -1)
- Handler_Add_Fd_Read(MTP_fd);
- else
- error("Incorrect file descriptor: %d.", MTP_fd);
-}
-//------------
-
-// MTP3_close_connection
-void MTP3asp__PT_PROVIDER::MTP3_close_connection()
-{
- MPH_CloseConnection(myConnection);
- Handler_Remove_Fd_Read(MTP_fd);
- close( MTP_fd );
- //Uninstall_Handler(); // Unnecessary if only socket MTP_fd is in use
-}
-//------------
-
-// wait_for_open
-boolean MTP3asp__PT_PROVIDER::wait_for_open()
-{
- conn_state = 0;
- while(conn_state==0)
- {
- pollfd pollFd = { MTP_fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0) {
- log("MPH channel opening time out");
- return FALSE;
- }
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0) {
- log("MPH channel opening error (%d)", (nEvents < 0) ? errno : 0);
- return FALSE;
- }
- Handle_Fd_Event(MTP_fd, TRUE, FALSE, FALSE);
- }
- if(conn_state == 1) //connectCallback received
- {
- conn_state = 0;
- return TRUE;
- }
- else //errorCallback received
- {
- conn_state = 0;
- return FALSE;
- }
-}
-//------------
-
-//send msg
-void MTP3asp__PT_PROVIDER::send_msg(unsigned char *outbuff, int length)
-{
- OCTETSTRING buff(length,outbuff);
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3/M3UA Test Port (%s): {", get_name());
- TTCN_Logger::log_event("outgoing buffer= ");
- buff.log();
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- if (Loop == MTP3_ON)
- {
- log("Message looped back");
- doInterpret(outbuff, length, channel, myConnection);
- } else
- {
- MPH_SendMessage(myConnection,channel,length,outbuff);
- log("Message sent on channel %d", channel);
- }
-}
-//------------
-
-//Check TestPortVariables
-void MTP3asp__PT_PROVIDER::Check_TestPort_Variables()
-{
- if(!dynamicConnection)
- {
- if (httpport==-1) error("Parameter HttpPort is not set.");
- if (hostname==NULL) error("Parameter Hostname is not set.");
- if (entityname==NULL) error("Parameter EntityName is not set.");
- }
- if (Filter==-1) error("Parameter Filter is not set.");
- if (Loop==-1) error("Parameter Loop is not set.");
- if (Sut_Pc==-1) error("Parameter SUT_Pc is not set.");
- if (Tester_Pc==-1) error("Parameter TESTER_Pc is not set.");
- if (!Ni_is_set) error("Parameter NI is not set.");
-}
-//------------
-
-// -------------------------------------------------
-// STC Functions and definitions for test with SEA
-// -------------------------------------------------
-void MTP3asp__PT_PROVIDER::Check_TestPort_Variables_STC()
-{
- if(!dynamicConnection)
- {
- if (httpport==-1) error("Parameter HttpPort is not set.");
- if (hostname==NULL) error("Parameter Hostname is not set.");
- if (entityname==NULL) error("Parameter EntityName is not set.");
- }
-}
-//------------
-
-//STC user map
-void MTP3asp__PT_PROVIDER::STC_user_map(const char *system_port)
-{
- debuglog("Function STC_user_map started");
- Check_TestPort_Variables_STC();
- if(dynamicConnection)
- {
- connectionUp = FALSE;
- }
- else
- {
- MTP3_open_channel(TRUE);
- STC_user_connect();
- }
-}
-//------------
-
-//STC user connect
-void MTP3asp__PT_PROVIDER::STC_user_connect()
-{
-}
-
-//STC user unmap
-void MTP3asp__PT_PROVIDER::STC_user_unmap(const char *system_port)
-{
- MTP3_close_connection();
- dynamicConnection = FALSE;
-}
-//------------
-
-//STC interpreter
-void MTP3asp__PT_PROVIDER::STC_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
-{
- if ((length==0) || (inbuffer==NULL))
- {
- log("0 byte long message received -> packet dropped.");
- return;
- }
-
- if (length==1)
- {
- log("1 byte long internal SEA message received -> packet dropped.");
- return;
- }
-
- if ( !strcmp((const char*)inbuffer,"start") )
- {
- log("start message received from SEA");
- return;
- }
- else if (!strcmp((const char*)inbuffer,"stop"))
- {
- log("stop message received from SEA");
- return;
- }
-
- // writing out the contents of the buffer
- OCTETSTRING buff(length,inbuffer);
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("incoming buffer: ");
- buff.log();
- TTCN_Logger::end_event();
-
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- recv_sio.ni()= int2bit(0,2);
- recv_sio.prio()= int2bit(0,2);
- recv_sio.si()= int2bit(0,4);
- recv_msg.sio() = recv_sio;
- recv_msg.sls() = 0;
- recv_msg.opc() = 0;
- recv_msg.dpc() = 0;
- recv_msg.data() = OCTETSTRING(length, &inbuffer[0]);
- incoming_message( recv_msg );
-}
-
-// -------------------------------------------------
-// MTP3 Functions and definitions for test with SEA
-// -------------------------------------------------
-
-// SLTM messages for MTP3
-// -----------------------
-unsigned char ttcn_in_sltm[] = {
- 'T','T','C','N','-','3',' ','E','x','e','c','u','t','o','r'};
-
-const int sizeof_ttcn_in_sltm=15;
-
-// ITU:
-unsigned char sltm_msg_itu[] =
-{
- 0x1, //SIO /'test & maint' see Q.704 /14.2.1 => 0x81 suggested !!!
- 0x0, 0x0, 0x0, 0x0, //4 bytes for label (dpc, opc,sls)
- 0x11, //Heading code ITU, see Q.707/5.4
- 0xF0, //spare+Length of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_msg_itu=7+15;
-
-// ANSI:
-unsigned char sltm_msg_ansi[]=
-{
- 0xB1, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0, // 7 bytes for label
- 0x11, // Heading Code ANSI T1.111.7-2001
- 0xF0, // SLC(is 0 OK???)+Length in bytes of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_ansi=10+15;
-
-// TTC:
-unsigned char sltm_msg_ttc_national[]=
-{
- 0x81, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0, // 6 bytes for label TO BE CONT!!!
- 0x11, // Heading Code
- 0xF0, // SLC(is 0 OK???)+Length in bytes of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_msg_ttc_national=9+15;
-
-// BTTC:
-unsigned char sltm_msg_bttc_national[]=
-{
- 0x0, // extra octet, ignored
- 0x81, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0, // 6 bytes for label TO BE CONT!!!
- 0x23, // Heading Code
- 'T', 'T'
-};
-const int sizeof_sltm_msg_bttc_national=1+8+2;
-
-// MPT:
-unsigned char sltm_msg_mpt_national[]=
-{
- 0x81, //SIO
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0, // 7 bytes for label
- 0x11, // Heading Code
- 0xF0, // SLC(is 0 OK???)+Length in bytes of the following string:
- 'T', 'T', 'C', 'N', '-', '3', ' ', 'E', 'x', 'e', 'c', 'u', 't', 'o', 'r'
-};
-const int sizeof_sltm_msg_mpt_national=10+15;
-//------------
-
-
-// coder functions for MTP3
-// -------------------------
-// unsigned int<-> unsigned char array
-// Integer encode/decode functions that will encode/decode from/to
-// Result: Least Significant Byte first (in lowest address) = LSB = Little Endian
-void MTP3asp__PT_PROVIDER::encode_56bLSB_int(unsigned char *to, unsigned long long int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
- from >>= 8;
- to[4] = from & 0xFF;
- from >>= 8;
- to[5] = from & 0xFF;
- from >>= 8;
- to[6] = from & 0xFF;
-}
-//------------
-
-unsigned long long int MTP3asp__PT_PROVIDER::decode_56bLSB_int(const unsigned char *from)
-{
- typedef unsigned long long int ull;
- return ((ull) from[0]) |
- ((ull) from[1] <<8)|
- ((ull) from[2] << 16)|
- ((ull) from[3] << 24)|
- ((ull) from[4] << 32)|
- ((ull) from[5] << 40)|
- ((ull) from[6] << 48);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_48bLSB_int(unsigned char *to, unsigned long long int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
- from >>= 8;
- to[4] = from & 0xFF;
- from >>= 8;
- to[5] = from & 0xFF;
-}
-//------------
-
-unsigned long long int MTP3asp__PT_PROVIDER::decode_48bLSB_int(const unsigned char *from)
-{
- typedef unsigned long long int ull;
- return ((ull) from[0]) |
- ((ull) from[1] <<8)|
- ((ull) from[2] << 16)|
- ((ull) from[3] << 24)|
- ((ull) from[4] << 32)|
- ((ull) from[5] << 40);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_40bLSB_int(unsigned char *to, unsigned long long int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
- from >>= 8;
- to[4] = from & 0xFF;
-}
-//------------
-
-unsigned long long int MTP3asp__PT_PROVIDER::decode_40bLSB_int(const unsigned char *from)
-{
- typedef unsigned long long int ull;
- return ((ull) from[0]) |
- ((ull) from[1] <<8)|
- ((ull) from[2] << 16)|
- ((ull) from[3] << 24)|
- ((ull) from[4] << 32);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_32bLSB_int(unsigned char *to, unsigned int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[3] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_32bLSB_int(const unsigned char *from)
-{
- return from[0] | (from[1] << 8) | (from[2] << 16) | (from[3] << 24);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_24bLSB_int(unsigned char *to, int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_24bLSB_int(const unsigned char *from)
-{
- return from[0] | (from[1] << 8) | (from[2] << 16);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_16bLSB_int(unsigned char *to, int from)
-{
- to[0] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_16bLSB_int(const unsigned char *from)
-{
- return from[0] | (from[1] << 8);
-}
-//------------
-
-//MTP3 user map
-void MTP3asp__PT_PROVIDER::MTP3_user_map(const char *system_port)
-{
- debuglog("Function MTP3_user_map started");
- Check_TestPort_Variables();
- if(dynamicConnection)
- {
- connectionUp = FALSE;
- }
- else
- {
- MTP3_open_channel(TRUE);
- MTP3_user_connect();
- }
- debuglog("Function MTP3_user_map finished");
-}
-//------------
-
-//MTP3 user connect
-void MTP3asp__PT_PROVIDER::MTP3_user_connect()
-{
- // Sending out an SLTM message:
- unsigned char * sltm_msg;
- unsigned int offset = 0;
- int sizeof_msg;
- switch( MTPServiceType)
- {
- case MTP3itu:
- case MTP3iup:
- sltm_msg=sltm_msg_itu;
- sizeof_msg=sizeof_sltm_msg_itu;
- break;
- case MTP3ansi:
- sltm_msg=sltm_msg_ansi;
- sizeof_msg=sizeof_sltm_ansi;
- break;
- case MTP3ttc:
- /* if (mtp3_ni == 0){
- sltm_msg=sltm_msg_itu;
- sizeof_msg=sizeof_sltm_msg_itu;
- }
- else {
- */
- sltm_msg=sltm_msg_ttc_national;
- sizeof_msg=sizeof_sltm_msg_ttc_national;
- // }
- break;
- case MTP3bttc:
- sltm_msg=sltm_msg_bttc_national;
- sizeof_msg=sizeof_sltm_msg_bttc_national;
- offset = 1;
- break;
- case MTP3mpt:
- if (mtp3_ni == 2)
- {
- sltm_msg = sltm_msg_mpt_national;
- sizeof_msg = sizeof_sltm_msg_mpt_national;
- } else
- {
- sltm_msg = sltm_msg_itu;
- sizeof_msg = sizeof_sltm_msg_itu;
- }
- break;
- default:
- sltm_msg=sltm_msg_itu;
- sizeof_msg=sizeof_sltm_msg_itu;
- break;
- }
- stored_bttc_octet = 0;
- unsigned char sio = ((unsigned char) mtp3_ni) << 6;
-
- if (Ni_is_set)
- { sltm_msg[0+offset] = sio | 0x1; }
- else
- { sltm_msg[0+offset] = 0x1; };//SIO /'test & maint' see Q.704 /14.2.1 => 0x81 suggested !!!
-
- SetPointCodes(0, Tester_Pc, Sut_Pc, sltm_msg + 1 +offset); // common for ITU, ANSI and TTC
- log("MTP3/SLTM message sending...");
- send_msg(sltm_msg, sizeof_msg);
-}
-//MTP3 user unmap
-void MTP3asp__PT_PROVIDER::MTP3_user_unmap(const char *system_port)
-{
- MTP3_close_connection();
- dynamicConnection = FALSE;
-}
-
-//MTP3 interpreter
-void MTP3asp__PT_PROVIDER::MTP3_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
-{
- if ((length==0) || (inbuffer==NULL))
- {
- log("0 byte long message received -> packet dropped.");
- return;
- }
-
- if (length==1)
- {
- log("1 byte long internal SEA message received -> packet dropped.");
- return;
- }
-
- if ( !strcmp((const char*)inbuffer,"start") )
- {
- log("start message received from SEA");
- return;
- }
- else if (!strcmp((const char*)inbuffer,"stop"))
- {
- log("stop message received from SEA");
- return;
- }
-
- // writing out the contents of the buffer
- OCTETSTRING buff(length,inbuffer);
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("incoming buffer: ");
- buff.log();
- TTCN_Logger::end_event();
-
- unsigned int offset = 0;
- if ( MTPServiceType==MTP3bttc )
- {
- stored_bttc_octet = inbuffer[0];
- offset = 1;
- }
- int labellen; // sio+routinglabel length
- int rec_ni = (inbuffer[offset]) >> 6; //network indicator
- if (rec_ni != mtp3_ni)
- error("Received NI is different from sent NI.");
-
- unsigned char sio = inbuffer[offset];
- unsigned int si = sio&0x0F;
-
- if ( MTPServiceType==MTP3itu )
- { labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- }
- else if ( MTPServiceType==MTP3iup )
- {
- if(si==4)
- labellen=6; //ITU-T:sio(1byte) + standard telephony label(5byte)
- else
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- }
- else if ( MTPServiceType==MTP3ansi )
- { labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T1.111.4
- }
- else if (MTPServiceType==MTP3ttc)
- { labellen=6; //new (2004-03-02): 6= sio(1byte)+ routing label(5bytes)
- }
- else if (MTPServiceType==MTP3mpt)
- {
- if ( mtp3_ni == 2)
- {labellen=8;} //MPT national: sio(1byte) +routing label(7byte)
- else
- {labellen=5;} //MPT international: sio(1byte) +routing label(4byte)
- }
- else if (MTPServiceType==MTP3bttc)
- { labellen=7; //7= sio(1byte)+ routing label(6bytes)
- }
- else
- { log("incorrect MTPServiceType - programming error-> packet dropped");
- return;
- }
-
- // checking SIO field (first incoming byte) - management or test message
- switch (si)
- {
- case 0: processing_MTP3_management_msg(inbuffer+offset,length-offset);
- return;
- case 1: //MTP3itu
- case 2: processing_MTP3_test_msg(inbuffer+offset,length-offset); //MTP3ansi
- return;
- default:
- break;
- }
-
- // filling up TTCN structure
- if ((Loop==MTP3_ON) || (!Filter) || (Filter&&Check_PcMatch(Sut_Pc,Tester_Pc,&inbuffer[offset+1])))
- {
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- BITSTRING sio_bit = oct2bit(OCTETSTRING(1,inbuffer+offset));
- recv_sio.ni()= substr(sio_bit,0,2);
- recv_sio.prio()= substr(sio_bit,2,2);
- recv_sio.si()= substr(sio_bit,4,4);
- recv_msg.sio() = recv_sio;
- unsigned int sls,opc,dpc;
- if ( (MTPServiceType==MTP3iup) && (si==4) )
- GetPointCodesIUP(sls,opc,dpc,&inbuffer[1]);
- else
- GetPointCodes(sls,opc,dpc,&inbuffer[offset+1]);
- recv_msg.sls() = sls;
- recv_msg.opc() = opc;
- recv_msg.dpc() = dpc;
- int len;
- len= length-labellen-offset; //len= length-labellen;
- recv_msg.data() = OCTETSTRING(len, &inbuffer[offset+labellen]);
- incoming_message( recv_msg );
- }
- else
- { log("The rooting label (OPC, DPC) not matched with the filter setting -> packet dropped.");
- return;
- }
-}
-
-void MTP3asp__PT_PROVIDER::processing_MTP3_management_msg(unsigned char* inbuff,int len)
-{
- int outlen=0;
- int labellen; // sio+routinglabel length
- int chm_addlen; // (Changeback) additional length = Heading Code + SLC+ (changeback codes)
- int mim_addlen; // (MIM) -"-
- unsigned int offset = 0;
- OCTETSTRING bttc_oct = int2oct(stored_bttc_octet, 1); // additional octet for MTP3bttc
-
- if ( MTPServiceType==MTP3itu || MTPServiceType==MTP3iup)
- { labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- chm_addlen = 2;
- mim_addlen = 1;
- }
- else if ( MTPServiceType==MTP3ansi )
- { labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T.1.111.4
- chm_addlen = 3;
- mim_addlen = 2;
- }
- else if (MTPServiceType==MTP3ttc)
- { //if ( mtp3_ni == 0 ) { labellen=5;} //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- //else {
- labellen=6;
- //} //sio(1byte)+ routing label(6bytes) see 3/15517-FAY 112 011/2 or jt-q704.
- }
- else if (MTPServiceType==MTP3mpt)
- { if ( mtp3_ni == 2 ) { labellen=8; }
- else { labellen=5; }
- chm_addlen = 2;
- mim_addlen = 1;
- }
- else if (MTPServiceType==MTP3bttc)
- { labellen=7;//sio(1byte)+routing label(6bytes) see 3/15517-FAY 112 011/2 or jt-q704
- offset = 1;
- }
- else
- { log("incorrect MTPServiceType- programming error-> packet dropped");
- return;
- }
-
- if (MTPServiceType==MTP3bttc)
- {
- buffer[0]=*((const unsigned char*)bttc_oct); //additional stored octet in front
- buffer[1]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[2],&inbuff[1],len))
- { log("incorrect incoming management message -> packet dropped.");
- return;
- }
- }
- else
- {
- buffer[0]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[1],&inbuff[1],len))
- { log("incorrect incoming management message -> packet dropped.");
- return;
- }
- }
-
- // Changeover & changeback(CHM) see ITU: Q.704/15.4.1 ANSI: T.1.111.4/15.2-4
- if (inbuff[labellen]==0x51) //CBD
- {
- outlen=labellen+chm_addlen;
- if (len packet dropped.");
- return;
- }
- else
- { buffer[offset + labellen]= 0x61; // Heading Code <- CBA
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],len-labellen-1);
- outlen = len;
- }
- }
- else if (inbuff[labellen]==0x16) //MIM H0=6=Mgmt inhibit msg, H1=1=LIN
- {
- outlen=labellen+mim_addlen;
- if (len packet dropped.");
- return;
- }
- else
- {
- buffer[offset + labellen]= 0x56; // LIN -> LID ; LID = link inhibit denied
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],(len-labellen-1)); //SLC+spare+...
- outlen = len;
- }
- }
- else if (inbuff[labellen]==0x17 && (MTPServiceType==MTP3iup))
- {
- if(forward_resume) incoming_message(ASP__MTP3__RESUME(NULL_VALUE));
- return;
- }
-
-/* else if (inbuff[labellen]==0x17 && (MTPServiceType==MTP3iup)) //TRM H0=7, H1=1 : TRA
- {
- outlen=labellen+1;
- if (len packet dropped.");
- return;
- }
- else
- {
- outlen = len;
- }
- }*/
- else
- { log("This management message type is not supported -> packet dropped.");
- return;
- }
-
- // send message
- log("function processing_MTP3_management_msg sends a msg");
- send_msg(buffer, outlen+offset);
-}
-
-// processing MTP3 test msg
-// Signalling link test message handling according to Q.707 (ITU) and T1.111.7-2001 (ANSI)
-void MTP3asp__PT_PROVIDER::processing_MTP3_test_msg(unsigned char* inbuff,int len)
-{
- int outlen=0;
- int labellen; // sio+routinglabel length
- int addlen; //Heading Code+length indicator
- //unsigned int ni; //network indicator
- OCTETSTRING bttc_oct = int2oct(stored_bttc_octet, 1); // additional octet for MTP3bttc
- unsigned int offset = 0;
- if ( MTPServiceType==MTP3itu || MTPServiceType==MTP3iup)
- {
- labellen=5; //ITU-T:sio(1byte) + routing label(4byte) see /Q.704/15.4.1
- addlen = 2; //HC(1 byte)+length ind(1 byte) see Q.707/5.8
- }
- else if ( MTPServiceType==MTP3ansi )
- {
- labellen=8; //ANSI: sio(1byte) +routing label(7byte) see T1.111.4
- addlen = 2; //HC(1byte) +(length ind+SLC(1byte)) see T1.111.7-2001/5
- }
- else if (MTPServiceType==MTP3ttc)
- {
- /* if (mtp3_ni == 0) {
- debuglog("processing_MTP3_test_msg/TTC (Japanese) international");
- labellen=5; //TTC (Japanese) international
- addlen=2;
- } else {
- */
- labellen=6; // previously 7
- // TTC national [ 56bits=sio(1byte)+routing label ]
- // r.label= dpc(2bytes)+opc(2bytes)+sls(4bit)+12bits (?)
- addlen=2;
- //}
- }
- else if (MTPServiceType==MTP3mpt)
- {
- if (mtp3_ni == 2)
- { labellen=8; //MPT national
- addlen=2;
- }
- else
- { labellen=5; // MPT international
- addlen=2;
- }
- }
- else if (MTPServiceType==MTP3bttc)
- {
- labellen=7;
- addlen=2;
- offset = 1;
- }
- else
- { log("incorrect MTPServiceType - programming error-> packet dropped");
- return;
- }
-
- if (MTPServiceType==MTP3bttc)
- {
- buffer[0]=*((const unsigned char*)bttc_oct); //additional stored octet in front
- buffer[1]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[2],&inbuff[1],len))
- {
- log("incorrect incoming test message -> packet dropped.");
- return;
- }
- }
- else
- {
- buffer[0]=inbuff[0]; //SIO
- if (!ChangePointCodes(&buffer[1],&inbuff[1],len))
- {
- log("incorrect incoming test message -> packet dropped.");
- return;
- }
- }
-
- // Test message handling: SLTM->SLTA, SRT->SRA, SLTA->TRA, others only logged
- debuglog("\n==>Test message handling: msg type:%x\n", inbuff[labellen] ); // temporary
- switch( inbuff[labellen] )
- {
- case 0x11: //SLTM
- log("MTP3/SLTM message received");
- outlen=labellen+addlen;
- if (len packet dropped.");
- return;
- }
- else
- { buffer[offset + labellen]= 0x21; // SLTA
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],(len-labellen-1));
- outlen = len;
- }
- break;
- case 0x21: //SLTA
- if(!strncmp((const char *)(inbuff+labellen+addlen),(const char *)ttcn_in_sltm,sizeof_ttcn_in_sltm))
- {
- log("MTP3/SLTA message received for SLTM sent by Test Port-> TRA message sent");
- buffer[offset]--;
- buffer[offset + labellen]= 0x17; // TRA
- outlen = labellen+1;
- return;
-// if(forward_resume) incoming_message(ASP__MTP3__RESUME(NULL_VALUE));
- }
- else
- {
- log("MTP3/SLTA message received -> packet dropped");
- return;
- }
- break;
- case 0x23: // TTC (Japanese) SRT (Signalling Routing Test signal)
- log("MTP3ttc/SRT message received");
- outlen=labellen+addlen;
- if (len packet dropped.");
- return;
- }
- else
- { buffer[offset + labellen]= 0x84; // TTC (Japanese) SRA
- memcpy(&buffer[offset + labellen+1],&inbuff[labellen+1],(len-labellen-1));
- outlen = len;
- }
- break;
- case 0x84: // TTC (Japanese) SRA (Signalling Routing test Ack signal)
- log("MTP3ttc/SRA message received -> packet dropped");
- return;
- default:
- log("This management message type is not supported -> packet dropped ");
- return;
- }
-
- // send message
- log("function processing_MTP3_test_msg sends a message");
- send_msg( buffer,outlen+offset);
-}
-
-// Point Code Manipulation (Get/Set/Change)
-// -------------------------------------------------
-void MTP3asp__PT_PROVIDER::GetPointCodes(unsigned int &sls,unsigned int &opc,unsigned int &dpc, unsigned char* msg)
-{
- unsigned int label;
- sls=0; opc=0; dpc=0;
- unsigned long long int Label;
-
- switch( MTPServiceType)
- {
- case MTP3itu:
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF; //dpc = (label&0x00003FFF);
- debuglog("Function GetPointCodes called for service type MTP3itu");
- break;
- case MTP3iup:
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF; //dpc = (label&0x00003FFF);
- debuglog("Function GetPointCodes called for service type MTP3iup");
- break;
- case MTP3ansi:
- Label=decode_56bLSB_int(msg);
- sls = (Label >> 48) & 0xFF; //sls = (Label&0x00FF000000000000)>>48;
- opc = (Label >> 24) & 0xFFFFFF;//opc = (Label&0x0000FFFFFF000000)>>24;
- dpc = Label & 0xFFFFFF; //dpc = (Label&0x0000000000FFFFFF);
- debuglog("Function GetPointCodes called for service type MTP3ansi");
- break;
- case MTP3ttc:
- /*
- if( mtp3_ni == 0)
- {
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF;
- debuglog("Function GetPointCodes called for service type MTP3ttc/international");
- } else
- {*/
- Label=decode_48bLSB_int(msg); //0x010203040506
- sls = (Label>>32)&0xF; // sls = (Label&0x000F00000000)>>32; // only 4 bits!!!
- opc = (Label>>16)&0xFFFF;//opc = (Label&0x0000FFFF0000)>>16;
- dpc = Label&0xFFFF; //dpc = (Label&0x00000000FFFF);
- debuglog("Function GetPointCodes called for service type MTP3ttc/national");
- //}
- break;
- case MTP3bttc:
- Label=decode_48bLSB_int(msg);
- sls = (Label>>32)&0xF; // sls = (Label&0x000F00000000)>>32; // only 4 bits!!!
- opc = (Label>>16)&0xFFFF;//opc = (Label&0x0000FFFF0000)>>16;
- dpc = Label&0xFFFF; //dpc = (Label&0x00000000FFFF);
- debuglog("Function GetPointCodes called for service type MTP3bttc/national");
- break;
- case MTP3mpt:
- if( mtp3_ni == 2)
- {
- Label=decode_56bLSB_int(msg);
- sls = (Label >> 48) & 0xFF; //sls = (Label&0x00FF000000000000)>>48;
- opc = (Label >> 24) & 0xFFFFFF;//opc = (Label&0x0000FFFFFF000000)>>24;
- dpc = Label & 0xFFFFFF; //dpc = (Label&0x0000000000FFFFFF);
- debuglog("Function GetPointCodes called for service type MTP3mpt(nat)");
- }
- else
- {
- label= decode_32bLSB_int(msg);
- sls = (label>>28)&0xF; //sls = (label&0xF0000000)>>28;
- opc = (label>>14)&0x3FFF; //opc = (label&0x0FFFC000)>>14;
- dpc = label&0x3FFF; //dpc = (label&0x00003FFF);
- debuglog("Function GetPointCodes called for service type MTP3mpt(int)");
- }
- break;
- default:
- break;
- }
- debuglog("sls:%u opc:%u, dpc:%u",sls,opc,dpc);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::GetPointCodesIUP(unsigned int &cic,unsigned int &opc,unsigned int &dpc, unsigned char* msg)
-{
- debuglog("Function GetPointCodesIUP called");
- cic=0; opc=0; dpc=0;
- unsigned long long int Label;
- Label=decode_40bLSB_int(msg); //0x0102030405
- cic = (Label>>28)&0xFFF; //cic = (label&0xFFF0000000)>>28;
- opc = (Label>>14)&0x3FFF; //opc = (label&0x000FFFC000)>>14;
- dpc = Label&0x3FFF; //dpc = (label&0x0000003FFF);
- debuglog("cic:%u opc:%u, dpc:%u",cic,opc,dpc);
-}
-
-void MTP3asp__PT_PROVIDER::SetPointCodes(unsigned int sls,unsigned int opc,unsigned int dpc, unsigned char* msg)
-{
- unsigned long long int Sls,Opc,Dpc;
-
- switch( MTPServiceType)
- {
- case MTP3itu:
- encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3itu");
- break;
- case MTP3iup:
- encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3iup");
- break;
- case MTP3ansi:
- Sls=sls; Opc=opc; Dpc=dpc;
- encode_56bLSB_int( msg, ((Sls<<48)|(Opc<<24)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3ansi");
- break;
- case MTP3ttc:
- /* if ( mtp3_ni == 0 ){
- encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3ttc/international");
- } else {
- */
- Sls=sls; Opc=opc; Dpc=dpc;
- encode_48bLSB_int( msg, ((Sls<<32)|(Opc<<16)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3ttc/national");
- //}
- break;
- case MTP3bttc:
- Sls=sls; Opc=opc; Dpc=dpc;
- encode_48bLSB_int( msg, ((Sls<<32)|(Opc<<16)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3bttc/national");
- break;
- case MTP3mpt:
- if ( mtp3_ni == 2 )
- { Sls=sls; Opc=opc; Dpc=dpc;
- encode_56bLSB_int( msg, ((Sls<<48)|(Opc<<24)|Dpc));
- debuglog("Function SetPointCodes called for service type MTP3mpt(nat)");
- }
- else
- { encode_32bLSB_int( msg, ((sls<<28)|(opc<<14)|dpc ));
- debuglog("Function SetPointCodes called for service type MTP3mpt(int)");
- }
- break;
- default:
- break;
- }
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::SetPointCodesIUP(unsigned int cic,unsigned int opc,unsigned int dpc, unsigned char* msg)
-{
- unsigned long long int Cic,Opc,Dpc;
- Cic=cic; Opc=opc; Dpc=dpc;
- debuglog("Function SetPointCodesIUP called");
- encode_40bLSB_int( msg, ((Cic<<28)|(Opc<<14)|Dpc ));
-}
-
-//Changes the Point codes: dpc<->opc ie. destination <->orig
-// inbuff starts from dpc i.e doesn't contain sio !!!!
-int MTP3asp__PT_PROVIDER::ChangePointCodes(unsigned char* outbuff, unsigned char *inbuff, int len)
-{
- switch( MTPServiceType)
- {
- case MTP3itu:
- case MTP3iup:
- if (len<5)
- { warn("MTP3itu:len<5. Too short message!"); return 0; };
- break;
- case MTP3ansi:
- if (len<9 ) return 0;
- break;
- case MTP3ttc:
- //if ( mtp3_ni == 0 && len<5)
- //{ warn("MTP3ttc:len<5. Too short message!"); return 0; }
- //else
- if (len<6)
- { warn("MTP3ttc:len<6. Too short message!"); return 0; }
- break;
- case MTP3bttc:
- if (len<7)
- { warn("MTP3bttc:len<7. Too short message!"); return 0; }
- break;
- case MTP3mpt:
- if ( mtp3_ni == 2 && len<8)
- { warn("MTP3mpt:len<8. Too short message!"); return 0; }
- else if (len<5)
- { warn("MTP3mpt:len<5. Too short message!"); return 0; }
- break;
- default:
- warn("Unknown MTPServiceType!!!");
- break;
- }
- unsigned int sls,opc,dpc;
- GetPointCodes(sls,opc,dpc,inbuff);
- SetPointCodes(sls,dpc,opc,outbuff);
- return 1;
-}
-//------------
-
-int MTP3asp__PT_PROVIDER::Check_PcMatch(unsigned int opc, unsigned int dpc, unsigned char *buff)
-{
- unsigned int temp_opc,temp_dpc,temp_sls;
-
- GetPointCodes(temp_sls,temp_opc,temp_dpc,buff);
- if ( (temp_opc == opc) && (temp_dpc == dpc) ) return 1;
- return 0;
-}
-//------------
-
-
-// -------------------------------------------------
-// M3UA Functions and definitions for test with SEA
-// -------------------------------------------------
-
-// Structures for M3UA
-static unsigned char aspup_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version
- 0x00, //reserved
- M3UA_MSG_CLS_ASPSM, //Msg class: ASPSM
- M3UA_MSG_TYP_ASPSM_ASPUP, //Msg type: ASPUP
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
- // ,PAR_PREFIX_COMMON, //optional Info string tag, in included, then msg
- // PAR_INFO_STR //msg length should be +20, that is 28=0x1c
- // 0x00,0x0f, // length: "TTCN-3 Executor" is 15 chars
- // 'T', 'T', 'C', 'N',
- // '-', '3', ' ', 'E',
- // 'x', 'e', 'c', 'u',
- // 't', 'o', 'r', 0x00 //las octet is padding
-};
-const int sizeof_aspup_msg = 8;
-
-static unsigned char aspupack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version
- 0x00, //reserved
- M3UA_MSG_CLS_ASPSM, //Msg class: ASPSM
- M3UA_MSG_TYP_ASPSM_ASPUPAck, //Msg type: ASPUP
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspupack_msg = 8;
-
-static unsigned char aspac_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPTM, //Msg class
- M3UA_MSG_TYP_ASPTM_ASPAC, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspac_msg = 8;
-
-// ASP Active Acknowledge msg:
-static unsigned char aspac_ack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPTM, //Msg class
- M3UA_MSG_TYP_ASPTM_ASPACAck, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspac_ack_msg = 8;
-
-static unsigned char aspia_ack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPTM, //Msg class
- M3UA_MSG_TYP_ASPTM_ASPIAAck, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspia_ack_msg = 8;
-
-// ASP DOWN Acknowledge msg:
-static unsigned char aspdn_ack_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_ASPSM, //Msg class
- M3UA_MSG_TYP_ASPSM_ASPDNAck, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x08 // length ends = 8 octets
-};
-const int sizeof_aspdn_ack_msg = 8;
-
-//ASP Destination Available msg:
-static unsigned char dava_1apc_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- //or updated doc 2/1056-FCPW 101 86/P-1
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_SSNM, //Msg class
- M3UA_MSG_TYP_SSNM_DAVA, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x10, // length ends, 16 octets
- //Affected point code
- PAR_PREFIX_COMMON,
- PAR_AFFECTED_PC,
- 0x00, //par length begins (2 octets)
- 0x08, //length ends, 8 octets
- 0x00, // point code placeholder begins
- 0x00, //
- 0x00, //
- 0x00 // point code placeholder ends
-};
-const int sizeof_dava_1apc_msg = 16;
-
-static unsigned char duna_1apc_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_SSNM, //Msg class
- M3UA_MSG_TYP_SSNM_DUNA, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x10, // length ends, 16 octets
- //Affected point code
- PAR_PREFIX_COMMON,
- PAR_AFFECTED_PC,
- 0x00, //par length begins (2 octets)
- 0x08, //length ends, 8 octets
- 0x00, // point code placeholder begins
- 0x00, //
- 0x00, //
- 0x00 // point code placeholder ends
-};
-const int sizeof_duna_1apc_msg = 16;
-
-static unsigned char error_msg[] =
-{
- //common MsUA msg hdr, see M3UA PS
- //Doc no. 1/1056-FCP 103 3571/F Uen, RevA
- 0x01, //Release Version: 01
- 0x00, //reserved
- M3UA_MSG_CLS_MGMT, //Msg class
- M3UA_MSG_TYP_MGMT_ERR, //Msg type
- 0x00, //Msg length begins (4 octets)
- 0x00, //
- 0x00, //
- 0x18, // length ends, 16+8 octets
- // Error code field:
- PAR_PREFIX_COMMON,
- PAR_ERROR_CODE,
- 0x00, //par length begins (2 octets)
- 0x08, //length ends, 8 octets
- 0x00, // error code placeholder begins (M3UA_MSG_OFFS+4)
- 0x00, //
- 0x00, //
- 0x00, // error code placeholder ends
- // additional field:
- 0x00, // M3UA_MSG_OFFS+8
- 0x00, // Routing context or Network Appearanance or APC or DI = error_code_id
- 0x00, // par length begins (2 octets)
- 0x08, // length ends, 8 octets
- 0x00, // value placeholder begins M3UA_MSG_OFFS+12
- 0x00, //
- 0x00, //
- 0x00 // value place holder ends
-};
-const int sizeof_error_msg = 24;
-
-void MTP3asp__PT_PROVIDER::M3UA_user_unmap(const char *system_port)
-{
- MTP3_close_connection();
- dynamicConnection = FALSE;
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::M3UA_user_map(const char *system_port)
-{
- M3UAState = AssocDown;
- Check_TestPort_Variables();
- if(dynamicConnection)
- {
- connectionUp = FALSE;
- }
- else
- {
- MTP3_open_channel(TRUE);
- M3UA_user_connect();
- }
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::M3UA_user_connect()
-{
- M3UAState = AssocEstabl;
- // Sending out an ASPUP message
- log("Message ASPUP will be sent");
- send_msg(aspup_msg, sizeof_aspup_msg);
- // NOTE: the ASPUPAck will be handled by M3UA_interpreter, which
- // also will take care of sending ASPAC upon receiving the ASPUPAck
-}
-//------------
-
-// M3UA_interpreter
-void MTP3asp__PT_PROVIDER::M3UA_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
-{
- if ((length==0) || (inbuffer==NULL))
- { warn("0 byte long message received -> packet dropped.");
- return;
- }
-
- if (length==1)
- {
- log("1 byte long internal SEA message received -> packet dropped.");
- return;
- }
-
- if ( !strcmp((const char*)inbuffer,"start") )
- { log("start message received from SEA");
- return;
- }
- else if (!strcmp((const char*)inbuffer,"stop"))
- { log("stop message received from SEA");
- return;
- }
-
- // writing out the contents of the buffer
- OCTETSTRING buff(length,inbuffer);
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("incoming buffer: ");
- buff.log();
- TTCN_Logger::end_event();
-
- // version checking
- if ( inbuffer[M3UA_VER_OFFS] != M3UA_version )
- { warn("Incompatible M3UA protocol version in header -> packet dropped");
- return;
- }
-
- //length checking
- unsigned int indicated_length = decode_32b_int(inbuffer + M3UA_LGT_OFFS );
- if ( indicated_length != (unsigned)length)
- warn("Length in common header (%d) mismatches received buffer length (%d),"
- "Assuming that it is because of the omission of final parameter padding"
- "in indicated length",indicated_length, length);
-
- // checking MSG class
- int unprocessed_chars = 0;
- switch (inbuffer[M3UA_CLS_OFFS])
- {
- case M3UA_MSG_CLS_MGMT:
- unprocessed_chars = processing_M3UA_MGMT_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_TRNSFM :
- unprocessed_chars = processing_M3UA_Transfer_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_SSNM :
- unprocessed_chars = processing_M3UA_SSNM_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_ASPSM :
- unprocessed_chars = processing_M3UA_ASPSM_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_ASPTM :
- unprocessed_chars = processing_M3UA_ASPTM_msg(inbuffer, length);
- break;
- case M3UA_MSG_CLS_RKM :
- unprocessed_chars = processing_M3UA_RKM_msg(inbuffer, length);
- break;
- default:
- unprocessed_chars = processing_M3UA_unsupported_msg_class(inbuffer, length);
- break;
- }
- debuglog("%d chars remained unprocessed (might be due to padding)", unprocessed_chars);
-}
-//------------
-
-//processing M3UA MGMT msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_MGMT_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_MGMT_msg");
- int offset = M3UA_MSG_OFFS; //pointer for processing
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: Mgmt, ");
- switch (inbuffer[M3UA_TYP_OFFS])//msg type
- {
- case M3UA_MSG_TYP_MGMT_ERR:
- TTCN_Logger::log_event("type: ERROR-> ignored");
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- break;
- case M3UA_MSG_TYP_MGMT_NTFY:
- TTCN_Logger::log_event("type: NOTIFY -> ignored");
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- break;
- default:
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- TTCN_Logger::log_event("Unsupported M3UA msg type %x of class MGMT -> packet dropped.", inbuffer[M3UA_TYP_OFFS]);
- TTCN_Logger::log_event("}");
- TTCN_Logger::end_event();
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA SSNM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_SSNM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_SSNM_msg");
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: SSNM, ");
- int offset = M3UA_MSG_OFFS; //pointer for processing
-
- switch (inbuffer[M3UA_TYP_OFFS])
- {
- case M3UA_MSG_TYP_SSNM_DAUD:
- while (offset <= length-8 ) //processing potential params
- {
- switch (inbuffer[offset++]) //1st octet of tag
- {
- case PAR_PREFIX_COMMON:
- TTCN_Logger::log_event (" DAUD: COMMON parameter ");
- switch (inbuffer[offset++]) //2nd octet of COMMON tag
- {
- case PAR_ROUTING_CTX:
- TTCN_Logger::log_event ("Routing Context (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- case PAR_INFO_STR:
- TTCN_Logger::log_event ("Info String (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- case PAR_AFFECTED_PC:
- TTCN_Logger::log_event ("Affected Point Code -> will send DUNA/DAVA, ");
- TTCN_Logger::log_event("will ignore remainder parameters after APC}");
- TTCN_Logger::end_event();
- Send_DAVA_DUNA_to_APCinDAUD(Tester_Pc, inbuffer, offset);
- return length-offset;
- default:
- TTCN_Logger::log_event ("invalid COMMON param tag:0x%02x%02x-> skipped", PAR_PREFIX_COMMON, inbuffer[offset-1]);
- send_M3UA_error_msg( PAR_ERRC_PARFE, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- break;
- }
- break;
- case PAR_PREFIX_M3UA:
- TTCN_Logger::log_event ("DAUD: M3UA parameter: ");
- switch (inbuffer[offset++]) //2nd octet of M3UA tag
- {
- case PAR_NETW_APP:
- TTCN_Logger::log_event ("Network Appearance (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- default:
- TTCN_Logger::log_event ("invalid M3UA param tag:0x%02x%02x-> skipped",
- PAR_PREFIX_M3UA, inbuffer[offset-1]);
- send_M3UA_error_msg( PAR_ERRC_PARFE, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- }
- break;
- default: //1st octet of tag
- TTCN_Logger::log_event ("invalid 1st octet param tag:0x%02x in DATA (packet dropped)",inbuffer[offset-1]);
- close_log_event();
- return length -offset;
- break;
- }
- }
- break;
- case M3UA_MSG_TYP_SSNM_DAVA: // Destination Available // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DAVA -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_DUNA: // Destination Unavailable // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DUNA -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_SCON: // Signalling Congestion // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_SCON -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_DUPU: //Destinationn User Part Unavailable // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DUPU -> ignored");
- close_log_event();
- break;
- case M3UA_MSG_TYP_SSNM_DRST: //Destination Restricted // Notification to the user part ?????
- TTCN_Logger::log_event("type: SSNM_DRST -> ignored");
- close_log_event();
- break;
- default: //msg type
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- TTCN_Logger::log_event("Unsupported M3UA msg type -> packet dropped.");
- close_log_event();
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA ASPSM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_ASPSM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_ASPSM_msg");
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: ASPSM, ");
-
- int offset = M3UA_MSG_OFFS; //pointer for processing
- switch (inbuffer[M3UA_TYP_OFFS])
- {
- case M3UA_MSG_TYP_ASPSM_ASPUP:
- TTCN_Logger::log_event("type: ASPSM_ASPUP -> ASPUPAck will be sent");
- close_log_event();
- send_msg(aspupack_msg, sizeof_aspupack_msg);
- break;
- case M3UA_MSG_TYP_ASPSM_ASPDN:
- TTCN_Logger::log_event("type: ASPSM_ASPDN -> ASPDNAck will be sent");
- close_log_event();
- send_msg(aspdn_ack_msg, sizeof_aspdn_ack_msg);
- break;
- case M3UA_MSG_TYP_ASPSM_BEAT:
- TTCN_Logger::log_event("type: ASPSM_BEAT -> ASPSM_BEATAck will be sent");
- close_log_event();
- //Sending back the packet as acknowledge:
- inbuffer[M3UA_TYP_OFFS]= M3UA_MSG_TYP_ASPSM_BEATAck;
- send_msg(inbuffer, length);
- break;
- case M3UA_MSG_TYP_ASPSM_ASPUPAck:
- TTCN_Logger::log_event("type: ASPSM_ASPUPAck -> ASPAC will be sent");
- M3UAState = AssocInac;
- TTCN_Logger::log_event(" M3UAState's been changed to AssocInac");
- close_log_event();
- send_msg(aspac_msg, sizeof_aspac_msg );
- break;
- case M3UA_MSG_TYP_ASPSM_ASPDNAck:
- M3UAState = AssocDown;
- TTCN_Logger::log_event(" M3UAState's been changed to AssocDown");
- TTCN_Logger::log_event("type: ASPSM_ASPDNAck -> nothing will be sent");
- close_log_event();
- break;
- case M3UA_MSG_TYP_ASPSM_BEATAck:
- TTCN_Logger::log_event("type: ASPSM_BEATAck -> nothing will be sent");
- close_log_event();
- break;
- default:
- TTCN_Logger::log_event("Unsupported M3UA msg type %x of class ASPSM-> packet dropped.", (unsigned char)(inbuffer[M3UA_TYP_OFFS]));
- close_log_event();
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA ASPTM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_ASPTM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_ASPTM_msg");
- TTCN_Logger::begin_event(TTCN_PORTEVENT);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: ASPTM, ");
-
- int offset = M3UA_MSG_OFFS; //pointer for processing
- switch (inbuffer[M3UA_TYP_OFFS])
- {
- case M3UA_MSG_TYP_ASPTM_ASPAC: //ASP Active
- M3UAState = AssocActive;
- TTCN_Logger::log_event("type: ASPTM_ASPAC -> ASPACAck will be sent");
- close_log_event();
- send_msg(aspac_ack_msg, sizeof_aspac_ack_msg);
- break;
- case M3UA_MSG_TYP_ASPTM_ASPIA: //ASP InActive
- TTCN_Logger::log_event("type: ASPTM_ASPIA -> ASPIAAck will be sent");
- close_log_event();
- send_msg(aspia_ack_msg, sizeof_aspia_ack_msg);
- break;
- case M3UA_MSG_TYP_ASPTM_ASPACAck:
- M3UAState = AssocActive;
- TTCN_Logger::log_event("type: ASPTM_ASPACAck -> nothing will be sent");
- TTCN_Logger::log_event("M3UAState's been changed to AssocActive.");
- close_log_event();
- break;
- case M3UA_MSG_TYP_ASPTM_ASPIAAck:
- TTCN_Logger::log_event("type: ASPTM_ASPIAAck -> nothing will be sent");
- close_log_event();
- break;
- default:
- TTCN_Logger::log_event("Unsupported M3UA msg type %x of class ASPSM-> packet dropped.", (unsigned char)(inbuffer[M3UA_TYP_OFFS]));
- close_log_event();
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- break;
- }
- return length - offset;
-}
-//------------
-
-//processing M3UA RKM msg
-int MTP3asp__PT_PROVIDER::processing_M3UA_RKM_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_RKM_msg");
- int offset = M3UA_MSG_OFFS; //pointer for processing
- warn("Unsupported M3UA msg class M3UA_RKM -> packet dropped.");
- return length - offset;
-}
-//------------
-
-//processing M3UA unsupported msg class
-int MTP3asp__PT_PROVIDER::processing_M3UA_unsupported_msg_class(unsigned char* inbuffer,int length)
-{
- warn("Unsupported M3UA msg class -> packet dropped.");
- send_M3UA_error_msg( PAR_ERRC_UNSMC, inbuffer[M3UA_CLS_OFFS] );
- int offset = M3UA_MSG_OFFS; //pointer for processing
- return length - offset;
-}
-//------------
-
-// processing_M3UA_Transfer_msg - called if the msg class is "Transfer" i.e M3UA_MSG_CLS_TRNSFM:
-int MTP3asp__PT_PROVIDER::processing_M3UA_Transfer_msg(unsigned char* inbuffer,int length)
-{
- debuglog("Entering function:processing_M3UA_Transfer_msg");
- int offset = M3UA_MSG_OFFS; //pointer for processing
- unsigned int recv_opc, recv_dpc,recv_si, recv_ni, recv_mp,recv_sls =0;
- int param_length = 0;
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): {", get_name());
- TTCN_Logger::log_event("decoded msg class: DataTrnsf, ");
-
- switch (inbuffer[M3UA_TYP_OFFS]) //msg type
- {
- case M3UA_MSG_TYP_TRSNFM_DATA:
- TTCN_Logger::log_event("msg type DATA, ");
- while (offset <= length-8) //processing potential params
- {
- switch (inbuffer[offset++]) //1st octet of tag. Offset already incremented after the 'case' !
- {
- case PAR_PREFIX_COMMON:
- TTCN_Logger::log_event (" DATA: COMMON parameter, ");
- switch (inbuffer[offset++]) //2nd octet of tag
- {
- case PAR_ROUTING_CTX:
- TTCN_Logger::log_event ("Routing Context (unsupported par) -> skipped), ");
- // Send back an error msg
- skip_par_after_tag(inbuffer, offset);
- break;
- case PAR_CORREL_ID:
- TTCN_Logger::log_event ("Correlation ID (unsupported par) -> skipped), ");
- skip_par_after_tag(inbuffer, offset);
- break;
- default:
- TTCN_Logger::log_event ("invalid COMMON param tag:0x%02x%02x -> skipped", PAR_PREFIX_COMMON, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- break;
- }
- case PAR_PREFIX_M3UA:
- TTCN_Logger::log_event ("DATA: M3UA parameter: ");
- switch (inbuffer[offset++]) //2nd octet of M3UA tag
- {
- case PAR_PROT_DATA:
- //---------------------------------------------
- TTCN_Logger::log_event ("Protocol Data");
- // retrieving length
- param_length = decode_16b_int(inbuffer+offset); offset+=2;
- TTCN_Logger::log_event(", DATA: Length of Protocol Data parameter is %d",param_length);
- // retrieving M3UA protocol data paremeter opc, dpc, si, ni, mp,
- // sls
- recv_opc = decode_32b_int(inbuffer+offset); offset +=4;
- recv_dpc = decode_32b_int(inbuffer+offset); offset +=4;
- recv_si = (unsigned int)(inbuffer[offset++]);
- recv_ni = (unsigned int)(inbuffer[offset++]);
- recv_mp = (unsigned int)(inbuffer[offset++]);
- recv_sls = (unsigned int)(inbuffer[offset++]);
- TTCN_Logger::log_event(", DATA: decoded Protocol Data parameter:");
- // filling up TTCN structure
- if ((Loop==MTP3_ON) ||
- (!Filter) ||
- (Filter &&
- (recv_opc == (unsigned)Sut_Pc) && (recv_dpc == (unsigned)Tester_Pc) &&
- (recv_ni == (unsigned)mtp3_ni)
- ))
- {
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- recv_sio.ni()= int2bit(recv_ni,2);
- recv_sio.prio()= int2bit(recv_mp,2);
- recv_sio.si()= int2bit(recv_si,4);
- recv_msg.sio() = recv_sio;
- recv_msg.sls() = recv_sls;
- recv_msg.opc()= recv_opc;
- recv_msg.dpc() = recv_dpc;;
- recv_msg.data() = OCTETSTRING(param_length-16, // 16 octet paramheader + 5 routing label
- &inbuffer[offset]);
- recv_msg.log();
- close_log_event();
- incoming_message ( recv_msg );
- offset += param_length-16;
- return length - offset;
- }
- else
- {
- close_log_event();
- log("Either the received M3UA(OPC, DPC, SI) fields, or the embedded MTP3 rooting label (OPC, DPC) not matched with the filter setting -> packet dropped.");
- return length - offset;
- }
- break;
- default:
- TTCN_Logger::log_event ("invalid M3UA param tag:0x%02x%02x-> skipped", PAR_PREFIX_M3UA, inbuffer[offset-1]);
- skip_par_after_tag(inbuffer, offset);
- }
- break;
- default:
- TTCN_Logger::log_event ("invalid 1st octet param tag:0x%02x in DATA (packet dropped)",inbuffer[offset-1]);
- close_log_event();
- return length -offset;
- break;
- }
- }// Checking parameter tag (offset packet dropped",
- (unsigned int)(inbuffer[M3UA_TYP_OFFS]));
- close_log_event();
- send_M3UA_error_msg( PAR_ERRC_UNSMT, inbuffer[M3UA_TYP_OFFS]);
- break;
- }
-
- return length -offset;
-}
-
-// Set M3UA SingleAPC - Stores field Single Affected Point Code
-void MTP3asp__PT_PROVIDER::Set_M3UA_SingleAPC(unsigned int pc, unsigned char* apc_par)
-{
- //setting par type to APC
- apc_par[0] = PAR_PREFIX_COMMON;
- apc_par[1] = PAR_AFFECTED_PC;
- //setting the length to 4+4 = 8
- apc_par[2] = 0x00;
- apc_par[3] = 0x08;
- //setting the mask
- apc_par[4] = 0x00;
- //setting the pc
- encode_24b_int(apc_par+5,pc);
-}
-
-// Send DAVA DUNA to APCinDAUD
-void MTP3asp__PT_PROVIDER::Send_DAVA_DUNA_to_APCinDAUD(unsigned int dava_sep, unsigned char* inbuffer, int & offset)
-{
- unsigned int length = decode_16b_int(inbuffer+offset);
- offset +=2;
- unsigned int current_pc;
-
- //checking the length
- if ((length < 8) || (length%4))
- { warn("Invalid length in APC parameter -> not processed");
- return;
- }
-
- for (unsigned int i = 4 ; i < length; i += 4)
- {
- if (inbuffer[offset++] == 0x00) // mask===>single pc
- {
- current_pc = decode_24b_int(inbuffer+offset);
- offset +=3;
- if (dava_sep == current_pc) //dava
- { Set_M3UA_SingleAPC(dava_sep, dava_1apc_msg+M3UA_MSG_OFFS);
- log("DAVA will be sent for pc=%d", dava_sep);
- send_msg(dava_1apc_msg, sizeof_dava_1apc_msg);
- }
- else //duna
- { Set_M3UA_SingleAPC(current_pc, duna_1apc_msg+M3UA_MSG_OFFS);
- log("DUNA will be sent for pc=%d", current_pc);
- send_msg(duna_1apc_msg, sizeof_duna_1apc_msg);
- }
- }
- else //masked pc
- { warn("Unsupported masking (mask=0x%02x) for PC=%d in APC parameter -> ignored",
- inbuffer[offset-1], current_pc);
- }
- }
- return;
-}
-
-// send M3UA error msg
-// send an eror msg with error_code. Additional parameter matches to the error code:
-void MTP3asp__PT_PROVIDER::send_M3UA_error_msg(unsigned int error_code, unsigned int add_par )
-{
- encode_16b_int( error_msg+M3UA_MSG_OFFS+4, error_code);
- encode_16b_int( error_msg+M3UA_MSG_OFFS+8, add_par);
- send_msg(error_msg, sizeof_error_msg );
-};
-
-// Coder functions for M3UA: int -> unsigned char array
-//------------------------------------------------------
-// Result:Less significant byte in highest address
-// Most Significant Byte first (in lowest address) = MSB = Big Endian = Network Byte Order
-void MTP3asp__PT_PROVIDER::encode_32b_int(unsigned char *to, unsigned int from)
-{
- to[3] = from & 0xFF;
- from >>= 8;
- to[2] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[0] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_32b_int(const unsigned char *from)
-{
- return from[3] | (from[2] << 8) | (from[1] << 16) | (from[0] << 24);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_24b_int(unsigned char *to, unsigned int from)
-{
- to[2] = from & 0xFF;
- from >>= 8;
- to[1] = from & 0xFF;
- from >>= 8;
- to[0] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_24b_int(const unsigned char *from)
-{
- return from[2] | (from[1] << 8) | (from[0] << 16);
-}
-//------------
-
-void MTP3asp__PT_PROVIDER::encode_16b_int(unsigned char *to, int from)
-{
- to[1] = from & 0xFF;
- from >>= 8;
- to[0] = from & 0xFF;
-}
-//------------
-
-unsigned int MTP3asp__PT_PROVIDER::decode_16b_int(const unsigned char *from)
-{
- return from[1] | (from[0] << 8);
-}
-//------------
-
-//skip par after tag
-void MTP3asp__PT_PROVIDER::skip_par_after_tag(unsigned char* inbuffer, int &offset)
-{
- offset += decode_16b_int(inbuffer+offset)-2; //the length contains
- //the param hdr. itself
- if (offset%4) offset += 4-(offset%4); //skipping padding
-}
-//------------
-#endif
-
-
-
-#ifdef TARGET_TEST
-// --------------------------
-// Functions for Target testing
-// --------------------------
-// In case of target this function handles the received message
-void MTP3asp__PT_PROVIDER::message_incoming(const unsigned char* msg, int messageLength, int)
-{
- OCTETSTRING rcvData = OCTETSTRING(messageLength, msg);
-
- int msgType = oct2int(substr(rcvData,0,1));
- switch (msgType)
- {
- case 0: //TRANSFERind message received
- if(Tcp_is_up) //Registration was already performed
- {
- ASP__MTP3__TRANSFERind recv_msg;
- MTP3__Field__sio recv_sio;
- BITSTRING sio_bit = oct2bit(substr(rcvData,5,1));
- recv_sio.ni()= substr(sio_bit,0,2);
- recv_sio.prio()= substr(sio_bit,2,2);
- recv_sio.si()= substr(sio_bit,4,4);
- recv_msg.sio() = recv_sio;
- recv_msg.opc() = oct2int(substr(rcvData,6,4));
- recv_msg.dpc() = oct2int(substr(rcvData,10,4));
- recv_msg.sls() = oct2int(substr(rcvData,14,1));
- recv_msg.data() = substr(rcvData,15,rcvData.lengthof()-15);
- if (Tcp_is_up == 1) //No unregistration ongoing
- incoming_message(recv_msg);
- else //Unregistration ongoing
- log("Received ASP_MTP3_TRANSFERind is ignored since unregistration is started.");
- }
- else
- error("Message was received before successful registration in M3UA server.");
- break;
-
- case 4: //Status message received
- {
- int status = oct2int(substr(rcvData,5,1));
- if(Tcp_is_up == 2) // Unregistration ongoing
- {
- const char * rcvDat = oct2str(rcvData);
- log("Message \"%s\" received. Status = %i", rcvDat, status);
- if (status == 2)
- {
- log("Unregistration performed.");
- Tcp_is_up = 0;
- }
- else if (status == 3)
- error("Unsuccessful unregistration.");
- else if (status == 5) {
- if(forward_status) {
- incoming_message(ASP__MTP3__STATUS(NULL_VALUE));
- }
- else {
- warn("Invalid STATUS message received from M3UA server with status code=%d.", status);
- }
- }
- }
- else if(Tcp_is_up == 1) // Active state
- {
- if (status == 5) {
- if(forward_status) {
- incoming_message(ASP__MTP3__STATUS(NULL_VALUE));
- }
- }
- else {
- warn("Invalid STATUS message received from M3UA server with status code=%d.", status);
- }
- }
- else // Registration ongoing
- {
- const char * rcvDat = oct2str(rcvData);
- log("Message \"%s\" received. Status = %i", rcvDat, status);
- if (status == 0)
- {
- log("Registration performed.");
- Tcp_is_up = 1;
- }
- else {
- error("Unsuccessful registration.");
- }
- }
- }
- break;
- case 5:
- {
- if(forward_pause) incoming_message(ASP__MTP3__PAUSE(NULL_VALUE));
- }
- break;
- case 6:
- {
- if(forward_resume) incoming_message(ASP__MTP3__RESUME(NULL_VALUE));
- }
- break;
-
-
- default: //Unexpected message received
- warn("Invalid message received from M3UA server.");
- }
-}
-
-void MTP3asp__PT_PROVIDER::Check_Target_TestPort_Variables()
-{
- if (Sut_Pc==-1) error("Parameter SUT_Pc is not set.");
- if (Tester_Pc==-1) error("Parameter TESTER_Pc is not set.");
- if (!Ni_is_set) error("Parameter NI is not set.");
- if (M3UA_version==0) error("Parameter M3UA_version cannot be set to 0 in TargetM3UA mode.");
-
-//packet header
- header_descr = new PacketHeaderDescr( 1, 4, PacketHeaderDescr::Header_MSB);
-}
-
-void MTP3asp__PT_PROVIDER::Check_Target_TestPort_Variables_STC()
-{
- if( destinationname == NULL) error("Parameter DestinationName is not set in TargetSTC mode.");
-
- header_descr = new PacketHeaderDescr( 1, 4, PacketHeaderDescr::Header_MSB);
-}
-
-void MTP3asp__PT_PROVIDER::Target_user_map(const char *system_port)
-{
- Tcp_is_up = 0;
- Check_Target_TestPort_Variables();
- map_user();
-
- OCTETSTRING tcpData = int2oct(2,1); //Message type
- if( destinationname == NULL)
- tcpData = tcpData + int2oct(char2oct(system_port).lengthof()+15,4); //Length
- else
- tcpData = tcpData + int2oct(char2oct(destinationname).lengthof()+15,4);
- tcpData = tcpData + int2oct(mtp3_ni,1);
- tcpData = tcpData + int2oct(Sut_Pc,4);
- tcpData = tcpData + int2oct(Tester_Pc,4);
- tcpData = tcpData + int2oct(M3UA_version,1);
- if( destinationname == NULL)
- tcpData = tcpData + char2oct(system_port);
- else
- tcpData = tcpData + char2oct(destinationname);
-
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Registration message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-
- int fd = get_socket_fd();
- pollfd pollFd = { fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0)
- error("No response received for REGISTER message. Exiting after timeout.");
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0)
- error("No response received for REGISTER message. Exiting after error (%d)",
- (nEvents < 0) ? errno : 0);
- Handle_Fd_Event(fd, TRUE, FALSE, FALSE);
-}
-
-void MTP3asp__PT_PROVIDER::TargetSTC_user_map(const char *system_port)
-{
- Tcp_is_up = 0;
- Check_Target_TestPort_Variables_STC();
- map_user();
-
- OCTETSTRING tcpData = int2oct(2,1); //Message type
- tcpData = tcpData + int2oct(char2oct(destinationname).lengthof()+15,4);
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,4);
- tcpData = tcpData + int2oct(0,1);
- tcpData = tcpData + char2oct(destinationname);
-
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Registration message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-
- int fd = get_socket_fd();
- pollfd pollFd = { fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0)
- error("No response received for REGISTER message. Exiting after timeout.");
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0)
- error("No response received for REGISTER message. Exiting after error (%d)",
- (nEvents < 0) ? errno : 0);
- Handle_Fd_Event(fd, TRUE, FALSE, FALSE);
-}
-
-void MTP3asp__PT_PROVIDER::Target_user_unmap(const char *system_port)
-{
- OCTETSTRING tcpData = int2oct(3,1); //Message type
- tcpData = tcpData + int2oct(6,4); //Length
- tcpData = tcpData + int2oct(0,1);
- send_outgoing((const unsigned char*)tcpData,tcpData.lengthof());
-
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("MTP3 Test Port (%s): ", get_name());
- TTCN_Logger::log_event_str("Unregistration message sent: ");
- tcpData.log();
- TTCN_Logger::end_event();
-
- Tcp_is_up = 2; //Unregistration ongoing
-
- while (Tcp_is_up == 2)
- {
- int fd = get_socket_fd();
- pollfd pollFd = { fd, POLLIN, 0 };
- int nEvents = poll(&pollFd, 1, 3000 /* ms */);
- if (nEvents == 0)
- error("No response received for UNREGISTER message. Exiting after timeout.");
- if (nEvents < 0 || (pollFd.revents & (POLLIN | POLLHUP)) == 0)
- error("No response received for UNREGISTER message. Exiting after error (%d)",
- (nEvents < 0) ? errno : 0);
- Handle_Fd_Event(fd, TRUE, FALSE, FALSE);
- }
- unmap_user();
-}
-#endif
-}
diff --git a/MTP3asp_CNL113337/src/MTP3asp_PT.hh b/MTP3asp_CNL113337/src/MTP3asp_PT.hh
deleted file mode 100644
index 340f24ffa..000000000
--- a/MTP3asp_CNL113337/src/MTP3asp_PT.hh
+++ /dev/null
@@ -1,249 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_PT.hh
-// Description: Implementation of port MTP3asp_PT
-// This test port is written to connect ttcn to SEA
-// according to specification ITU-T SS7 MTP3, ANSI, TCC, MPT, IETF,
-// Reference: ITU-T Recommendation Q.704, RFC3332
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2009-04-03
-// Contact: http://ttcn.ericsson.se
-
-
-#ifndef MTP3asp_PT_HH
-#define MTP3asp_PT_HH
-
-#include
-
-#ifdef TARGET_TEST
-#include "Abstract_Socket.hh"
-#endif
-
-#ifndef TARGET_TEST
-#include "mphclib.h"
-#endif
-
-
-#define MAXSIZE 1532 //+32 needed for M3UA
-#define MTP3_ON 1
-#define MTP3_OFF 0
-namespace MTP3asp__Types {
- class ASP__MTP3__TRANSFERind;
- class ASP__MTP3__PAUSE;
- class ASP__MTP3__RESUME;
- class ASP__MTP3__STATUS;
- class ASP__MTP3__TRANSFERreq;
-}
-namespace MTP3asp__PortType {
-
-class MTP3asp__PT_PROVIDER : public PORT
-#ifdef TARGET_TEST
- , public Abstract_Socket
-#endif
- {
-protected:
- // pointer to member: user_map/unmap methods
- typedef void (MTP3asp__PT_PROVIDER::*usermap_t)(const char *system_port);
- // pointer to member: user_connect methods
- typedef void (MTP3asp__PT_PROVIDER::*userconnect_t)();
- // pointer to member: interpreter methods
-#ifndef TARGET_TEST
- typedef void (MTP3asp__PT_PROVIDER::*interpreter_t)(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
-
- void M3UA_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
- void M3UA_user_map(const char *system_port);
- void M3UA_user_connect();
- void M3UA_user_unmap(const char *system_port);
- void MTP3_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
- void MTP3_user_map(const char *system_port); // common for MTP3 ITU and MTP3 ANSI
- void MTP3_user_connect();
- void MTP3_user_unmap(const char *system_port);// common for MTP3 ITU and MTP3 ANSI
- void STC_user_connect();
- void STC_interpreter(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con);
- void STC_user_map(const char *system_port);
- void STC_user_unmap(const char *system_port);
-#endif
-#ifdef TARGET_TEST
- //Map and unmap for target
- void Target_user_map(const char *system_port);
- void Target_user_unmap(const char *system_port);
- void TargetSTC_user_map(const char *system_port);
-#endif
-
-public:
- MTP3asp__PT_PROVIDER(const char *par_port_name=NULL);
- ~MTP3asp__PT_PROVIDER();
-
- typedef enum { MTP3itu, MTP3ansi, MTP3ttc, MTP3mpt, M3UA, TargetM3UA, MTP3bttc,MTP3iup, STC, TargetSTC } MTPServiceType_t ;
-
- MTPServiceType_t MTPServiceType ; // ctor default is MTP3itu
- void set_parameter(const char *parameter_name, const char *parameter_value);
- void error(const char *msg, ...);
- void log(const char *msg, ...);
-#ifndef TARGET_TEST
- void user_connect();
-
- void set_channel(int chnl) {channel=chnl;};
- void MTP3_open_channel(boolean http);
- void MTP3_close_connection();
-
- boolean wait_for_open();
- int conn_state;
-
- interpreter_t interpreter; // pointer to interpreter members, ctor default is MTP3_ITU_interpreter
- void doInterpret(unsigned char* inbuffer,int length,int from_channel,CONNECTION* con)
- { (this->*interpreter)(inbuffer,length,from_channel, con); }
-#endif
- //parameter handling
- boolean dynamicConnection, connectionUp;
- char *hostname;
- int httpport;
- char *entityname;
- int MTP_fd;
-
-protected:
- void user_map(const char *system_port);
- void user_unmap(const char *system_port);
-
- void debuglog(const char *msg, ...);
- void warn(const char *msg, ...);
- void close_log_event();
-
- usermap_t user_map_p ; // pointer to user_map members, default is MTP3itu
- usermap_t user_unmap_p; // pointer to user_unmap members, default is MTP3itu
- userconnect_t user_connect_p;
-
- void user_start();
- void user_stop();
-
- void outgoing_send(const MTP3asp__Types::ASP__MTP3__TRANSFERreq& send_par);
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__TRANSFERind& incoming_par) = 0;
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__PAUSE& incoming_par) = 0;
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__RESUME& incoming_par) = 0;
- virtual void incoming_message
- (const MTP3asp__Types::ASP__MTP3__STATUS& incoming_par) = 0;
-#ifndef TARGET_TEST
- void encode_56bLSB_int(unsigned char *to, unsigned long long int from);
- long long unsigned int decode_56bLSB_int(const unsigned char *from);
- void encode_48bLSB_int(unsigned char *to, unsigned long long int from);
- long long unsigned int decode_48bLSB_int(const unsigned char *from);
- void encode_40bLSB_int(unsigned char *to, unsigned long long int from);
- long long unsigned int decode_40bLSB_int(const unsigned char *from);
- void encode_32bLSB_int(unsigned char *to, unsigned int from);
- unsigned int decode_32bLSB_int(const unsigned char *from);
- void encode_24bLSB_int(unsigned char *to, int from);
- unsigned int decode_24bLSB_int(const unsigned char *from);
- void encode_16bLSB_int(unsigned char *to, int from);
- unsigned int decode_16bLSB_int(const unsigned char *from);
- void encode_32b_int(unsigned char *to, unsigned int from);
- unsigned int decode_32b_int(const unsigned char *from);
- void encode_24b_int(unsigned char *to, unsigned int from);
- unsigned int decode_24b_int(const unsigned char *from);
- void encode_16b_int(unsigned char *to, int from);
- unsigned int decode_16b_int(const unsigned char *from);
- void skip_par_after_tag(unsigned char* inbuffer, int &offset);
-
- void GetPointCodes(unsigned int &sls,unsigned int &opc,unsigned int &dpc, unsigned char* msg);
- void GetPointCodesIUP(unsigned int &cic,unsigned int &opc,unsigned int &dpc, unsigned char* msg);
- void SetPointCodes(unsigned int sls, unsigned int opc, unsigned int dpc, unsigned char* msg);
- void SetPointCodesIUP(unsigned int cic, unsigned int opc, unsigned int dpc, unsigned char* msg);
- int ChangePointCodes(unsigned char* outbuff, unsigned char *inbuff, int len);
- void Set_M3UA_SingleAPC(unsigned int pc, unsigned char* apc_par); //for ITU and ANSI
- bool Check_M3UA_SingleITUAPC(unsigned int pc, unsigned char* apc_par);
- void Send_DAVA_DUNA_to_APCinDAUD(unsigned int dava_sep, unsigned char* inbuffer, int &offset );
- void processing_MTP3_management_msg(unsigned char* inbuff,int len);
- void processing_MTP3_test_msg(unsigned char* inbuff,int len);
- int processing_M3UA_MGMT_msg(unsigned char* inbuff,int len);
- int processing_M3UA_Transfer_msg(unsigned char* inbuff,int len);
- int processing_M3UA_SSNM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_ASPSM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_ASPTM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_RKM_msg(unsigned char* inbuff,int len);
- int processing_M3UA_unsupported_msg_class(unsigned char* inbuff,int len);
- int Check_PcMatch(unsigned int opc, unsigned int dpc, unsigned char *buff);
- void send_msg(unsigned char *outbuff, int length);
- void send_M3UA_error_msg(unsigned int error_code, unsigned int add_par );
- void Check_TestPort_Variables();
- void Check_TestPort_Variables_STC();
-#endif
-#ifdef TARGET_TEST
- void Check_Target_TestPort_Variables();
- void Check_Target_TestPort_Variables_STC();
-
- //Functions for abstract socket handling
- void message_incoming(const unsigned char*, int length, int client_id = -1);
- void Add_Fd_Read_Handler(int fd) { Handler_Add_Fd_Read(fd); }
- void Add_Fd_Write_Handler(int fd) { Handler_Add_Fd_Write(fd); }
- void Remove_Fd_Read_Handler(int fd) { Handler_Remove_Fd_Read(fd); }
- void Remove_Fd_Write_Handler(int fd) { Handler_Remove_Fd_Write(fd); }
- void Remove_Fd_All_Handlers(int fd) { Handler_Remove_Fd(fd); }
- void Handler_Uninstall() { Uninstall_Handler(); }
- void Timer_Set_Handler(double call_interval, boolean is_timeout = TRUE,
- boolean call_anyway = TRUE, boolean is_periodic = TRUE) {
- Handler_Set_Timer(call_interval, is_timeout, call_anyway, is_periodic);
- }
- const char* local_address_name() { return "localIPAddr";}
- const char* local_port_name() { return "localPort";}
- const char* remote_address_name(){ return "M3UAtarget_TCP_IPAddr";}
- const char* remote_port_name() { return "M3UAtarget_TCP_Port";}
- const char* halt_on_connection_reset_name(){ return "halt_on_connection_reset";}
- const char* server_mode_name() { return "client_mode";}
- const char* socket_debugging_name(){ return "socket_debugging";}
- const char* nagling_name() { return "nagling";}
- const char* server_backlog_name(){ return "server_backlog";}
- const PacketHeaderDescr* Get_Header_Descriptor() const {return header_descr;}
-#endif
-
-private:
- void Handle_Fd_Event(int fd, boolean is_readable, boolean is_writable, boolean is_error);
- void Handle_Timeout(double time_since_last_call);
-
- unsigned char M3UA_version;
- int channel;
- unsigned char buffer[MAXSIZE];
- char *destinationname;
- char *iid_string;
- boolean Ni_is_set;
- int Loop,Filter,Sut_Pc,Tester_Pc;
- typedef enum { AssocDown, AssocEstabl, AssocInac, AssocActive} M3UAStateType_t;
- M3UAStateType_t M3UAState;
- int mtp3_ni; // network indicator in case of MTP3
- int stored_bttc_octet; // used for storage of an additional first byte in MTP3bttc
-
-#ifndef TARGET_TEST
- MPH_IID iid;
- CONNECTION *myConnection;
-#endif
- bool forward_resume, forward_pause, forward_status;
-#ifdef TARGET_TEST
- int Tcp_is_up;
- PacketHeaderDescr *header_descr;
- bool is_packet_hdr_length_offset, is_packet_hdr_nr_bytes_in_length,
- is_packet_hdr_byte_order;
- int packet_hdr_length_offset, packet_hdr_nr_bytes_in_length;
- PacketHeaderDescr::HeaderByteOrder packet_hdr_byte_order;
-#endif
-};
-
-extern BOOLEAN f__MTP3__SEA__connect__extern
- (MTP3asp__PT_PROVIDER& portRef, const CHARSTRING& Hostname,
- const INTEGER& Port, const CHARSTRING& EntityName,const BOOLEAN& Http);
-
-extern BOOLEAN f__MTP3__SEA__disconnect__extern
- (MTP3asp__PT_PROVIDER& portRef);
-
-}
-#endif
diff --git a/MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn b/MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn
deleted file mode 100644
index 7c5a06b43..000000000
--- a/MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn
+++ /dev/null
@@ -1,66 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2008 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_PortType.ttcn
-// Reference: ITU-T Recommendation Q.704, RFC3332
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2008-02-07
-// Contact: http://ttcn.ericsson.se
-
-module MTP3asp_PortType
-{
-
- import from MTP3asp_Types all;
-// *************************************************************************
-// * MTP3 port type definitions *
-// *************************************************************************
-
- // MTP3 port type used by the component up to the MTP3 SAP
- // (eg. any component connected to the MTP3 test port)
- type port MTP3asp_PT message
- {
- in ASP_MTP3_TRANSFERind;
- in ASP_MTP3_PAUSE;
- in ASP_MTP3_RESUME;
- in ASP_MTP3_STATUS;
- out ASP_MTP3_TRANSFERreq;
- } with {extension "provider internal"} //!!ethlel
-
- // MTP3 port type used by the component up to the MTP3 SAP
- // (e.g. the distribution component)
- type port MTP3asp_SP_PT message
- {
- in ASP_MTP3_TRANSFERreq;
- out ASP_MTP3_TRANSFERind;
- }
- with {extension "internal"}
-
-//Connecting functions
-//----------------------------
-/*
-ethlel
-
-external function f_MTP3_SEA_connect
- ( inout MTP3asp_PT portRef,
- in charstring Hostname,
- in integer Port,
- in charstring EntityName,
- in boolean Http //or MPH Port is provided
- )return boolean;
-
-external function f_MTP3_SEA_disconnect
- ( inout MTP3asp_PT portRef
- )return boolean;
-*/
-
-
-}//eof module
diff --git a/MTP3asp_CNL113337/src/MTP3asp_Types.ttcn b/MTP3asp_CNL113337/src/MTP3asp_Types.ttcn
deleted file mode 100644
index e96f42016..000000000
--- a/MTP3asp_CNL113337/src/MTP3asp_Types.ttcn
+++ /dev/null
@@ -1,324 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2006 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MTP3asp_Types.ttcn
-// Description: CCSS7 Message Transfer Part primitive (ASP) definitions
-// according to specification ITU-T SS7 MTP3,
-// Reference: ITU-T Recommendation Q.704, RFC3332, ANSI T.1.111.1-2001, TCC
-// Rev: R11A01
-// Prodnr: CNL 113 337
-// Updated: 2007-09-17
-// Contact: http://ttcn.ericsson.se
-//
-module MTP3asp_Types.objid
- {
- itu_t(0) identified_organization (4) etsi(0) reserved(127)
- etsi_identified_organization(0) ericsson(5) testing (0)
- generic(0) mtp3(0) v96(3) aspDefinitions(3) patchNo(0)
- }
-
-{//start of the module
-
-// *************************************************************************
-// External encoding/decoding functions
-// *************************************************************************
-
-external function enc_MTP3_to_M3UAserver_msg (in MTP3_to_M3UAserver_msg pdu)
- return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-
-external function dec_MTP3_to_M3UAserver_msg(in octetstring stream)
- return MTP3_to_M3UAserver_msg
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-
-// *************************************************************************
-// * Type Definitions Part *
-// *************************************************************************
-group Types
-{
- group MessageTypes
- {
- group ASPs
- {
- //***********************************************************************
- //* ASP type definitions *
- //* Note, that ASP types shall be TTCN-3 definitions to allow *
- //* the use of anytype in the data field *
- //***********************************************************************
-
- type record MTP3_Field_sio
- {
- bitstring ni length(2),
- bitstring prio length(2),
- bitstring si length(4)
- } with { variant "FIELDORDER(msb)";
- };
-
- type record ASP_MTP3_TRANSFERind
- {
- MTP3_Field_sio sio,
- integer opc,
- integer dpc,
- integer sls,
- octetstring data
- } with { variant (opc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (dpc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (sls) "FIELDLENGTH(8)"
- };
-
- type record ASP_MTP3_PAUSE {};
-
- type record ASP_MTP3_RESUME {};
-
- type record ASP_MTP3_STATUS {};
-
- type record ASP_MTP3_TRANSFERreq
- {
- MTP3_Field_sio sio,
- integer opc,
- integer dpc,
- integer sls,
- octetstring data
- } with { variant (opc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (dpc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (sls) "FIELDLENGTH(8)"
- };
- }//end group ASPs
-
- //***********************************************************************
- //* Type definition of the message which is sent between MTP3 test port *
- //* and SCTP server over TCP. *
- //***********************************************************************
- group MTP3_SCTPserver
- {
- type record ASP_REGISTER_M3UA
- {
- integer ni (0..3),
- integer sut_pc,
- integer tester_pc,
- integer m3ua_version,
- charstring entity
- } with { variant (ni) "FIELDLENGTH(8)";
- variant (sut_pc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (tester_pc) "BYTEORDER(last), FIELDLENGTH(32)";
- variant (m3ua_version) "FIELDLENGTH(8)"
- };
-
-
- // Possible values:
- // MTP3_to_SCTPserver_data/status:
- const integer reg_ok_status := 0;
- const integer reg_error_status := 1;
- const integer unreg_ok_status := 2;
- const integer unreg_error_status := 3;
-
- const integer send_error_status := 5;
- const integer kill_status := 255;
-
- // MTP3_to_SCTPserver_data/pause:
- const integer SCTP_COMLOST_pause := 0;
- const integer M3UA_ASPDN_pause := 1;
- const integer M3UA_ASPIA_pause := 2;
-
- // MTP3_to_SCTPserver_data/resume:
- const integer ok_resume := 0;
-
- type union MTP3_to_SCTPserver_data
- {
- ASP_MTP3_TRANSFERind transfer_ind,
- ASP_MTP3_TRANSFERreq transfer_req,
- ASP_REGISTER_M3UA register,
- integer unregister (0..255),
- integer status (0..255),
- integer pause (0..255),
- integer resume (0..255)
- }
-
- // MTP3_to_M3UAserver_msg/msgType:
- const integer transfer_ind_msgType := 0;
- const integer transfer_req_msgType := 1;
- const integer register_msgType := 2;
- const integer unregister_msgType := 3;
- const integer status_msgType := 4;
- const integer pause_msgType := 5;
- const integer resume_msgType := 6;
-
- type record MTP3_to_M3UAserver_msg
- {
- integer msgType (0..255),
- integer msgLength,
- MTP3_to_SCTPserver_data data
- } with { variant (data) "CROSSTAG(
- transfer_ind, msgType = transfer_ind_msgType;
- transfer_req, msgType = transfer_req_msgType;
- register, msgType = register_msgType;
- unregister, msgType = unregister_msgType;
- status, msgType = status_msgType;
- pause, msgType = pause_msgType;
- resume, msgType = resume_msgType )";
- variant (msgLength) "FIELDLENGTH(32)";
- variant (msgLength) "LENGTHTO(msgType,msgLength,data)";
- variant (msgLength) "BYTEORDER(last)"
- };
- }//end group MTP3_SCTPserver
- }//end group Messagetypes
-} with {encode "RAW"}//Types
-
-group Templates
-{
- group MessageTemplates
- {
- group ASPtemplates
- {
- // *******************************************************************
- // * ASP template definitions *
- // *******************************************************************
-
- // Base templates
- // These general templates can be used as an example or as a base
- // template for other templates.
- template ASP_MTP3_TRANSFERind t_ASP_MTP3_TRANSFERind
- (
- template MTP3_Field_sio pl_SIO,
- template integer pl_OPC,
- template integer pl_DPC,
- template integer pl_SLS,
- template octetstring pl_data
- ):=
- {
- sio := pl_SIO,
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_sio
- (
- template bitstring pl_NI,
- template bitstring pl_PRIO,
- template bitstring pl_SI,
- template integer pl_OPC,
- template integer pl_DPC,
- template integer pl_SLS,
- template octetstring pl_data
- ):=
- {
- sio :=
- {
- ni := pl_NI,
- prio := pl_PRIO,
- si := pl_SI
- },
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind :=
- {
- sio := ?,
- opc := ?,
- dpc := ?,
- sls := ?,
- data := ?
- }
-
- template ASP_MTP3_TRANSFERreq t_ASP_MTP3_TRANSFERreq
- (
- MTP3_Field_sio pl_SIO,
- integer pl_OPC,
- integer pl_DPC,
- integer pl_SLS,
- octetstring pl_data
- ):=
- {
- sio := pl_SIO,
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERreq tr_ASP_MTP3_TRANSFERreq_sio
- (
- template bitstring pl_NI,
- template bitstring pl_PRIO,
- template bitstring pl_SI,
- template integer pl_OPC,
- template integer pl_DPC,
- template integer pl_SLS,
- template octetstring pl_data
- ):=
- {
- sio :=
- {
- ni := pl_NI,
- prio := pl_PRIO,
- si := pl_SI
- },
- opc := pl_OPC,
- dpc := pl_DPC,
- sls := pl_SLS,
- data := pl_data
- }
-
- template ASP_MTP3_TRANSFERreq tr_ASP_MTP3_TRANSFERreq :=
- {
- sio := ?,
- opc := ?,
- dpc := ?,
- sls := ?,
- data := ?
- }
-
- template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_stc :=
- {
- sio :=
- {
- ni := '00'B,
- prio := '00'B,
- si := '0000'B
- },
- opc := 0,
- dpc := 0,
- sls := 0,
- data := ?
- }
-
- template ASP_MTP3_TRANSFERreq t_ASP_MTP3_TRANSFERreq_stc
- ( template octetstring pl_data ):=
- {
- sio :=
- {
- ni := '00'B,
- prio := '00'B,
- si := '0000'B
- },
- opc := 0,
- dpc := 0,
- sls := 0,
- data := pl_data
- }
-
- }//end group ASPtemplates
- }//end group Messagetemplates
-}//end group Templates
-
-}//end module
-
-
diff --git a/SCCP_CNL113341/SCCP_CNL113341.tpd b/SCCP_CNL113341/SCCP_CNL113341.tpd
deleted file mode 100644
index 31e515379..000000000
--- a/SCCP_CNL113341/SCCP_CNL113341.tpd
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- SCCP_CNL113341
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- USE_MTP3_DISTRIBUTOR
-
-
-
-
- true
- true
- true
- bin/SCCP_CNL113341
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
-
- true
- true
- true
- bin/SCCP_CNL113341
-
- USE_MTP3_DISTRIBUTOR
-
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
-
- true
- true
- true
- bin/SCCP_CNL113341
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
diff --git a/SCCP_CNL113341/demo/General_Types.ttcn b/SCCP_CNL113341/demo/General_Types.ttcn
deleted file mode 120000
index 354ebf3fc..000000000
--- a/SCCP_CNL113341/demo/General_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../ProtocolModules/COMMON/src/General_Types.ttcn
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/MTP3asp_PT.cc b/SCCP_CNL113341/demo/MTP3asp_PT.cc
deleted file mode 120000
index 44d08bbf4..000000000
--- a/SCCP_CNL113341/demo/MTP3asp_PT.cc
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/MTP3asp_CNL113337/src/MTP3asp_PT.cc
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/MTP3asp_PT.hh b/SCCP_CNL113341/demo/MTP3asp_PT.hh
deleted file mode 120000
index 30dfc24c4..000000000
--- a/SCCP_CNL113341/demo/MTP3asp_PT.hh
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/MTP3asp_CNL113337/src/MTP3asp_PT.hh
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/MTP3asp_PortType.ttcn b/SCCP_CNL113341/demo/MTP3asp_PortType.ttcn
deleted file mode 120000
index 199486403..000000000
--- a/SCCP_CNL113341/demo/MTP3asp_PortType.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/MTP3asp_Types.ttcn b/SCCP_CNL113341/demo/MTP3asp_Types.ttcn
deleted file mode 120000
index 9f03c54ed..000000000
--- a/SCCP_CNL113341/demo/MTP3asp_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../../TestPorts/MTP3asp_CNL113337/src/MTP3asp_Types.ttcn
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/Makefile.ini b/SCCP_CNL113341/demo/Makefile.ini
deleted file mode 100644
index 4e764a323..000000000
--- a/SCCP_CNL113341/demo/Makefile.ini
+++ /dev/null
@@ -1,737 +0,0 @@
-# This Makefile was generated by the Makefile Generator
-# of the TTCN-3 Test Executor version 1.7.pl0
-# for Gabor Bettesch (ethgbh@mwux018) on Tue Apr 3 10:18:42 2007
-
-# Copyright 2000-2007 Test Competence Center, Ericsson R & D, Hungary
-# For trouble reporting use the tool MTTSMS.
-# For TR writers guide please visit the web page: http://ttcn.ericsson.se
-
-# The following make commands are available:
-# - make, make all Builds the executable test suite.
-# - make archive Archives all source files.
-# - make check Checks the semantics of TTCN-3 and ASN.1 modules.
-# - make clean Removes all generated files.
-# - make compile Translates TTCN-3 and ASN.1 modules to C++.
-# - make dep Creates/updates dependency list.
-# - make objects Builds the object files without linking the executable.
-# - make preprocess Preprocess TTCN-3 files.
-# - make tags Creates/updates tags file using ctags.
-
-# WARNING! This Makefile can be used with GNU make only.
-# Other versions of make may report syntax errors in it.
-
-#
-# Do NOT touch this line...
-#
-.PHONY: all archive check clean dep objects preprocess
-
-#
-# Set these variables...
-#
-
-# The path of your TTCN-3 Test Executor installation:
-# Uncomment this line to override the environment variable.
-# TTCN3_DIR =
-
-# Your platform: (SOLARIS, SOLARIS8, LINUX, FREEBSD or WIN32)
-PLATFORM = SOLARIS8
-
-# Your C++ compiler:
-CXX = g++
-
-# C preprocessor used for TTCN-3 files:
-CPP = cpp
-
-# Flags for the C++ preprocessor (and makedepend as well):
-CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)/include -I$(SEA_DIR)/include
-
-# Flags for preprocessing TTCN-3 files:
-CPPFLAGS_TTCN3 =
-
-# Flags for the C++ compiler:
-CXXFLAGS = -Wall
-
-# Flags for the linker:
-LDFLAGS =
-
-# Flags for the TTCN-3 and ASN.1 compiler:
-COMPILER_FLAGS = -L
-
-# Execution mode: (either ttcn3 or ttcn3-parallel)
-TTCN3_LIB = ttcn3-parallel
-
-# The path of your OpenSSL installation:
-# If you do not have your own one, leave it unchanged.
-OPENSSL_DIR = $(TTCN3_DIR)
-
-SEA_DIR = /vobs/ttcn/TCC_Releases/Other/SEA_LATEST
-# Directory to store the archived source files:
-ARCHIVE_DIR = backup
-
-#
-# You may change these variables. Add your files if necessary...
-#
-
-# TTCN-3 modules of this project:
-TTCN3_MODULES = General_Types.ttcn MTP3asp_PortType.ttcn MTP3asp_Types.ttcn SCCP_Emulation.ttcn SCCP_Types.ttcn SCCPasp_Types.ttcn SCCP_selftest.ttcn SCCP_Testcases.ttcn
-
-# TTCN-3 modules to preprocess:
-TTCN3_PP_MODULES = SCCP_Mapping.ttcnpp
-
-# Files to include in TTCN-3 preprocessed modules:
-TTCN3_INCLUDES =
-
-# ASN.1 modules of this project:
-ASN1_MODULES =
-
-# TTCN-3 source files generated by the C preprocessor:
-PREPROCESSED_TTCN3_MODULES = SCCP_Mapping.ttcn
-
-# C++ source & header files generated from the TTCN-3 & ASN.1 modules of
-# this project:
-GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(TTCN3_PP_MODULES:.ttcnpp=.cc) $(ASN1_MODULES:.asn=.cc)
-GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
-# C/C++ Source & header files of Test Ports, external functions and
-# other modules:
-USER_SOURCES = MTP3asp_PT.cc
-USER_HEADERS = MTP3asp_PT.hh
-
-# Object files of this project that are needed for the executable test suite:
-OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
-
-# Other files of the project (Makefile, configuration files, etc.)
-# that will be added to the archived source files:
-OTHER_FILES = Makefile SCCP_selftest.cfg
-
-# The name of the executable test suite:
-TARGET = SCCP_selftest
-
-#
-# Do not modify these unless you know what you are doing...
-# Platform specific additional libraries:
-#
-SOLARIS_LIBS = -lsocket -lnsl
-SOLARIS8_LIBS = -lsocket -lnsl
-LINUX_LIBS =
-FREEBSD_LIBS =
-WIN32_LIBS =
-
-#
-# Rules for building the executable...
-#
-
-all: $(TARGET) ;
-
-objects: $(OBJECTS) ;
-
-$(TARGET): $(OBJECTS)
- $(CXX) $(LDFLAGS) -o $@ $^ \
- -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
- -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS) \
- $(SEA_DIR)/lib/libmphclib.a
-
-.cc.o .c.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
-
-%.ttcn: %.ttcnpp $(TTCN3_INCLUDES)
- $(CPP) -x c -nostdinc $(CPPFLAGS_TTCN3) $< $@
-
-preprocess: $(PREPROCESSED_TTCN3_MODULES) ;
-
-$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
- @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
-
-check: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler -s $(COMPILER_FLAGS) $^
-
-compile: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler $(COMPILER_FLAGS) $^ - $?
- touch $@
-
-browserdata.dat: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)
- $(TTCN3_DIR)/bin/compiler -B -s $(COMPILER_FLAGS) $^
-
-tags: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES) \
-$(USER_HEADERS) $(USER_SOURCES)
- $(TTCN3_DIR)/bin/ctags_ttcn3 --line-directives=yes $^
-
-clean:
- -$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
- $(GENERATED_SOURCES) $(PREPROCESSED_TTCN3_MODULES) compile \
- browserdata.dat tags *.log
-
-dep: $(GENERATED_SOURCES) $(USER_SOURCES)
- makedepend $(CPPFLAGS) $^
-
-archive:
- mkdir -p $(ARCHIVE_DIR)
- tar -cvhf - $(TTCN3_MODULES) $(TTCN3_PP_MODULES) \
- $(TTCN3_INCLUDES) $(ASN1_MODULES) \
- $(USER_HEADERS) $(USER_SOURCES) $(OTHER_FILES) \
- | gzip >$(ARCHIVE_DIR)/`basename $(TARGET) .exe`-`date '+%y%m%d-%H%M'`.tgz
-
-#
-# Add your rules here if necessary...
-#
-
-# DO NOT DELETE
-
-General_Types.o: General_Types.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-General_Types.o: /usr/include/string.h /usr/include/iso/string_iso.h
-General_Types.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-General_Types.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-General_Types.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-General_Types.o: /usr/include/stdio_impl.h
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-General_Types.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-General_Types.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-General_Types.o: /usr/include/sys/time.h /usr/include/sys/types.h
-General_Types.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-General_Types.o: /usr/include/sys/select.h /usr/include/time.h
-General_Types.o: /usr/include/iso/time_iso.h
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-General_Types.o: /usr/include/regex.h
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-General_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-MTP3asp_PortType.o: MTP3asp_PortType.hh MTP3asp_Types.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-MTP3asp_PortType.o: /usr/include/string.h /usr/include/iso/string_iso.h
-MTP3asp_PortType.o: /usr/include/sys/feature_tests.h
-MTP3asp_PortType.o: /usr/include/sys/isa_defs.h /usr/include/stdio.h
-MTP3asp_PortType.o: /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h
-MTP3asp_PortType.o: /usr/include/stdio_tag.h /usr/include/stdio_impl.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-MTP3asp_PortType.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-MTP3asp_PortType.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-MTP3asp_PortType.o: /usr/include/sys/time.h /usr/include/sys/types.h
-MTP3asp_PortType.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-MTP3asp_PortType.o: /usr/include/sys/select.h /usr/include/time.h
-MTP3asp_PortType.o: /usr/include/iso/time_iso.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-MTP3asp_PortType.o: /usr/include/regex.h
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-MTP3asp_PortType.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-MTP3asp_PortType.o: MTP3asp_PT.hh
-MTP3asp_PortType.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-MTP3asp_Types.o: MTP3asp_Types.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-MTP3asp_Types.o: /usr/include/string.h /usr/include/iso/string_iso.h
-MTP3asp_Types.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-MTP3asp_Types.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-MTP3asp_Types.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-MTP3asp_Types.o: /usr/include/stdio_impl.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-MTP3asp_Types.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-MTP3asp_Types.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-MTP3asp_Types.o: /usr/include/sys/time.h /usr/include/sys/types.h
-MTP3asp_Types.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-MTP3asp_Types.o: /usr/include/sys/select.h /usr/include/time.h
-MTP3asp_Types.o: /usr/include/iso/time_iso.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-MTP3asp_Types.o: /usr/include/regex.h
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-MTP3asp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_Emulation.o: SCCP_Emulation.hh SCCP_Mapping.hh SCCP_Types.hh
-SCCP_Emulation.o: MTP3asp_PortType.hh MTP3asp_Types.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-SCCP_Emulation.o: /usr/include/string.h /usr/include/iso/string_iso.h
-SCCP_Emulation.o: /usr/include/sys/feature_tests.h
-SCCP_Emulation.o: /usr/include/sys/isa_defs.h /usr/include/stdio.h
-SCCP_Emulation.o: /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h
-SCCP_Emulation.o: /usr/include/stdio_tag.h /usr/include/stdio_impl.h
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-SCCP_Emulation.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-SCCP_Emulation.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-SCCP_Emulation.o: /usr/include/sys/time.h /usr/include/sys/types.h
-SCCP_Emulation.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-SCCP_Emulation.o: /usr/include/sys/select.h /usr/include/time.h
-SCCP_Emulation.o: /usr/include/iso/time_iso.h
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-SCCP_Emulation.o: /usr/include/regex.h
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-SCCP_Emulation.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_Emulation.o: MTP3asp_PT.hh
-SCCP_Emulation.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-SCCP_Emulation.o: SCCPasp_Types.hh General_Types.hh
-SCCP_Types.o: SCCP_Types.hh MTP3asp_PortType.hh MTP3asp_Types.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-SCCP_Types.o: /usr/include/string.h /usr/include/iso/string_iso.h
-SCCP_Types.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-SCCP_Types.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-SCCP_Types.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-SCCP_Types.o: /usr/include/stdio_impl.h
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-SCCP_Types.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-SCCP_Types.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-SCCP_Types.o: /usr/include/sys/time.h /usr/include/sys/types.h
-SCCP_Types.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-SCCP_Types.o: /usr/include/sys/select.h /usr/include/time.h
-SCCP_Types.o: /usr/include/iso/time_iso.h
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-SCCP_Types.o: /usr/include/regex.h
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-SCCP_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_Types.o: MTP3asp_PT.hh
-SCCP_Types.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-SCCP_Types.o: SCCPasp_Types.hh General_Types.hh
-SCCPasp_Types.o: SCCPasp_Types.hh General_Types.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-SCCPasp_Types.o: /usr/include/string.h /usr/include/iso/string_iso.h
-SCCPasp_Types.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-SCCPasp_Types.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-SCCPasp_Types.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-SCCPasp_Types.o: /usr/include/stdio_impl.h
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-SCCPasp_Types.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-SCCPasp_Types.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-SCCPasp_Types.o: /usr/include/sys/time.h /usr/include/sys/types.h
-SCCPasp_Types.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-SCCPasp_Types.o: /usr/include/sys/select.h /usr/include/time.h
-SCCPasp_Types.o: /usr/include/iso/time_iso.h
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-SCCPasp_Types.o: /usr/include/regex.h
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-SCCPasp_Types.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_selftest.o: SCCP_selftest.hh SCCP_Emulation.hh SCCP_Mapping.hh
-SCCP_selftest.o: SCCP_Types.hh MTP3asp_PortType.hh MTP3asp_Types.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-SCCP_selftest.o: /usr/include/string.h /usr/include/iso/string_iso.h
-SCCP_selftest.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-SCCP_selftest.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-SCCP_selftest.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-SCCP_selftest.o: /usr/include/stdio_impl.h
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-SCCP_selftest.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-SCCP_selftest.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-SCCP_selftest.o: /usr/include/sys/time.h /usr/include/sys/types.h
-SCCP_selftest.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-SCCP_selftest.o: /usr/include/sys/select.h /usr/include/time.h
-SCCP_selftest.o: /usr/include/iso/time_iso.h
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-SCCP_selftest.o: /usr/include/regex.h
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-SCCP_selftest.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_selftest.o: MTP3asp_PT.hh
-SCCP_selftest.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-SCCP_selftest.o: SCCPasp_Types.hh General_Types.hh
-SCCP_Testcases.o: SCCP_Testcases.hh SCCP_Emulation.hh SCCP_Mapping.hh
-SCCP_Testcases.o: SCCP_Types.hh MTP3asp_PortType.hh MTP3asp_Types.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-SCCP_Testcases.o: /usr/include/string.h /usr/include/iso/string_iso.h
-SCCP_Testcases.o: /usr/include/sys/feature_tests.h
-SCCP_Testcases.o: /usr/include/sys/isa_defs.h /usr/include/stdio.h
-SCCP_Testcases.o: /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h
-SCCP_Testcases.o: /usr/include/stdio_tag.h /usr/include/stdio_impl.h
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-SCCP_Testcases.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-SCCP_Testcases.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-SCCP_Testcases.o: /usr/include/sys/time.h /usr/include/sys/types.h
-SCCP_Testcases.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-SCCP_Testcases.o: /usr/include/sys/select.h /usr/include/time.h
-SCCP_Testcases.o: /usr/include/iso/time_iso.h
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-SCCP_Testcases.o: /usr/include/regex.h
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-SCCP_Testcases.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_Testcases.o: MTP3asp_PT.hh
-SCCP_Testcases.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-SCCP_Testcases.o: SCCPasp_Types.hh General_Types.hh
-SCCP_Mapping.o: SCCP_Mapping.hh SCCP_Types.hh MTP3asp_PortType.hh
-SCCP_Mapping.o: MTP3asp_Types.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-SCCP_Mapping.o: /usr/include/string.h /usr/include/iso/string_iso.h
-SCCP_Mapping.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-SCCP_Mapping.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-SCCP_Mapping.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-SCCP_Mapping.o: /usr/include/stdio_impl.h
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-SCCP_Mapping.o: /usr/include/stdlib.h /usr/include/iso/stdlib_iso.h
-SCCP_Mapping.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-SCCP_Mapping.o: /usr/include/sys/time.h /usr/include/sys/types.h
-SCCP_Mapping.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-SCCP_Mapping.o: /usr/include/sys/select.h /usr/include/time.h
-SCCP_Mapping.o: /usr/include/iso/time_iso.h
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-SCCP_Mapping.o: /usr/include/regex.h
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-SCCP_Mapping.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-SCCP_Mapping.o: MTP3asp_PT.hh
-SCCP_Mapping.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-SCCP_Mapping.o: SCCPasp_Types.hh General_Types.hh
-MTP3asp_PT.o: /usr/include/stdio.h /usr/include/iso/stdio_iso.h
-MTP3asp_PT.o: /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h
-MTP3asp_PT.o: /usr/include/sys/va_list.h /usr/include/stdio_tag.h
-MTP3asp_PT.o: /usr/include/stdio_impl.h /usr/include/stdlib.h
-MTP3asp_PT.o: /usr/include/iso/stdlib_iso.h /usr/include/sys/types.h
-MTP3asp_PT.o: /usr/include/sys/machtypes.h /usr/include/sys/int_types.h
-MTP3asp_PT.o: /usr/include/sys/select.h /usr/include/sys/time.h
-MTP3asp_PT.o: /usr/include/time.h /usr/include/iso/time_iso.h
-MTP3asp_PT.o: /usr/include/netinet/in.h /usr/include/sys/stream.h
-MTP3asp_PT.o: /usr/include/sys/vnode.h /usr/include/sys/t_lock.h
-MTP3asp_PT.o: /usr/include/sys/machlock.h /usr/include/sys/param.h
-MTP3asp_PT.o: /usr/include/sys/unistd.h /usr/include/sys/mutex.h
-MTP3asp_PT.o: /usr/include/sys/rwlock.h /usr/include/sys/semaphore.h
-MTP3asp_PT.o: /usr/include/sys/condvar.h /usr/include/sys/time_impl.h
-MTP3asp_PT.o: /usr/include/sys/cred.h /usr/include/sys/uio.h
-MTP3asp_PT.o: /usr/include/sys/resource.h /usr/include/vm/seg_enum.h
-MTP3asp_PT.o: /usr/include/sys/poll.h /usr/include/sys/strmdep.h
-MTP3asp_PT.o: /usr/include/sys/model.h /usr/include/sys/strft.h
-MTP3asp_PT.o: /usr/include/sys/byteorder.h /usr/include/netdb.h
-MTP3asp_PT.o: /usr/include/sys/socket.h /usr/include/sys/netconfig.h
-MTP3asp_PT.o: /usr/include/sys/un.h /usr/include/net/if_dl.h
-MTP3asp_PT.o: /usr/include/sys/wait.h /usr/include/sys/siginfo.h
-MTP3asp_PT.o: /usr/include/sys/machsig.h /usr/include/sys/procset.h
-MTP3asp_PT.o: /usr/include/unistd.h /usr/include/arpa/inet.h
-MTP3asp_PT.o: /usr/include/stdarg.h /usr/include/iso/stdarg_iso.h
-MTP3asp_PT.o: /usr/include/string.h /usr/include/iso/string_iso.h
-MTP3asp_PT.o: MTP3asp_PT.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TTCN3.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/version.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Basetype.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Types.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Encdec.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Template.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Integer.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Optional.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/BER.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Logger.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Textbuf.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Error.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Parameters.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Float.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Boolean.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Null.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Objid.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Verdicttype.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Component.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Bitstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/RAW.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Hexstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Octetstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_Any.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Charstring.hh
-MTP3asp_PT.o: /usr/include/regex.h
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Universal_charstring.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Struct_of.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Array.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_CharacterString.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_External.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/ASN_EmbeddedPDV.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Addfunc.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Timer.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Port.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Module_list.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Snapshot.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Default.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/Runtime.hh
-MTP3asp_PT.o: /mnt/projects/TTCN/Releases/TTCNv3-latest/include/TEXT.hh
-MTP3asp_PT.o: /vobs/ttcn/TCC_Releases/Other/SEA_LATEST/include/mphclib.h
-MTP3asp_PT.o: MTP3asp_Types.hh MTP3asp_PortType.hh
diff --git a/SCCP_CNL113341/demo/N_UNITDATAtest_600longdata_xudt_ansi_log b/SCCP_CNL113341/demo/N_UNITDATAtest_600longdata_xudt_ansi_log
deleted file mode 100644
index b8b30219a..000000000
--- a/SCCP_CNL113341/demo/N_UNITDATAtest_600longdata_xudt_ansi_log
+++ /dev/null
@@ -1,2141 +0,0 @@
-18:21:32.381643 hc TTCN-3 Host Controller started on duna199.
-18:21:32.385186 hc The address of MC was set to duna199[159.107.196.57]:38400
-18:21:32.387940 hc Connected to MC.
-18:21:41.084400 hc Processing configuration data received from MC.
-18:21:41.161669 hc Module SCCP has the following parameters: tsp_maxLocalReference := 16777216.000000, tsp_max_ConnectionId := 16777216.000000, tsp_force_xudt := 1, tsp_SIF_MaxLength := 272
-18:21:41.162623 hc Module SCCP_selftest has the following parameters: tsp_own_GT := '14377760'H, tsp_remote_GT := '14375760'H, tsp_SSN := 2, tsp_SIO := '83'O, tsp_own_SPC := 16382, tsp_remote_SPC := 16383, tsp_SLS := 0, tsp_sccp_serviceType := "mtp3_ansi"
-18:21:41.163400 hc Module SCCP_typedefs has the following parameters: tspc_timer_T_conn_est := 120.000000, tspc_timer_T_ias := 600.000000, tspc_timer_T_iar := 1260.000000, tspc_timer_T_rel := 20.000000, tspc_timer_T_repeat_rel := 20.000000, tspc_timer_T_int := 60.000000, tspc_timer_T_guard := 1500.000000, tspc_timer_T_reset := 20.000000, tspc_timer_T_internal_reset := 0.000000, tspc_timer_guard := 120.000000
-18:21:41.164026 hc Initializing module MTP3_ASPs.
-18:21:41.164735 hc Initialization of module MTP3_ASPs finished.
-18:21:41.165299 hc Initializing module SCCP.
-18:21:41.166336 hc Initializing module general_typedefs.
-18:21:41.166948 hc Initialization of module general_typedefs finished.
-18:21:41.167549 hc Initializing module SCCP_typedefs.
-18:21:41.168099 hc Initializing module SCCP_ASPs.
-18:21:41.169077 hc Initialization of module SCCP_ASPs finished.
-18:21:41.169895 hc Initialization of module SCCP_typedefs finished.
-18:21:41.171837 hc Initialization of module SCCP finished.
-18:21:41.172467 hc Initializing module SCCP_EncDec.
-18:21:41.173044 hc Initialization of module SCCP_EncDec finished.
-18:21:41.173588 hc Initializing module SCCP_selftest.
-18:21:41.174158 hc Initialization of module SCCP_selftest finished.
-18:21:41.175585 hc Configuration file was processed successfully.
-18:21:41.191379 hc MTC was created. Process id: 25833.
-18:21:41.236537 mtc TTCN-3 Main Test Component started on duna199.
-18:21:41.242045 mtc Connected to MC.
-18:21:45.199426 mtc Executing test case tc_ConnlessSendingShortASP in module SCCP_selftest.
-18:21:45.200795 mtc Test case tc_ConnlessSendingShortASP started.
-18:21:45.201500 mtc Ports of component type MTC_CT were initialized.
-18:21:45.202177 mtc Port PCO_A was started.
-18:21:45.202752 mtc Port PCO_B was started.
-18:21:45.204047 mtc v_Boot: {
- own_GT := '14377760'H,
- remote_GT := '14375760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16382,
- remote_SPC := 16383,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-}
-18:21:45.204729 mtc v_BootB: {
- own_GT := '14375760'H,
- remote_GT := '14377760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16383,
- remote_SPC := 16382,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-}
-18:21:45.205333 mtc Creating new PTC with component type MTPsim_CT.
-18:21:45.221298 hc PTC was created. Component reference: 3, component type: MTPsim_CT, process id: 25834.
-18:21:45.264675 3 TTCN-3 Parallel Test Component started on duna199. Component reference: 3, component type: MTPsim_CT.
-18:21:45.269726 3 Connected to MC.
-18:21:45.270497 mtc PTC was created. Component reference: 3.
-18:21:45.271118 mtc Creating new PTC with component type SCCP_EncDec_comptype.
-18:21:45.272412 3 Ports of component type MTPsim_CT were initialized.
-18:21:45.274405 3 Port MTP_portA was started.
-18:21:45.275097 3 Port MTP_portB was started.
-18:21:45.309134 hc PTC was created. Component reference: 4, component type: SCCP_EncDec_comptype, process id: 25835.
-18:21:45.349568 4 TTCN-3 Parallel Test Component started on duna199. Component reference: 4, component type: SCCP_EncDec_comptype.
-18:21:45.355068 4 Connected to MC.
-18:21:45.356259 mtc PTC was created. Component reference: 4.
-18:21:45.356923 mtc Creating new PTC with component type SCCP_comptype.
-18:21:45.358309 4 Ports of component type SCCP_EncDec_comptype were initialized.
-18:21:45.359056 4 Port MTP3sccpEncDec_PCO was started.
-18:21:45.359861 4 MTP3 Test Port (MTP3user_sccp_PCO): user start ordered
-18:21:45.360447 4 Port MTP3user_sccp_PCO was started.
-18:21:45.392629 hc PTC was created. Component reference: 5, component type: SCCP_comptype, process id: 25836.
-18:21:45.420667 5 TTCN-3 Parallel Test Component started on duna199. Component reference: 5, component type: SCCP_comptype.
-18:21:45.426421 5 Connected to MC.
-18:21:45.427258 mtc PTC was created. Component reference: 5.
-18:21:45.427896 mtc Connecting ports 4:MTP3user_sccp_PCO and 3:MTP_portA.
-18:21:45.431119 4 Port MTP3user_sccp_PCO is waiting for connection from 3:MTP_portA on TCP port 38406.
-18:21:45.433281 3 Port MTP_portA has established the connection with 4:MTP3user_sccp_PCO.
-18:21:45.435413 mtc Connect operation finished.
-18:21:45.436566 mtc Connecting ports 5:MTP3sccp_PCO and 4:MTP3sccpEncDec_PCO.
-18:21:45.437940 4 Port MTP3user_sccp_PCO has accepted the connection from 3:MTP_portA.
-18:21:45.439013 5 Ports of component type SCCP_comptype were initialized.
-18:21:45.439756 5 Port MTP3sccp_PCO was started.
-18:21:45.440445 5 Port SCCP_PCO was started.
-18:21:45.442861 5 Port MTP3sccp_PCO is waiting for connection from 4:MTP3sccpEncDec_PCO on TCP port 38408.
-18:21:45.445256 4 Port MTP3sccpEncDec_PCO has established the connection with 5:MTP3sccp_PCO.
-18:21:45.463598 mtc Connect operation finished.
-18:21:45.464271 mtc Connecting ports mtc:PCO_A and 5:SCCP_PCO.
-18:21:45.471897 mtc Port PCO_A is waiting for connection from 5:SCCP_PCO on TCP port 38410.
-18:21:45.475092 5 Port MTP3sccp_PCO has accepted the connection from 4:MTP3sccpEncDec_PCO.
-18:21:45.478859 mtc Port PCO_A has accepted the connection from 5:SCCP_PCO.
-18:21:45.479620 mtc Connect operation finished.
-18:21:45.480218 mtc Creating new PTC with component type SCCP_EncDec_comptype.
-18:21:45.481484 5 Port SCCP_PCO has established the connection with mtc:PCO_A.
-18:21:45.515409 hc PTC was created. Component reference: 6, component type: SCCP_EncDec_comptype, process id: 25837.
-18:21:45.536738 6 TTCN-3 Parallel Test Component started on duna199. Component reference: 6, component type: SCCP_EncDec_comptype.
-18:21:45.542075 6 Connected to MC.
-18:21:45.542872 mtc PTC was created. Component reference: 6.
-18:21:45.543505 mtc Creating new PTC with component type SCCP_comptype.
-18:21:45.544857 6 Ports of component type SCCP_EncDec_comptype were initialized.
-18:21:45.545594 6 Port MTP3sccpEncDec_PCO was started.
-18:21:45.547107 6 MTP3 Test Port (MTP3user_sccp_PCO): user start ordered
-18:21:45.547695 6 Port MTP3user_sccp_PCO was started.
-18:21:45.563127 hc PTC was created. Component reference: 7, component type: SCCP_comptype, process id: 25838.
-18:21:45.606608 7 TTCN-3 Parallel Test Component started on duna199. Component reference: 7, component type: SCCP_comptype.
-18:21:45.611933 7 Connected to MC.
-18:21:45.612740 mtc PTC was created. Component reference: 7.
-18:21:45.613371 mtc Connecting ports 6:MTP3user_sccp_PCO and 3:MTP_portB.
-18:21:45.622919 6 Port MTP3user_sccp_PCO is waiting for connection from 3:MTP_portB on TCP port 38414.
-18:21:45.625194 3 Port MTP_portB has established the connection with 6:MTP3user_sccp_PCO.
-18:21:45.628002 mtc Connect operation finished.
-18:21:45.628661 mtc Connecting ports 7:MTP3sccp_PCO and 6:MTP3sccpEncDec_PCO.
-18:21:45.630008 6 Port MTP3user_sccp_PCO has accepted the connection from 3:MTP_portB.
-18:21:45.631064 7 Ports of component type SCCP_comptype were initialized.
-18:21:45.631815 7 Port MTP3sccp_PCO was started.
-18:21:45.632502 7 Port SCCP_PCO was started.
-18:21:45.634990 7 Port MTP3sccp_PCO is waiting for connection from 6:MTP3sccpEncDec_PCO on TCP port 38416.
-18:21:45.654225 6 Port MTP3sccpEncDec_PCO has established the connection with 7:MTP3sccp_PCO.
-18:21:45.657305 mtc Connect operation finished.
-18:21:45.657970 mtc Connecting ports mtc:PCO_B and 7:SCCP_PCO.
-18:21:45.660027 mtc Port PCO_B is waiting for connection from 7:SCCP_PCO on TCP port 38418.
-18:21:45.661448 7 Port MTP3sccp_PCO has accepted the connection from 6:MTP3sccpEncDec_PCO.
-18:21:45.664441 mtc Port PCO_B has accepted the connection from 7:SCCP_PCO.
-18:21:45.665199 mtc Connect operation finished.
-18:21:45.666237 mtc Starting function MTPsim_EventHandler() on component 3.
-18:21:45.667397 mtc Function MTPsim_EventHandler was started.
-18:21:45.668124 mtc Starting function ScanRAWPorts() on component 4.
-18:21:45.669265 mtc Function ScanRAWPorts was started.
-18:21:45.669965 mtc Starting function SCCPStart( {
- own_GT := '14377760'H,
- remote_GT := '14375760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16382,
- remote_SPC := 16383,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} ) on component 5.
-18:21:45.671152 mtc Function SCCPStart was started.
-18:21:45.671741 mtc Starting function ScanRAWPorts() on component 6.
-18:21:45.672848 mtc Function ScanRAWPorts was started.
-18:21:45.673470 mtc Starting function SCCPStart( {
- own_GT := '14375760'H,
- remote_GT := '14377760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16383,
- remote_SPC := 16382,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} ) on component 7.
-18:21:45.674608 mtc Function SCCPStart was started.
-18:21:45.675177 mtc init() is done
-18:21:45.677985 mtc Start timer: 120 s
-18:21:45.679932 mtc Sent on PCO_A to 5 N_UNITDATA_req {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '12345678901234567890'O,
- importance := omit
-}
-18:21:45.696998 3 Starting function MTPsim_EventHandler()
-18:21:45.698443 4 Starting function ScanRAWPorts()
-18:21:45.701026 5 Received on SCCP_PCO from mtc N_UNITDATA_req {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '12345678901234567890'O,
- importance := omit
-} id 1
-18:21:45.702391 5 Starting function SCCPStart( {
- own_GT := '14377760'H,
- remote_GT := '14375760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16382,
- remote_SPC := 16383,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} )
-18:21:45.722883 5 v_sccp_pdu_maxlen:265
-18:21:45.725239 5 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_CONNECT_req.
-18:21:45.726734 5 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_CONNECT_res.
-18:21:45.727329 5 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_DATA_req.
-18:21:45.727949 5 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_DISCONNECT_req.
-18:21:45.728805 5 Message with id 1 was extracted from the queue of SCCP_PCO.
-18:21:45.730071 5 Encoding PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
-}
-18:21:45.731289 5 Encoded PDU_SCCP_Address_ansi: '07FF3F0002077241737506'O
-18:21:45.732056 5 Encoding PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
-}
-18:21:45.732925 5 Encoded PDU_SCCP_Address_ansi: '07FF3F0002077241737706'O
-18:21:45.734284 5 Random generator was initialized with seed 13.733935.
-18:21:45.735117 5 Function rnd() returned 0.227768.
-18:21:45.737985 5 Sent on MTP3sccp_PCO to 4 ASP_MTP3_TRANSFERreq_sccp {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 10,
- data := '12345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '3A4F07'O
- },
- importance := omit
- },
- eop := omit
- }
- }
-}
-18:21:45.755078 5 Last remaining Segment:'0000'B
-18:21:45.758317 4 Received on MTP3sccpEncDec_PCO from 5 ASP_MTP3_TRANSFERreq_sccp {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 10,
- data := '12345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '3A4F07'O
- },
- importance := omit
- },
- eop := omit
- }
- }
-} id 1
-18:21:45.759685 4 Message with id 1 was extracted from the queue of MTP3sccpEncDec_PCO.
-18:21:45.760414 4 Encoding PDU_SCCP: {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 10,
- data := '12345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '3A4F07'O
- },
- importance := omit
- },
- eop := omit
- }
-}
-18:21:45.782218 4 Encoded PDU_SCCP: '11000F040F1A240B07FF3F00020772417375060B07FF3F00020772417377060A123456789012345678901004803A4F07'O
-18:21:45.783241 4 Sent on MTP3user_sccp_PCO to 3 ASP_MTP3_TRANSFERreq {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A240B07FF3F00020772417375060B07FF3F00020772417377060A123456789012345678901004803A4F07'O
-}
-18:21:45.784644 3 Received on MTP_portA from 4 ASP_MTP3_TRANSFERreq {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A240B07FF3F00020772417375060B07FF3F00020772417377060A123456789012345678901004803A4F07'O
-} id 1
-18:21:45.785139 3 Message with id 1 was extracted from the queue of MTP_portA.
-18:21:45.786161 3 Sent on MTP_portB to 6 ASP_MTP3_TRANSFERind {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A240B07FF3F00020772417375060B07FF3F00020772417377060A123456789012345678901004803A4F07'O
-}
-18:21:45.787838 6 Received on MTP3user_sccp_PCO from 3 ASP_MTP3_TRANSFERind {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A240B07FF3F00020772417375060B07FF3F00020772417377060A123456789012345678901004803A4F07'O
-} id 1
-18:21:45.788900 6 Starting function ScanRAWPorts()
-18:21:45.789920 6 Message with id 1 was extracted from the queue of MTP3user_sccp_PCO.
-18:21:45.790662 6 Decoding PDU_SCCP: '11000F040F1A240B07FF3F00020772417375060B07FF3F00020772417377060A123456789012345678901004803A4F07'O
-18:21:45.795388 6 Decoded PDU_SCCP: {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 36,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 10,
- data := '12345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '3A4F07'O
- },
- importance := omit
- },
- eop := omit
- }
-}
-18:21:45.821005 6 Sent on MTP3sccpEncDec_PCO to 7 PDU_SCCP_ExtUnitdata {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 36,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 10,
- data := '12345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '3A4F07'O
- },
- importance := omit
- },
- eop := omit
-}
-18:21:45.822432 7 Port SCCP_PCO has established the connection with mtc:PCO_B.
-18:21:45.824903 7 Received on MTP3sccp_PCO from 6 PDU_SCCP_ExtUnitdata {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 36,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 10,
- data := '12345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '3A4F07'O
- },
- importance := omit
- },
- eop := omit
-} id 1
-18:21:45.845099 7 Starting function SCCPStart( {
- own_GT := '14375760'H,
- remote_GT := '14377760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16383,
- remote_SPC := 16382,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} )
-18:21:45.846866 7 v_sccp_pdu_maxlen:265
-18:21:45.849069 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_Unitdata.
-18:21:45.849964 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_UnitdataService.
-18:21:45.850594 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionRequest.
-18:21:45.851248 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionConfirm.
-18:21:45.851881 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_Released.
-18:21:45.852527 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ProtDataUnitError.
-18:21:45.853160 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ReleaseComplete.
-18:21:45.853741 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_InactivityTest.
-18:21:45.854352 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ResetRequest.
-18:21:45.873504 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ResetConfirm.
-18:21:45.874250 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionRefused.
-18:21:45.874833 7 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_DataForm1.
-18:21:45.876205 7 Message with id 1 was extracted from the queue of MTP3sccp_PCO.
-18:21:45.877338 7 Decoding PDU_SCCP_Address_ansi: '07FF3F0002077241737506'O
-18:21:45.878490 7 Decoded PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
-}
-18:21:45.879493 7 Decoding PDU_SCCP_Address_ansi: '07FF3F0002077241737706'O
-18:21:45.880295 7 Decoded PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
-}
-18:21:45.881403 7 Sent on SCCP_PCO to mtc N_UNITDATA_ind {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '12345678901234567890'O,
- importance := omit
-}
-18:21:45.900251 mtc Received on PCO_B from 7 N_UNITDATA_ind {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '12345678901234567890'O,
- importance := omit
-} id 1
-18:21:45.900917 mtc Message with id 1 was extracted from the queue of PCO_B.
-18:21:45.901304 mtc Correct CalledAddress, CallingAddress and userData received, data are correct
-18:21:45.901623 mtc setverdict(pass): none -> pass
-18:21:45.901959 mtc Stop timer: 120 s
-18:21:45.902282 mtc termitate() started
-18:21:45.902595 mtc Stopping all components.
-18:21:45.907581 3 Stop was requested from MC.
-18:21:45.907937 3 Stopping test component execution.
-18:21:45.940594 3 Function MTPsim_EventHandler was stopped. PTC terminates.
-18:21:45.941545 3 Port MTP_portA was stopped.
-18:21:45.942176 3 Port MTP_portB was stopped.
-18:21:45.943023 3 Removing unterminated connection between ports MTP_portA and 4:MTP3user_sccp_PCO.
-18:21:45.944438 3 Removing unterminated connection between ports MTP_portB and 6:MTP3user_sccp_PCO.
-18:21:45.945612 3 Ports of component type MTPsim_CT were shut down.
-18:21:45.963063 3 getverdict: none
-18:21:45.965312 3 Disconnected from MC.
-18:21:45.965518 3 TTCN-3 Parallel Test Component finished.
-18:21:45.967406 4 Connection of port MTP3user_sccp_PCO to 3:MTP_portA is lost.
-18:21:45.969323 4 Port MTP3user_sccp_PCO was disconnected from 3:MTP_portA.
-18:21:45.970071 4 Stop was requested from MC.
-18:21:45.970686 4 Stopping test component execution.
-18:21:45.997674 4 Function ScanRAWPorts was stopped. PTC terminates.
-18:21:45.998715 4 Port MTP3sccpEncDec_PCO was stopped.
-18:21:45.999329 4 MTP3 Test Port (MTP3user_sccp_PCO): User stop ordered
-18:21:45.999934 4 Port MTP3user_sccp_PCO was stopped.
-18:21:46.000781 4 Removing unterminated connection between ports MTP3sccpEncDec_PCO and 5:MTP3sccp_PCO.
-18:21:46.002220 4 Ports of component type SCCP_EncDec_comptype were shut down.
-18:21:46.002866 4 getverdict: none
-18:21:46.004760 4 Disconnected from MC.
-18:21:46.004970 4 TTCN-3 Parallel Test Component finished.
-18:21:46.032470 5 Connection of port MTP3sccp_PCO to 4:MTP3sccpEncDec_PCO is lost.
-18:21:46.033807 5 Port MTP3sccp_PCO was disconnected from 4:MTP3sccpEncDec_PCO.
-18:21:46.034467 5 Stop was requested from MC.
-18:21:46.035074 5 Stopping test component execution.
-18:21:46.051967 5 Function SCCPStart was stopped. PTC terminates.
-18:21:46.052955 5 Port MTP3sccp_PCO was stopped.
-18:21:46.053550 5 Port SCCP_PCO was stopped.
-18:21:46.054596 5 Removing unterminated connection between ports SCCP_PCO and mtc:PCO_A.
-18:21:46.056442 mtc Connection of port PCO_A to 5:SCCP_PCO is lost.
-18:21:46.058014 mtc Port PCO_A was disconnected from 5:SCCP_PCO.
-18:21:46.059058 5 Ports of component type SCCP_comptype were shut down.
-18:21:46.059660 5 getverdict: none
-18:21:46.061555 5 Disconnected from MC.
-18:21:46.061761 5 TTCN-3 Parallel Test Component finished.
-18:21:46.063188 6 Connection of port MTP3user_sccp_PCO to 3:MTP_portB is lost.
-18:21:46.065270 6 Port MTP3user_sccp_PCO was disconnected from 3:MTP_portB.
-18:21:46.067053 6 Stop was requested from MC.
-18:21:46.068350 6 Stopping test component execution.
-18:21:46.115081 6 Function ScanRAWPorts was stopped. PTC terminates.
-18:21:46.116539 6 Port MTP3sccpEncDec_PCO was stopped.
-18:21:46.117177 6 MTP3 Test Port (MTP3user_sccp_PCO): User stop ordered
-18:21:46.117788 6 Port MTP3user_sccp_PCO was stopped.
-18:21:46.118635 6 Removing unterminated connection between ports MTP3sccpEncDec_PCO and 7:MTP3sccp_PCO.
-18:21:46.120040 6 Ports of component type SCCP_EncDec_comptype were shut down.
-18:21:46.120672 6 getverdict: none
-18:21:46.122539 6 Disconnected from MC.
-18:21:46.122745 6 TTCN-3 Parallel Test Component finished.
-18:21:46.124069 7 Connection of port MTP3sccp_PCO to 6:MTP3sccpEncDec_PCO is lost.
-18:21:46.126591 7 Port MTP3sccp_PCO was disconnected from 6:MTP3sccpEncDec_PCO.
-18:21:46.127348 7 Stop was requested from MC.
-18:21:46.127955 7 Stopping test component execution.
-18:21:46.152223 7 Function SCCPStart was stopped. PTC terminates.
-18:21:46.153287 7 Port MTP3sccp_PCO was stopped.
-18:21:46.153893 7 Port SCCP_PCO was stopped.
-18:21:46.154936 7 Removing unterminated connection between ports SCCP_PCO and mtc:PCO_B.
-18:21:46.156829 mtc Connection of port PCO_B to 7:SCCP_PCO is lost.
-18:21:46.158368 mtc Port PCO_B was disconnected from 7:SCCP_PCO.
-18:21:46.159390 7 Ports of component type SCCP_comptype were shut down.
-18:21:46.159990 7 getverdict: none
-18:21:46.161049 mtc All components were stopped.
-18:21:46.161673 mtc Disconnecting ports 4:MTP3user_sccp_PCO and 3:MTP_portA.
-18:21:46.162687 mtc Disconnect operation finished.
-18:21:46.163293 mtc Disconnecting ports 5:MTP3sccp_PCO and 4:MTP3sccpEncDec_PCO.
-18:21:46.164303 mtc Disconnect operation finished.
-18:21:46.164908 mtc Disconnecting ports mtc:PCO_A and 5:SCCP_PCO.
-18:21:46.179989 mtc Disconnect operation finished.
-18:21:46.180736 mtc Disconnecting ports 6:MTP3user_sccp_PCO and 3:MTP_portB.
-18:21:46.181756 mtc Disconnect operation finished.
-18:21:46.182361 mtc Disconnecting ports 7:MTP3sccp_PCO and 6:MTP3sccpEncDec_PCO.
-18:21:46.183375 mtc Disconnect operation finished.
-18:21:46.183981 mtc Disconnecting ports mtc:PCO_B and 7:SCCP_PCO.
-18:21:46.184989 mtc Disconnect operation finished.
-18:21:46.185569 mtc all components stopped
-18:21:46.186455 mtc Stopping test component execution.
-18:21:46.201652 mtc Test case tc_ConnlessSendingShortASP was stopped.
-18:21:46.202665 mtc Port PCO_A was stopped.
-18:21:46.203282 mtc Port PCO_B was stopped.
-18:21:46.205397 mtc Ports of component type MTC_CT were shut down.
-18:21:46.207477 7 Disconnected from MC.
-18:21:46.207705 7 TTCN-3 Parallel Test Component finished.
-18:21:46.208587 mtc Waiting for PTCs to finish.
-18:21:46.209933 mtc Setting final verdict of the test case.
-18:21:46.211165 mtc Local verdict of MTC: pass
-18:21:46.211855 mtc Local verdict of PTC with component reference 3: none (pass -> pass)
-18:21:46.212456 mtc Local verdict of PTC with component reference 4: none (pass -> pass)
-18:21:46.213073 mtc Local verdict of PTC with component reference 5: none (pass -> pass)
-18:21:46.213661 mtc Local verdict of PTC with component reference 6: none (pass -> pass)
-18:21:46.214802 mtc Local verdict of PTC with component reference 7: none (pass -> pass)
-18:21:46.215478 mtc Test case tc_ConnlessSendingShortASP finished. Verdict: pass
-18:21:46.217171 mtc Executing test case tc_ConnlessSendingLongASP in module SCCP_selftest.
-18:21:46.240225 mtc Test case tc_ConnlessSendingLongASP started.
-18:21:46.240961 mtc Ports of component type MTC_CT were initialized.
-18:21:46.241578 mtc Port PCO_A was started.
-18:21:46.242161 mtc Port PCO_B was started.
-18:21:46.242817 mtc v_Boot: {
- own_GT := '14377760'H,
- remote_GT := '14375760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16382,
- remote_SPC := 16383,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-}
-18:21:46.243457 mtc v_BootB: {
- own_GT := '14375760'H,
- remote_GT := '14377760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16383,
- remote_SPC := 16382,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-}
-18:21:46.244084 mtc Creating new PTC with component type MTPsim_CT.
-18:21:46.245603 hc Test component with component reference 7 finished. Process statistics: {
- process id: 25838,
- exit status: 0,
- user time: 0.020000 s,
- system time: 0.020000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:21:46.246717 hc Test component with component reference 6 finished. Process statistics: {
- process id: 25837,
- exit status: 0,
- user time: 0.050000 s,
- system time: 0.030000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:21:46.247491 hc Test component with component reference 5 finished. Process statistics: {
- process id: 25836,
- exit status: 0,
- user time: 0.020000 s,
- system time: 0.030000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:21:46.264668 hc Test component with component reference 4 finished. Process statistics: {
- process id: 25835,
- exit status: 0,
- user time: 0.040000 s,
- system time: 0.030000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:21:46.265568 hc Test component with component reference 3 finished. Process statistics: {
- process id: 25834,
- exit status: 0,
- user time: 0.050000 s,
- system time: 0.020000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:21:46.280706 hc PTC was created. Component reference: 8, component type: MTPsim_CT, process id: 25839.
-18:21:46.327713 8 TTCN-3 Parallel Test Component started on duna199. Component reference: 8, component type: MTPsim_CT.
-18:21:46.333051 8 Connected to MC.
-18:21:46.333975 8 Ports of component type MTPsim_CT were initialized.
-18:21:46.334733 8 Port MTP_portA was started.
-18:21:46.335352 8 Port MTP_portB was started.
-18:21:46.336555 mtc PTC was created. Component reference: 8.
-18:21:46.337460 mtc Creating new PTC with component type SCCP_EncDec_comptype.
-18:21:46.353606 hc PTC was created. Component reference: 9, component type: SCCP_EncDec_comptype, process id: 25840.
-18:21:46.398779 9 TTCN-3 Parallel Test Component started on duna199. Component reference: 9, component type: SCCP_EncDec_comptype.
-18:21:46.404037 9 Connected to MC.
-18:21:46.404841 mtc PTC was created. Component reference: 9.
-18:21:46.405504 mtc Creating new PTC with component type SCCP_comptype.
-18:21:46.407469 9 Ports of component type SCCP_EncDec_comptype were initialized.
-18:21:46.408208 9 Port MTP3sccpEncDec_PCO was started.
-18:21:46.409009 9 MTP3 Test Port (MTP3user_sccp_PCO): user start ordered
-18:21:46.409590 9 Port MTP3user_sccp_PCO was started.
-18:21:46.424385 hc PTC was created. Component reference: 10, component type: SCCP_comptype, process id: 25841.
-18:21:46.468205 10 TTCN-3 Parallel Test Component started on duna199. Component reference: 10, component type: SCCP_comptype.
-18:21:46.473262 10 Connected to MC.
-18:21:46.474045 mtc PTC was created. Component reference: 10.
-18:21:46.474720 mtc Connecting ports 9:MTP3user_sccp_PCO and 8:MTP_portA.
-18:21:46.478439 9 Port MTP3user_sccp_PCO is waiting for connection from 8:MTP_portA on TCP port 38423.
-18:21:46.480561 8 Port MTP_portA has established the connection with 9:MTP3user_sccp_PCO.
-18:21:46.482674 mtc Connect operation finished.
-18:21:46.483347 mtc Connecting ports 10:MTP3sccp_PCO and 9:MTP3sccpEncDec_PCO.
-18:21:46.484727 9 Port MTP3user_sccp_PCO has accepted the connection from 8:MTP_portA.
-18:21:46.486409 10 Ports of component type SCCP_comptype were initialized.
-18:21:46.487183 10 Port MTP3sccp_PCO was started.
-18:21:46.487857 10 Port SCCP_PCO was started.
-18:21:46.490270 10 Port MTP3sccp_PCO is waiting for connection from 9:MTP3sccpEncDec_PCO on TCP port 38425.
-18:21:46.492618 9 Port MTP3sccpEncDec_PCO has established the connection with 10:MTP3sccp_PCO.
-18:21:46.494771 mtc Connect operation finished.
-18:21:46.495446 mtc Connecting ports mtc:PCO_A and 10:SCCP_PCO.
-18:21:46.497895 mtc Port PCO_A is waiting for connection from 10:SCCP_PCO on TCP port 38427.
-18:21:46.499342 10 Port MTP3sccp_PCO has accepted the connection from 9:MTP3sccpEncDec_PCO.
-18:21:46.501885 mtc Port PCO_A has accepted the connection from 10:SCCP_PCO.
-18:21:46.502633 mtc Connect operation finished.
-18:21:46.503254 mtc Creating new PTC with component type SCCP_EncDec_comptype.
-18:21:46.504536 10 Port SCCP_PCO has established the connection with mtc:PCO_A.
-18:21:46.535166 hc PTC was created. Component reference: 11, component type: SCCP_EncDec_comptype, process id: 25842.
-18:21:46.563650 11 TTCN-3 Parallel Test Component started on duna199. Component reference: 11, component type: SCCP_EncDec_comptype.
-18:21:46.569136 11 Connected to MC.
-18:21:46.569930 mtc PTC was created. Component reference: 11.
-18:21:46.570585 mtc Creating new PTC with component type SCCP_comptype.
-18:21:46.572003 11 Ports of component type SCCP_EncDec_comptype were initialized.
-18:21:46.572757 11 Port MTP3sccpEncDec_PCO was started.
-18:21:46.573568 11 MTP3 Test Port (MTP3user_sccp_PCO): user start ordered
-18:21:46.574160 11 Port MTP3user_sccp_PCO was started.
-18:21:46.607218 hc PTC was created. Component reference: 12, component type: SCCP_comptype, process id: 25843.
-18:21:46.634527 12 TTCN-3 Parallel Test Component started on duna199. Component reference: 12, component type: SCCP_comptype.
-18:21:46.640248 12 Connected to MC.
-18:21:46.641259 mtc PTC was created. Component reference: 12.
-18:21:46.641935 mtc Connecting ports 11:MTP3user_sccp_PCO and 8:MTP_portB.
-18:21:46.645205 11 Port MTP3user_sccp_PCO is waiting for connection from 8:MTP_portB on TCP port 38431.
-18:21:46.647813 8 Port MTP_portB has established the connection with 11:MTP3user_sccp_PCO.
-18:21:46.650037 mtc Connect operation finished.
-18:21:46.650705 mtc Connecting ports 12:MTP3sccp_PCO and 11:MTP3sccpEncDec_PCO.
-18:21:46.652085 11 Port MTP3user_sccp_PCO has accepted the connection from 8:MTP_portB.
-18:21:46.653166 12 Ports of component type SCCP_comptype were initialized.
-18:21:46.653902 12 Port MTP3sccp_PCO was started.
-18:21:46.654568 12 Port SCCP_PCO was started.
-18:21:46.674133 12 Port MTP3sccp_PCO is waiting for connection from 11:MTP3sccpEncDec_PCO on TCP port 38433.
-18:21:46.677229 11 Port MTP3sccpEncDec_PCO has established the connection with 12:MTP3sccp_PCO.
-18:21:46.679496 mtc Connect operation finished.
-18:21:46.680172 mtc Connecting ports mtc:PCO_B and 12:SCCP_PCO.
-18:21:46.682231 mtc Port PCO_B is waiting for connection from 12:SCCP_PCO on TCP port 38435.
-18:21:46.683671 12 Port MTP3sccp_PCO has accepted the connection from 11:MTP3sccpEncDec_PCO.
-18:21:46.687028 mtc Port PCO_B has accepted the connection from 12:SCCP_PCO.
-18:21:46.687831 mtc Connect operation finished.
-18:21:46.688466 mtc Starting function MTPsim_EventHandler() on component 8.
-18:21:46.689847 8 Starting function MTPsim_EventHandler()
-18:21:46.690910 mtc Function MTPsim_EventHandler was started.
-18:21:46.691559 mtc Starting function ScanRAWPorts() on component 9.
-18:21:46.692675 mtc Function ScanRAWPorts was started.
-18:21:46.693326 mtc Starting function SCCPStart( {
- own_GT := '14377760'H,
- remote_GT := '14375760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16382,
- remote_SPC := 16383,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} ) on component 10.
-18:21:46.694511 mtc Function SCCPStart was started.
-18:21:46.695121 mtc Starting function ScanRAWPorts() on component 11.
-18:21:46.696900 mtc Function ScanRAWPorts was started.
-18:21:46.697568 mtc Starting function SCCPStart( {
- own_GT := '14375760'H,
- remote_GT := '14377760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16383,
- remote_SPC := 16382,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} ) on component 12.
-18:21:46.698723 mtc Function SCCPStart was started.
-18:21:46.699310 mtc init() is done
-18:21:46.700287 mtc Start timer: 120 s
-18:21:46.701466 mtc Sent on PCO_A to 10 N_UNITDATA_req {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O,
- importance := omit
-}
-18:21:46.718626 9 Starting function ScanRAWPorts()
-18:21:46.721380 10 Received on SCCP_PCO from mtc N_UNITDATA_req {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O,
- importance := omit
-} id 1
-18:21:46.742310 10 Starting function SCCPStart( {
- own_GT := '14377760'H,
- remote_GT := '14375760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16382,
- remote_SPC := 16383,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} )
-18:21:46.743647 10 v_sccp_pdu_maxlen:265
-18:21:46.746564 10 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_CONNECT_req.
-18:21:46.747527 10 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_CONNECT_res.
-18:21:46.748104 10 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_DATA_req.
-18:21:46.766884 10 Receive operation on port SCCP_PCO failed: Type of the first message in the queue is not N_DISCONNECT_req.
-18:21:46.767864 10 Message with id 1 was extracted from the queue of SCCP_PCO.
-18:21:46.769126 10 Encoding PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
-}
-18:21:46.770337 10 Encoded PDU_SCCP_Address_ansi: '07FF3F0002077241737506'O
-18:21:46.771120 10 Encoding PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
-}
-18:21:46.771979 10 Encoded PDU_SCCP_Address_ansi: '07FF3F0002077241737706'O
-18:21:46.773573 10 Random generator was initialized with seed 14.773216.
-18:21:46.774419 10 Function rnd() returned 0.171705.
-18:21:46.777342 10 Sent on MTP3sccp_PCO to 9 ASP_MTP3_TRANSFERreq_sccp {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 225,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0001'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
- }
-}
-18:21:46.797926 9 Received on MTP3sccpEncDec_PCO from 10 ASP_MTP3_TRANSFERreq_sccp {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 225,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0001'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
- }
-} id 1
-18:21:46.818423 9 Message with id 1 was extracted from the queue of MTP3sccpEncDec_PCO.
-18:21:46.819292 9 Encoding PDU_SCCP: {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 225,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0001'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
-}
-18:21:46.840033 9 Encoded PDU_SCCP: '11000F040F1AFB0B07FF3F00020772417375060B07FF3F0002077241737706E11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004812BF4DA'O
-18:21:46.841117 9 Sent on MTP3user_sccp_PCO to 8 ASP_MTP3_TRANSFERreq {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1AFB0B07FF3F00020772417375060B07FF3F0002077241737706E11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004812BF4DA'O
-}
-18:21:46.860927 8 Received on MTP_portA from 9 ASP_MTP3_TRANSFERreq {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1AFB0B07FF3F00020772417375060B07FF3F0002077241737706E11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004812BF4DA'O
-} id 1
-18:21:46.861875 8 Message with id 1 was extracted from the queue of MTP_portA.
-18:21:46.862805 8 Sent on MTP_portB to 11 ASP_MTP3_TRANSFERind {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1AFB0B07FF3F00020772417375060B07FF3F0002077241737706E11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004812BF4DA'O
-}
-18:21:46.864468 10 Sent on MTP3sccp_PCO to 9 ASP_MTP3_TRANSFERreq_sccp {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 75,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '0'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
- }
-}
-18:21:46.884418 9 Received on MTP3sccpEncDec_PCO from 10 ASP_MTP3_TRANSFERreq_sccp {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 75,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '0'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
- }
-} id 2
-18:21:46.885361 9 Message with id 2 was extracted from the queue of MTP3sccpEncDec_PCO.
-18:21:46.886556 9 Encoding PDU_SCCP: {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 0,
- pointer2 := 0,
- pointer3 := 0,
- pointer4 := 0,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 75,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '0'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
-}
-18:21:46.905406 9 Encoded PDU_SCCP: '11000F040F1A650B07FF3F00020772417375060B07FF3F00020772417377064B1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004002BF4DA'O
-18:21:46.906838 9 Sent on MTP3user_sccp_PCO to 8 ASP_MTP3_TRANSFERreq {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A650B07FF3F00020772417375060B07FF3F00020772417377064B1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004002BF4DA'O
-}
-18:21:46.907795 8 Received on MTP_portA from 9 ASP_MTP3_TRANSFERreq {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A650B07FF3F00020772417375060B07FF3F00020772417377064B1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004002BF4DA'O
-} id 2
-18:21:46.908539 8 Message with id 2 was extracted from the queue of MTP_portA.
-18:21:46.909214 8 Sent on MTP_portB to 11 ASP_MTP3_TRANSFERind {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A650B07FF3F00020772417375060B07FF3F00020772417377064B1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004002BF4DA'O
-}
-18:21:46.928654 10 Last remaining Segment:'0000'B
-18:21:46.930294 11 Received on MTP3user_sccp_PCO from 8 ASP_MTP3_TRANSFERind {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1AFB0B07FF3F00020772417375060B07FF3F0002077241737706E11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004812BF4DA'O
-} id 1
-18:21:46.931267 11 Received on MTP3user_sccp_PCO from 8 ASP_MTP3_TRANSFERind {
- sio := '83'O,
- opc := 16382,
- dpc := 16383,
- sls := 0,
- data := '11000F040F1A650B07FF3F00020772417375060B07FF3F00020772417377064B1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004002BF4DA'O
-} id 2
-18:21:46.932508 11 Starting function ScanRAWPorts()
-18:21:46.933526 11 Message with id 1 was extracted from the queue of MTP3user_sccp_PCO.
-18:21:46.934374 11 Decoding PDU_SCCP: '11000F040F1AFB0B07FF3F00020772417375060B07FF3F0002077241737706E11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004812BF4DA'O
-18:21:46.958297 11 Decoded PDU_SCCP: {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 251,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 225,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0001'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
-}
-18:21:46.960010 11 Sent on MTP3sccpEncDec_PCO to 12 PDU_SCCP_ExtUnitdata {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 251,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 225,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0001'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
-}
-18:21:46.979542 11 Message with id 2 was extracted from the queue of MTP3user_sccp_PCO.
-18:21:46.980311 11 Decoding PDU_SCCP: '11000F040F1A650B07FF3F00020772417375060B07FF3F00020772417377064B1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901004002BF4DA'O
-18:21:46.982225 11 Decoded PDU_SCCP: {
- extudata := {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 101,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 75,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '0'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
- }
-}
-18:21:47.002800 11 Sent on MTP3sccpEncDec_PCO to 12 PDU_SCCP_ExtUnitdata {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 101,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 75,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '0'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
-}
-18:21:47.004232 12 Port SCCP_PCO has established the connection with mtc:PCO_B.
-18:21:47.007365 12 Received on MTP3sccp_PCO from 11 PDU_SCCP_ExtUnitdata {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 251,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 225,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0001'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '1'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
-} id 1
-18:21:47.027803 12 Received on MTP3sccp_PCO from 11 PDU_SCCP_ExtUnitdata {
- messageType := xudt (17),
- protClass := {
- class := '0000'B,
- messageHandling := '0000'B
- },
- hopCounter := 15,
- pointer1 := 4,
- pointer2 := 15,
- pointer3 := 26,
- pointer4 := 101,
- calledPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737506'O
- },
- callingPAddress := {
- paramLength := 11,
- addr := '07FF3F0002077241737706'O
- },
- data := {
- paramLength := 75,
- data := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O
- },
- optionalPart := {
- segmentation := {
- paramName := con_SCCP_segm (16),
- paramLength := 4,
- remainingSegment := '0000'B,
- reserved := '00'B,
- class := '0'B,
- firstSegm := '0'B,
- segmLocalRef := '2BF4DA'O
- },
- importance := omit
- },
- eop := omit
-} id 2
-18:21:47.029096 12 Starting function SCCPStart( {
- own_GT := '14375760'H,
- remote_GT := '14377760'H,
- SSN := 2,
- SIO := '83'O,
- own_SPC := 16383,
- remote_SPC := 16382,
- SLS := 0,
- sccp_serviceType := "mtp3_ansi"
-} )
-18:21:47.049950 12 v_sccp_pdu_maxlen:265
-18:21:47.052171 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_Unitdata.
-18:21:47.053061 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_UnitdataService.
-18:21:47.053634 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionRequest.
-18:21:47.054301 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionConfirm.
-18:21:47.054874 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_Released.
-18:21:47.055523 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ProtDataUnitError.
-18:21:47.056867 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ReleaseComplete.
-18:21:47.057484 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_InactivityTest.
-18:21:47.058038 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ResetRequest.
-18:21:47.058620 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ResetConfirm.
-18:21:47.059177 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionRefused.
-18:21:47.059766 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_DataForm1.
-18:21:47.060612 12 Message with id 1 was extracted from the queue of MTP3sccp_PCO.
-18:21:47.061431 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_Unitdata.
-18:21:47.062036 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_UnitdataService.
-18:21:47.080392 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionRequest.
-18:21:47.081093 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionConfirm.
-18:21:47.081697 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_Released.
-18:21:47.082255 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ProtDataUnitError.
-18:21:47.082850 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ReleaseComplete.
-18:21:47.083413 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_InactivityTest.
-18:21:47.083998 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ResetRequest.
-18:21:47.084553 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ResetConfirm.
-18:21:47.085145 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_ConnectionRefused.
-18:21:47.085972 12 Receive operation on port MTP3sccp_PCO failed: Type of the first message in the queue is not PDU_SCCP_DataForm1.
-18:21:47.086667 12 Message with id 2 was extracted from the queue of MTP3sccp_PCO.
-18:21:47.087691 12 Decoding PDU_SCCP_Address_ansi: '07FF3F0002077241737506'O
-18:21:47.088831 12 Decoded PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
-}
-18:21:47.089819 12 Decoding PDU_SCCP_Address_ansi: '07FF3F0002077241737706'O
-18:21:47.096495 12 Decoded PDU_SCCP_Address_ansi: {
- addressIndicator := {
- ssnIndicator := '1'B,
- pointCodeIndic := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B,
- reserved := '0'B
- },
- signPointCode := {
- present := '000000000011111111111111'B
- },
- subsystemNumber := {
- present := 2
- },
- globalTitle := {
- gti0001 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
-}
-18:21:47.097820 12 Sent on SCCP_PCO to mtc N_UNITDATA_ind {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O,
- importance := omit
-}
-18:21:47.099690 mtc Received on PCO_B from 12 N_UNITDATA_ind {
- calledAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14375760'H
- }
- }
- },
- callingAddress := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },
- signPointCode := '000000000011111111111111'B,
- subsystemNumber := 2,
- globalTitle := {
- gti0011 := {
- translationType := '07'O,
- encodingScheme := '0010'B,
- numberingPlan := '0111'B,
- globalTitleAddress := '14377760'H
- }
- }
- },
- sequenceControl := '00000000'B,
- returnOption := '00000000'B,
- userData := '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'O,
- importance := omit
-} id 1
-18:21:47.101242 mtc Message with id 1 was extracted from the queue of PCO_B.
-18:21:47.101965 mtc Correct CalledAddress, CallingAddress and userData received, data are correct
-18:21:47.102580 mtc setverdict(pass): none -> pass
-18:21:47.103230 mtc Stop timer: 120 s
-18:21:47.103850 mtc termitate() started
-18:21:47.104464 mtc Stopping all components.
-18:21:47.106496 8 Stop was requested from MC.
-18:21:47.107164 8 Stopping test component execution.
-18:21:47.123129 8 Function MTPsim_EventHandler was stopped. PTC terminates.
-18:21:47.124103 8 Port MTP_portA was stopped.
-18:21:47.124749 8 Port MTP_portB was stopped.
-18:21:47.125610 8 Removing unterminated connection between ports MTP_portA and 9:MTP3user_sccp_PCO.
-18:21:47.127704 8 Removing unterminated connection between ports MTP_portB and 11:MTP3user_sccp_PCO.
-18:21:47.128884 8 Ports of component type MTPsim_CT were shut down.
-18:21:47.129510 8 getverdict: none
-18:21:47.131756 8 Disconnected from MC.
-18:21:47.131976 8 TTCN-3 Parallel Test Component finished.
-18:21:47.133209 9 Connection of port MTP3user_sccp_PCO to 8:MTP_portA is lost.
-18:21:47.135184 9 Port MTP3user_sccp_PCO was disconnected from 8:MTP_portA.
-18:21:47.136358 9 Stop was requested from MC.
-18:21:47.137032 9 Stopping test component execution.
-18:21:47.162489 9 Function ScanRAWPorts was stopped. PTC terminates.
-18:21:47.163557 9 Port MTP3sccpEncDec_PCO was stopped.
-18:21:47.164160 9 MTP3 Test Port (MTP3user_sccp_PCO): User stop ordered
-18:21:47.164766 9 Port MTP3user_sccp_PCO was stopped.
-18:21:47.165617 9 Removing unterminated connection between ports MTP3sccpEncDec_PCO and 10:MTP3sccp_PCO.
-18:21:47.167692 9 Ports of component type SCCP_EncDec_comptype were shut down.
-18:21:47.168343 9 getverdict: none
-18:21:47.170258 9 Disconnected from MC.
-18:21:47.170470 9 TTCN-3 Parallel Test Component finished.
-18:21:47.171868 10 Connection of port MTP3sccp_PCO to 9:MTP3sccpEncDec_PCO is lost.
-18:21:47.173933 10 Port MTP3sccp_PCO was disconnected from 9:MTP3sccpEncDec_PCO.
-18:21:47.174646 10 Stop was requested from MC.
-18:21:47.175246 10 Stopping test component execution.
-18:21:47.200504 10 Function SCCPStart was stopped. PTC terminates.
-18:21:47.201545 10 Port MTP3sccp_PCO was stopped.
-18:21:47.202136 10 Port SCCP_PCO was stopped.
-18:21:47.203172 10 Removing unterminated connection between ports SCCP_PCO and mtc:PCO_A.
-18:21:47.204521 mtc Connection of port PCO_A to 10:SCCP_PCO is lost.
-18:21:47.206622 mtc Port PCO_A was disconnected from 10:SCCP_PCO.
-18:21:47.207704 10 Ports of component type SCCP_comptype were shut down.
-18:21:47.208293 10 getverdict: none
-18:21:47.210197 10 Disconnected from MC.
-18:21:47.210401 10 TTCN-3 Parallel Test Component finished.
-18:21:47.211716 11 Connection of port MTP3user_sccp_PCO to 8:MTP_portB is lost.
-18:21:47.213172 11 Port MTP3user_sccp_PCO was disconnected from 8:MTP_portB.
-18:21:47.214488 11 Stop was requested from MC.
-18:21:47.215141 11 Stopping test component execution.
-18:21:47.240282 11 Function ScanRAWPorts was stopped. PTC terminates.
-18:21:47.241361 11 Port MTP3sccpEncDec_PCO was stopped.
-18:21:47.241973 11 MTP3 Test Port (MTP3user_sccp_PCO): User stop ordered
-18:21:47.242584 11 Port MTP3user_sccp_PCO was stopped.
-18:21:47.243436 11 Removing unterminated connection between ports MTP3sccpEncDec_PCO and 12:MTP3sccp_PCO.
-18:21:47.244858 11 Ports of component type SCCP_EncDec_comptype were shut down.
-18:21:47.245503 11 getverdict: none
-18:21:47.247937 11 Disconnected from MC.
-18:21:47.248146 11 TTCN-3 Parallel Test Component finished.
-18:21:47.249639 12 Connection of port MTP3sccp_PCO to 11:MTP3sccpEncDec_PCO is lost.
-18:21:47.251689 12 Port MTP3sccp_PCO was disconnected from 11:MTP3sccpEncDec_PCO.
-18:21:47.252406 12 Stop was requested from MC.
-18:21:47.252990 12 Stopping test component execution.
-18:21:47.344052 12 Function SCCPStart was stopped. PTC terminates.
-18:21:47.345109 12 Port MTP3sccp_PCO was stopped.
-18:21:47.346393 12 Port SCCP_PCO was stopped.
-18:21:47.347503 12 Removing unterminated connection between ports SCCP_PCO and mtc:PCO_B.
-18:21:47.348853 mtc Connection of port PCO_B to 12:SCCP_PCO is lost.
-18:21:47.350357 mtc Port PCO_B was disconnected from 12:SCCP_PCO.
-18:21:47.351354 12 Ports of component type SCCP_comptype were shut down.
-18:21:47.351934 12 getverdict: none
-18:21:47.352955 mtc All components were stopped.
-18:21:47.353582 mtc Disconnecting ports 9:MTP3user_sccp_PCO and 8:MTP_portA.
-18:21:47.354590 mtc Disconnect operation finished.
-18:21:47.355197 mtc Disconnecting ports 10:MTP3sccp_PCO and 9:MTP3sccpEncDec_PCO.
-18:21:47.356662 mtc Disconnect operation finished.
-18:21:47.357283 mtc Disconnecting ports mtc:PCO_A and 10:SCCP_PCO.
-18:21:47.358282 mtc Disconnect operation finished.
-18:21:47.358890 mtc Disconnecting ports 11:MTP3user_sccp_PCO and 8:MTP_portB.
-18:21:47.359898 mtc Disconnect operation finished.
-18:21:47.360508 mtc Disconnecting ports 12:MTP3sccp_PCO and 11:MTP3sccpEncDec_PCO.
-18:21:47.361519 mtc Disconnect operation finished.
-18:21:47.362127 mtc Disconnecting ports mtc:PCO_B and 12:SCCP_PCO.
-18:21:47.363126 mtc Disconnect operation finished.
-18:21:47.363708 mtc all components stopped
-18:21:47.364307 mtc Stopping test component execution.
-18:21:47.365131 mtc Test case tc_ConnlessSendingLongASP was stopped.
-18:21:47.366208 mtc Port PCO_A was stopped.
-18:21:47.366555 mtc Port PCO_B was stopped.
-18:21:47.368393 mtc Ports of component type MTC_CT were shut down.
-18:21:47.368667 mtc Waiting for PTCs to finish.
-18:21:47.370662 mtc Setting final verdict of the test case.
-18:21:47.371019 mtc Local verdict of MTC: pass
-18:21:47.371339 mtc Local verdict of PTC with component reference 8: none (pass -> pass)
-18:21:47.371635 mtc Local verdict of PTC with component reference 9: none (pass -> pass)
-18:21:47.371948 mtc Local verdict of PTC with component reference 10: none (pass -> pass)
-18:21:47.372245 mtc Local verdict of PTC with component reference 11: none (pass -> pass)
-18:21:47.372560 mtc Local verdict of PTC with component reference 12: none (pass -> pass)
-18:21:47.372855 mtc Test case tc_ConnlessSendingLongASP finished. Verdict: pass
-18:21:47.402761 12 Disconnected from MC.
-18:21:47.402997 12 TTCN-3 Parallel Test Component finished.
-18:22:04.264666 mtc Verdict statistics: 0 none (0.00 %), 2 pass (100.00 %), 0 inconc (0.00 %), 0 fail (0.00 %), 0 error (0.00 %).
-18:22:04.265451 mtc Test execution summary: 2 test cases were executed. Overall verdict: pass.
-18:22:04.266260 mtc Exit was requested from MC. Terminating MTC.
-18:22:04.269127 mtc Disconnected from MC.
-18:22:04.269382 mtc TTCN-3 Main Test Component finished.
-18:22:04.270509 hc Test component with component reference 12 finished. Process statistics: {
- process id: 25843,
- exit status: 0,
- user time: 0.020000 s,
- system time: 0.070000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:22:04.271775 hc Test component with component reference 11 finished. Process statistics: {
- process id: 25842,
- exit status: 0,
- user time: 0.020000 s,
- system time: 0.030000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:22:04.272732 hc Test component with component reference 10 finished. Process statistics: {
- process id: 25841,
- exit status: 0,
- user time: 0.010000 s,
- system time: 0.040000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:22:04.274094 hc Test component with component reference 9 finished. Process statistics: {
- process id: 25840,
- exit status: 0,
- user time: 0.020000 s,
- system time: 0.020000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:22:04.301155 hc Test component with component reference 1 finished. Process statistics: {
- process id: 25833,
- exit status: 0,
- user time: 0.050000 s,
- system time: 0.100000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:22:04.302181 hc Test component with component reference 8 finished. Process statistics: {
- process id: 25839,
- exit status: 0,
- user time: 0.020000 s,
- system time: 0.030000 s,
- maximum resident set size: 0,
- integral resident set size: 0,
- page faults not requiring physical I/O: 0,
- page faults requiring physical I/O: 0,
- swaps: 0,
- block input operations: 0,
- block output operations 0,
- messages sent: 0,
- messages received: 0,
- signals received: 0,
- voluntary context switches: 0,
- involuntary context switches: 0
-}
-18:22:04.303133 hc Exit was requested from MC. Terminating HC.
-18:22:04.314953 hc Disconnected from MC.
-18:22:04.315230 hc TTCN-3 Host Controller finished on duna199.
diff --git a/SCCP_CNL113341/demo/SCCP_Emulation.ttcn b/SCCP_CNL113341/demo/SCCP_Emulation.ttcn
deleted file mode 120000
index fae960598..000000000
--- a/SCCP_CNL113341/demo/SCCP_Emulation.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../src/SCCP_Emulation.ttcn
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/SCCP_Mapping.ttcnpp b/SCCP_CNL113341/demo/SCCP_Mapping.ttcnpp
deleted file mode 120000
index aabd0d400..000000000
--- a/SCCP_CNL113341/demo/SCCP_Mapping.ttcnpp
+++ /dev/null
@@ -1 +0,0 @@
-../src/SCCP_Mapping.ttcnpp
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/SCCP_Testcases.cfg b/SCCP_CNL113341/demo/SCCP_Testcases.cfg
deleted file mode 100644
index ae1c4724c..000000000
--- a/SCCP_CNL113341/demo/SCCP_Testcases.cfg
+++ /dev/null
@@ -1,55 +0,0 @@
-[LOGGING]
-#FileName := "SCCP_selftest.cfg"
-FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-#ConsoleMask := LOG_ALL
-#ConsoleMask := TTCN_TESTCASE | TTCN_PORTEVENT | TTCN_DEBUG | TTCN_MATCHING
-#ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_PORTEVENT
-#ConsoleMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-LogSourceInfo := Yes
-
-[EXECUTE]
-#SCCP_selftest.tc_ConnlessSendingShortASP
-#SCCP_selftest.tc_ConnlessSendingLongASP
-#SCCP_selftest.tc_ConnOrientedShortASPSending
-#SCCP_Testcases.tc_ConnlessSendingLongASP
-SCCP_Testcases.tc_ConnOrientedShortASPSending
-
-[TESTPORT_PARAMETERS]
-// *******************************************************
-// * DO NOT FORGET TO SET THE FOLLOWING TWO LINE TO YOUR SEA *
-// *******************************************************
-system.*.Hostname := "karasea" //sea server name
-system.*.HttpPort := "5001" //sea http port
-system.*.IID_String := "b303d76a-266c-11d4-b8f5-08002090d3da"
- //Device Type ID
-system.*.Loop:= "OFF"
-system.*.Filter:= "OFF"
-system.*.MTP3ServiceType := "MTP3ttc" // ["MTP3itu" (default)|"MTP3ansi" | "M3UA" |"MTP3tcc]
-
-// CMGW6 -> SCTP_ASSOC_10.2.110.102
-// CMGW3 data: SCTP_ASSOC_10.2.110.2
-system.CMGW6.EntityName := "SAALH-0" //"S7ST-0" //device name to connect
-system.CMGW6.NI := "2"
-system.CMGW6.SUT_Pc := "2300"
-system.CMGW6.TESTER_Pc := "2351"
-system.CMGW6.M3UA_version:= "1"
-
-[MODULE_PARAMETERS]
-tsp_own_GT := '14377760'H
-tsp_remote_GT := '14375760'H
-tsp_SSN := 8 //8:MSC 5:MAP see 3.4.2.2/Q.713
-tsp_SIO := '83'O //SCCP national
-tsp_own_SPC := 2351
-tsp_remote_SPC := 2300// max value on 14 bits
-tsp_SLS := 0
-#[tsp_sccp_serviceType := "mtp3_itu" |"mtp3b_itu"|"mtp3_ansi"|"mtp3b_ansi"| "mtp3b_tcc"]
-tsp_sccp_serviceType := "mtp3_ttc"
-
-#for mtp3_itu/gti0011 or mtp3_ansi/gti0001 :
-#tsp_translationType := 7
-tsp_SIF_MaxLength := 272
-tsp_force_xudt := 0 // 1:yes, 0:no
-
-[MAIN_CONTROLLER]
-TCPPort := 7145
-NumHCs := 1
diff --git a/SCCP_CNL113341/demo/SCCP_Testcases.ttcn b/SCCP_CNL113341/demo/SCCP_Testcases.ttcn
deleted file mode 100644
index 0f8ba47c3..000000000
--- a/SCCP_CNL113341/demo/SCCP_Testcases.ttcn
+++ /dev/null
@@ -1,468 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-//
-// Copyright Test Competence Center (TCC) ETH 2007
-//
-//
-//
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied
-//
-//
-//
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: SCCP_TestCases.ttcn
-// Description: SS7 SCCP basic SEA test
-// according to specification ITU-T SS7 SCCP, ANSI ..., TCC ...
-// References: ITU-T: Recommendation Q.711-Q.714,
-// ANSI T1.112-2001,
-// TCC
-// Rev:
-// Updated: 2007.04.12
-// Contact: http://ttcn.ericsson.se
-//
-
-module SCCP_Testcases
-{//startmodule
-
-modulepar
-{
- hexstring tsp_own_GT := '0614377760'H;
- hexstring tsp_remote_GT := '0614375760'H;
- integer tsp_SSN := 2; //8:MSC 5:MAP see 3.4.2.2/Q.713
- octetstring tsp_SIO := '83'O;//SCCP national
- integer tsp_own_SPC := 461087; // =0x07091E
- integer tsp_remote_SPC := 461086; // =0x07091D
- integer tsp_SLS := 0;
- charstring tsp_sccp_serviceType := "mtp3_itu";
-
- octetstring MTP3_UserPart_SIO;
- integer MTP3_UserPart_OPC,
- MTP3_UserPart_DPC,
- MTP3_UserPart_SLS
-}//modulepar
-
-import from General_Types all;
-
-import from MTP3asp_Types all;
-import from MTP3asp_PortType all;
-
-import from SCCPasp_Types all;
-import from SCCP_Types all;
-import from SCCP_Emulation all;
-
-/*************************************
-* Components
-**************************************/
-
-
-// Model of MSC:
-type component MSC_ST {
- port MTP3asp_SP_PT CMGW6;
- //port MTP3asp_PT CMGW6;
-};
-
-
-// Main test component with behaviour SCCPuserA andSCCPuserB
-type component MTC_CT {
- var SCCP_PAR_Address v_CalledAddress, v_CallingAddress;
- var integer v_testvalue;
- var SCCP_CT vc_SCCP_A ;
- var MSC_SCCP_MTP3_parameters v_BootA;
- var SCCP_PAR_Connection_Id v_cid_A ;
-
- port SCCPasp_PT A_PORT; //SCCPuserA
-}
-
-function initBootParams() runs on MTC_CT
-{
- v_BootA :=
- { sio:=
- { ni:= substr(oct2bit(tsp_SIO),0,2),
- prio:= substr(oct2bit(tsp_SIO),2,2),
- si:= substr(oct2bit(tsp_SIO),4,4)
- },
- opc:=tsp_own_SPC,
- dpc:=tsp_remote_SPC,
- sls:=tsp_SLS,
- sccp_serviceType:=tsp_sccp_serviceType,
- ssn:= tsp_SSN
- };
- return;
-} //initBootParams
-
-function init() runs on MTC_CT //system MSC_ST
-{
- initBootParams();
- log("v_BootA:",v_BootA);
-
- // Protocol Stack A creation & connections:
- vc_SCCP_A:=SCCP_CT.create;
- map(vc_SCCP_A:MTP3_SCCP_PORT,system:CMGW6);
- connect(self:A_PORT,vc_SCCP_A:SCCP_SP_PORT);
-
- vc_SCCP_A.start( SCCPStart( v_BootA ) ); // Bootparameters
-
-
- log( "init() is done");
-
-}// init
-
-function terminate( ) runs on MTC_CT //system MSC_ST
-{
- log( "termitate() started");
- /*while( all component.running != true )
- {
- //waits
- }*/
- all component.stop;
- unmap(vc_SCCP_A:MTP3_SCCP_PORT,system:CMGW6);
- disconnect(self:A_PORT,vc_SCCP_A:SCCP_SP_PORT);
-
- log(" all components stopped");
- self.stop;
-} //terminate
-
-// function getOddEven returns '0'
-// if even number of dec digit can be found in GT see Q.713
-function getOddEven( in hexstring pl_GT) return bitstring
-{
- return int2bit( (lengthof(pl_GT) mod 2) ,1);
-}
-
-function getOddEven_ansi( in hexstring pl_GT) return bitstring
-{
- if( (lengthof(pl_GT) mod 2) == 0 ) { return '0010'B;} //even
- else { return '0001'B;} //odd
-}
-
-//******************************************************************
-//function setAddresses_gti0001() runs on MTC_CT
-// Sets CalledAddress and CallingAddress as a gti001-type address
-// according to the cfg file.
-//******************************************************************
-
-function setAddresses_gti0001() runs on MTC_CT
-{
- if( (tsp_sccp_serviceType == "mtp3_itu") or
- (tsp_sccp_serviceType == "mtp3b_itu") or
- (tsp_sccp_serviceType == "mtp3_ttc") or
- (tsp_sccp_serviceType == "mtp3b_ttc")
- ) {
- v_CalledAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_remote_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle := {
- gti0001:= {
- natureOfAddress := '0000011'B,
- oddeven := getOddEven( tsp_remote_GT ),
- globalTitleAddress := tsp_remote_GT
- }
- }//globalTitle
- } // v_CalledAddress
-
- v_CallingAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_own_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle:= {
- gti0001 := {
- natureOfAddress := '0000011'B,
- oddeven := getOddEven( tsp_own_GT ),
- globalTitleAddress := tsp_own_GT
- }
- }//globalTitle
- } // v_CallingAddress
-
- } else if(
- (tsp_sccp_serviceType == "mtp3_ansi") or
- (tsp_sccp_serviceType == "mtp3b_ansi")
- ) {
-
- v_CalledAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_remote_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle := {
- gti0011:= {
- translationType := int2oct(7,1),
- encodingScheme := getOddEven_ansi( tsp_remote_GT ),
- numberingPlan := '0111'B, //ISDN/mobile numbering plan, see T1.112.3-2001/3.4.2.3.1
- globalTitleAddress:= tsp_remote_GT
- }
- }//globalTitle
- } // v_CalledAddress
-
- v_CallingAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_remote_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle := {
- gti0011:= {
- translationType := int2oct(7,1),
- encodingScheme := getOddEven_ansi( tsp_own_GT ),
- numberingPlan := '0111'B, //ISDN/mobile numbering plan, see T1.112.3-2001/3.4.2.3.1
- globalTitleAddress:= tsp_own_GT
- }
- }//globalTitle
- } // v_CallingAddress
- }//if
-
-}//setAddresses_gti001
-
-function f_SendAndReceive1N_UNITDATA(in octetstring pl_userdata) runs on MTC_CT
-{
- var ASP_SCCP_N_UNITDATA_ind vl_N_UNITDATA_ind;
- timer TL_timer:= 120.0;
- TL_timer.start;
- A_PORT.send( t_ASP_N_UNITDATA_req( v_CalledAddress,
- v_CallingAddress,
- '00000001'B, //sequence control
- '00000001'B, //return option
- pl_userdata,
- omit ) );
- alt {
- [] A_PORT.receive( tr_ASP_N_UNITDATA_ind ) -> value vl_N_UNITDATA_ind
- {
-
- if( (vl_N_UNITDATA_ind.calledAddress == v_CalledAddress ) and
- (vl_N_UNITDATA_ind.callingAddress == v_CallingAddress) and
- (vl_N_UNITDATA_ind.userData == pl_userdata) )
- {
- log("Correct CalledAddress, CallingAddress and userData received, data are correct");
- setverdict(pass);
- }
- else
- {
- log("Some data corrupted");
- setverdict( fail );
- }
- };
- [] TL_timer.timeout
- {
- setverdict( fail );
- log("Timeout....");
- };
- } //alt
- TL_timer.stop;
-}//f_SendAndReceive1N_UNITDATA
-
-/****************************************************
-Connection Oriented Part
-****************************************************/
-
-/****************************************************
-function f_connect
-Establishes a connection
-(Sends an ASP_SCCP_N_CONNECT_req on A_PORT and waits for
-N_CONNECT_ind on B_PORT. If it is received,
-it sends back an ASP_SCCP_N_CONNECT_res on B_PORT and waits for
-N_CONNECT_cfm on A_PORT)
-****************************************************/
-function f_connect() runs on MTC_CT return boolean
-{
- var ASP_SCCP_N_CONNECT_ind vl_N_CONNECT_ind;
- var ASP_SCCP_N_CONNECT_cfm vl_N_CONNECT_cfm;
- setverdict(none);
- v_cid_A := 13;
- timer TL_timer:= 120.0;
- TL_timer.start;
-
- A_PORT.send( t_ASP_N_CONNECT_req( v_CalledAddress,
- v_CallingAddress,
- omit, //expeditedDataSel
- omit, //QoS
- omit, //userData
- v_cid_A,
- omit //importance
- ) );
-
- alt {
- [] A_PORT.receive( tr_ASP_N_CONNECT_cfm ) -> value vl_N_CONNECT_cfm
- {
- setverdict( pass );
- log("f_connect finished successfully");
- return true;
- }
- [] TL_timer.timeout
- {
- setverdict( fail );
- log("Timeout....");
- return false;
- }
- }// alt
- log("f_connect finished");
- return false;
-}//f_connect
-
-/****************************************************
-function f_send
-Sends an ASP_SCCP_N_DATA_req on A_PORT and waits for answer in
-A_PORT
-****************************************************/
-function f_send(in octetstring pl_userdata) runs on MTC_CT
-{
- timer TL_timer:= 120.0;
- TL_timer.start;
- A_PORT.send( t_ASP_N_DATA_req ( pl_userdata, v_cid_A, omit) ) ;
- alt {
- [] A_PORT.receive
- {
- setverdict( pass );
- log("f_connect finished successfully");
-
- }
- [] TL_timer.timeout
- {
- setverdict( fail );
- log("Timeout....");
-
- }
-
- } //alt
-}//f_send
-
-//f_disconnect with timeout
-
-function f_disconnect( ) runs on MTC_CT
-{
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- timer TL_timer:= 25.0;
- TL_timer.start;
- A_PORT.send( t_ASP_N_DISCONNECT_req( omit, // respondingAddress
- 0, //reason : end user originated, see 3.11/Q.713
- omit, //userData
- v_cid_A,
- omit ))
- alt {
-
- [] A_PORT.receive
- {
- repeat;
- }
- [] TL_timer.timeout
- {
- setverdict( pass );
- log("Timeout....");
- };
- }//alt
-
-
-}//f_disconnect
-
-//===================================================
-// Testcases
-//===================================================
-
-/****************************************************
-tc_ConnlessSendingShortASP
-Sends a 300 octet long userdata in one ASP_SCCP_N_UNITDATA_req
-and receives it in one ASP_SCCP_N_UNITDATA_req.
-SCCP transfers information
-in udp or (forced) xudp packets.
-****************************************************/
-testcase tc_ConnlessSendingShortASP() runs on MTC_CT
-{
- var octetstring vl_userdata;
- init();
- setAddresses_gti0001();
- vl_userdata :='12345678901234567890'O;
- f_SendAndReceive1N_UNITDATA( vl_userdata );
- terminate();
- } //tc_ConnlessSendingShortASP
-
-/****************************************************
- tc_ConnlessSendingLongASP
- Sends a 300 octet long userdata in one ASP_SCCP_N_UNITDATA_req
- and receives it in one ASP_SCCP_N_UNITDATA_req.
- It is used for segmentation and reassembly.
- SCCP transfers information
-in xudp packets
-****************************************************/
-testcase tc_ConnlessSendingLongASP() runs on MTC_CT system MSC_ST
-{
- var octetstring vl_userdata;
- var integer vl_i;
- init();
- setAddresses_gti0001();
- vl_userdata := ''O;
- for(vl_i:=0;vl_i<30;vl_i:=vl_i+1) {
- vl_userdata := vl_userdata &'12345678901234567890'O;
- }
- f_SendAndReceive1N_UNITDATA( vl_userdata );
- terminate();
-}//tc_ConnlessSendingLongASP
-
-/****************************************************
-tc_ConnOrientedShortASPSending
-****************************************************/
-testcase tc_ConnOrientedShortASPSending() runs on MTC_CT system MSC_ST
-{
- var octetstring vl_userdata;
- init();
- setAddresses_gti0001();
- vl_userdata := '12345678901234567890'O;
- if(f_connect())
- {
- f_send(vl_userdata);
- f_disconnect();
- }
- terminate();
-}
-/****************************************************
-tc_ConnOrientedLongASPSending
-****************************************************/
-testcase tc_ConnOrientedLongASPSending() runs on MTC_CT
-{
- var octetstring vl_userdata;
- var integer vl_i;
- init();
- setAddresses_gti0001();
- vl_userdata := ''O;
- for(vl_i:=0;vl_i<30;vl_i:=vl_i+1) {
- vl_userdata := vl_userdata &'12345678901234567890'O;
- }
- if(f_connect())
- {
- f_send(vl_userdata);
- //f_SendAndReceive1N_UNITDATA( vl_userdata );
- f_disconnect();
- }
- terminate();
-}
-/****************************************************
- CONTROL
-****************************************************/
-control
-{
- execute( tc_ConnlessSendingShortASP() );
- execute( tc_ConnlessSendingLongASP() );
- execute( tc_ConnOrientedShortASPSending());
- execute( tc_ConnOrientedLongASPSending());
-}
-
-}//module
diff --git a/SCCP_CNL113341/demo/SCCP_Types.ttcn b/SCCP_CNL113341/demo/SCCP_Types.ttcn
deleted file mode 120000
index 9aa343b89..000000000
--- a/SCCP_CNL113341/demo/SCCP_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../src/SCCP_Types.ttcn
\ No newline at end of file
diff --git a/SCCP_CNL113341/demo/SCCP_selftest.cfg b/SCCP_CNL113341/demo/SCCP_selftest.cfg
deleted file mode 100644
index 67e0762d1..000000000
--- a/SCCP_CNL113341/demo/SCCP_selftest.cfg
+++ /dev/null
@@ -1,52 +0,0 @@
-[LOGGING]
-#FileName := "SCCP_selftest.cfg"
-FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-#ConsoleMask := LOG_ALL
-ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_PORTEVENT
-#ConsoleMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING
-#LogFile := "My.log"
-#TimeStampFormat := Time
-LogSourceInfo := Yes
-
-[EXECUTE]
-SCCP_selftest.tc_ConnlessSendingShortASP
-#SCCP_selftest.tc_ConnlessSendingLongASP
-[TESTPORT_PARAMETERS]
-// *******************************************************
-// * DO NOT FORGET TO SET THE FOLLOWING TWO LINE TO YOUR SEA *
-// *******************************************************
-system.*.Hostname := "karasea" //sea server name
-system.*.HttpPort := "5000" //sea http port
-system.*.IID_String := "b303d76a-266c-11d4-b8f5-08002090d3da"
- //Device Type ID
-system.*.Loop:= "ON"
-system.*.Filter:= "OFF"
-system.*.MTP3ServiceType := "MTP3ttc" //"MTP3itu" ["MTP3itu" (default)|"MTP3ansi" | "M3UA" | "MTP3ttc" ]
-
-// CMGW6 -> SCTP_ASSOC_10.2.110.102
-// CMGW3 data: SCTP_ASSOC_10.2.110.2
-system.CMGW6.EntityName := "S7ST-0" //device name to connect
-system.CMGW6.NI := "2"
-system.CMGW6.SUT_Pc:= "461086" // 07-09-30 =0x07091E see command: s7stp:st=s7stg-0&&-32;
-system.CMGW6.TESTER_Pc:= "461087" //07-09-31=0x07091F
-system.CMGW6.M3UA_version:= "1"
-
-[MODULE_PARAMETERS]
-//for sccp:
-tsp_own_GT := '14377760'H
-tsp_remote_GT := '14375760'H
-tsp_SSN := 2 //8:MSC 5:MAP see 3.4.2.2/Q.713
-tsp_SIO := '03'O //SCCP national
-tsp_own_SPC := 2351 //16382
-tsp_remote_SPC := 2300 //16383 // max value on 14 bits
-#tsp_own_SPC := 461087 // =0x07091E
-#tsp_remote_SPC := 461086 // =0x07091D
-tsp_SLS := 0
-#tsp_sccp_serviceType := "mtp3_itu"
-#tsp_sccp_serviceType := "mtp3_ansi"
-tsp_sccp_serviceType := "mtp3_ttc"
-
-#for mtp3_itu/gti0011 or mtp3_ansi/gti0001 :
-#tsp_translationType := 7
-tsp_SIF_MaxLength := 272
-tsp_force_xudt := 1 // 1:yes, 0:no
diff --git a/SCCP_CNL113341/demo/SCCP_selftest.ttcn b/SCCP_CNL113341/demo/SCCP_selftest.ttcn
deleted file mode 100644
index c6497045f..000000000
--- a/SCCP_CNL113341/demo/SCCP_selftest.ttcn
+++ /dev/null
@@ -1,607 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-//
-// Copyright Test Competence Center (TCC) ETH 2007
-//
-//
-//
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied
-//
-//
-//
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: SCCP_selftest.ttcn
-// Description: SS7 SCCP basic test
-// according to specification ITU-T SS7 SCCP, ANSI ..., TCC ...
-// References: ITU-T: Recommendation Q.711-Q.714,
-// ANSI ,
-// TCC
-// Rev:
-// Updated: 2007-04.12
-// Contact: http://ttcn.ericsson.se
-//
-
-module SCCP_selftest
-{//startmodule
-
-modulepar
-{
- hexstring tsp_own_GT := '0614377760'H;
- hexstring tsp_remote_GT := '0614375760'H;
- integer tsp_SSN := 2; //8:MSC 5:MAP see 3.4.2.2/Q.713
- octetstring tsp_SIO := '83'O;//SCCP national
- integer tsp_own_SPC := 461087; // =0x07091E
- integer tsp_remote_SPC := 461086; // =0x07091D
- integer tsp_SLS := 0;
- charstring tsp_sccp_serviceType := "mtp3_itu"
-}//modulepar
-
-import from General_Types all;
-
-import from MTP3asp_Types all;
-import from MTP3asp_PortType all;
-
-import from SCCPasp_Types all;
-import from SCCP_Types all;
-import from SCCP_Emulation all;
-
-
-//==================================================================
-// MTPsim component
-// Description: Simulates two MTP stacks for two MTP3-User
-// to implement this configuration:
-// MTPsim includes MTP3/1 and MTP3/2
-// MTPsim only receives TRANSFER_req and sends TRANSFER_ind
-// with the same content
-// +----------+ +----------+
-// |SCCP-userA| <--->|SCCP-userB| = MTC
-// +----------+ +----------+
-// | A | B
-// +----------+ +----------+
-// | SCCP A | <--->| SCCP B |
-// +----------+ +----------+
-// | A | B
-// +-----------------------------+
-// | MTP3 1. | MTP3 2.| = MTP3sim
-// +----------------------------+
-//
-//==================================================================
-
-group MTPsim
-{
-
-
-type component MTPsim_CT {
- port MTP3asp_SP_PT MTP_A_PORT
- port MTP3asp_SP_PT MTP_B_PORT
-}
-
-function MTPsim_EventHandler( ) runs on MTPsim_CT
-{
- var ASP_MTP3_TRANSFERreq vl_MTP3_TRANSFERreq;
- var ASP_MTP3_TRANSFERind vl_MTP3_TRANSFERind
- alt{
- [] MTP_A_PORT.receive( ASP_MTP3_TRANSFERreq:? ) -> value vl_MTP3_TRANSFERreq
-
- {
- MTP_B_PORT.send( t_ASP_MTP3_TRANSFERind(
- vl_MTP3_TRANSFERreq.sio,
- vl_MTP3_TRANSFERreq.opc,
- vl_MTP3_TRANSFERreq.dpc,
- vl_MTP3_TRANSFERreq.sls,
- vl_MTP3_TRANSFERreq.data ) ) ;
- repeat;
- }//A.receive
- [] MTP_B_PORT.receive( ASP_MTP3_TRANSFERreq:? ) -> value vl_MTP3_TRANSFERreq
-
- {
- MTP_A_PORT.send( t_ASP_MTP3_TRANSFERind (
- vl_MTP3_TRANSFERreq.sio,
- vl_MTP3_TRANSFERreq.opc,
- vl_MTP3_TRANSFERreq.dpc,
- vl_MTP3_TRANSFERreq.sls,
- vl_MTP3_TRANSFERreq.data ));
- repeat;
- }//B.receive
-
- }//alt
-
-} //MTPsim_EventHandler
-
-}//group MTPsim
-
-// Main test component with behaviour SCCPuserA andSCCPuserB
-type component MTC_CT {
- var SCCP_PAR_Address v_CalledAddress, v_CallingAddress;
- var integer v_testvalue;
- var MTPsim_CT vc_MTPsim;
- var SCCP_CT vc_SCCP_A, vc_SCCP_B;
- var MSC_SCCP_MTP3_parameters v_BootA;
- var MSC_SCCP_MTP3_parameters v_BootB;
- var SCCP_PAR_Connection_Id v_cid_A, v_cid_B;
-
- port SCCPasp_PT A_PORT; //SCCPuserA
- port SCCPasp_PT B_PORT //SCCPuserB
-
-}
-
-function initBootParams() runs on MTC_CT
-{
- v_BootA :=
- { sio:=
- { ni:= substr(oct2bit(tsp_SIO),0,2),
- prio:= substr(oct2bit(tsp_SIO),2,2),
- si:= substr(oct2bit(tsp_SIO),4,4)
- },
- opc:=tsp_own_SPC,
- dpc:=tsp_remote_SPC,
- sls:=tsp_SLS,
- sccp_serviceType:=tsp_sccp_serviceType,
- ssn:= tsp_SSN
- };
-
- v_BootB :=
- { sio:=
- { ni:= substr(oct2bit(tsp_SIO),0,2),
- prio:= substr(oct2bit(tsp_SIO),2,2),
- si:= substr(oct2bit(tsp_SIO),4,4)
- },
- opc:=tsp_remote_SPC,
- dpc:=tsp_own_SPC,
- sls:=tsp_SLS,
- sccp_serviceType:=tsp_sccp_serviceType,
- ssn:= tsp_SSN
- };
- return;
-} //initBootParams
-function init() runs on MTC_CT
-{
-
-
- initBootParams();
- log("v_BootA:",v_BootA);
- log("v_BootB: ",v_BootB);
- vc_MTPsim:= MTPsim_CT.create;
-
- // Protocol Stack A creation & connections:
- vc_SCCP_A:=SCCP_CT.create;
- connect(vc_SCCP_A:MTP3_SCCP_PORT,vc_MTPsim:MTP_A_PORT);
- connect(self:A_PORT,vc_SCCP_A:SCCP_SP_PORT);
-
- // Protocol Stack B creation & connections:
- vc_SCCP_B:=SCCP_CT.create;
- connect(vc_SCCP_B:MTP3_SCCP_PORT,vc_MTPsim:MTP_B_PORT);
- connect(self:B_PORT,vc_SCCP_B:SCCP_SP_PORT);
-
- // Start stacks:
- vc_MTPsim.start( MTPsim_EventHandler() );
-
- vc_SCCP_A.start( SCCPStart( v_BootA ) ); // Bootparameters !!! cont here!!!
-
- vc_SCCP_B.start( SCCPStart(v_BootB));
- log( "init() is done");
-
-}// init
-
-function terminate( ) runs on MTC_CT
-{
- log( "termitate() started");
- /*while( all component.running != true )
- {
- //waits
- }*/
- all component.stop;
- disconnect(vc_SCCP_A:MTP3_SCCP_PORT, vc_MTPsim:MTP_A_PORT);
- disconnect(self:A_PORT,vc_SCCP_A:SCCP_SP_PORT);
-
- disconnect(vc_SCCP_B:MTP3_SCCP_PORT,vc_MTPsim:MTP_B_PORT);
- disconnect(self:B_PORT,vc_SCCP_B:SCCP_SP_PORT);
- log(" all components stopped");
- self.stop;
-} //terminate
-
-// function getOddEven returns '0'
-// if even number of dec digit can be found in GT see Q.713
-function getOddEven( in hexstring pl_GT) return bitstring
-{
- return int2bit( (lengthof(pl_GT) mod 2) ,1);
-}
-
-function getOddEvenEnc( in hexstring pl_GT) return bitstring
-{
- if( (lengthof(pl_GT) mod 2) == 0 ) { return '0010'B;} //even
- else { return '0001'B;} //odd
-}
-
-//******************************************************************
-//function setAddresses_gti0001() runs on MTC_CT
-// Sets CalledAddress and CallingAddress as a gti001-type address
-// according to the cfg file.
-//******************************************************************
-
-function setAddresses_gti0001() runs on MTC_CT
-{
- if( (tsp_sccp_serviceType == "mtp3_itu") or
- (tsp_sccp_serviceType == "mtp3b_itu") or
- (tsp_sccp_serviceType == "mtp3_ttc") or
- (tsp_sccp_serviceType == "mtp3b_ttc")
- ) {
- v_CalledAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_remote_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP_Emulation.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle := {
- gti0001:= {
- natureOfAddress := '0000011'B,
- oddeven := getOddEven( tsp_remote_GT ),
- globalTitleAddress := tsp_remote_GT
- }
- }//globalTitle
- } // v_CalledAddress
-
- v_CallingAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_own_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP_Emulation.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle:= {
- gti0001 := {
- natureOfAddress := '0000011'B,
- oddeven := getOddEven( tsp_own_GT ),
- globalTitleAddress := tsp_own_GT
- }
- }//globalTitle
- } // v_CallingAddress
-
- } else if(
- (tsp_sccp_serviceType == "mtp3_ansi") or
- (tsp_sccp_serviceType == "mtp3b_ansi") )
- {
-
- v_CalledAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_remote_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP_Emulation.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle := {
- gti0011:= {
- translationType := int2oct(7,1),
- encodingScheme := getOddEvenEnc( tsp_remote_GT ),
- numberingPlan := '0111'B, //ISDN/mobile numbering plan, see T1.112.3-2001/3.4.2.3.1
- globalTitleAddress:= tsp_remote_GT
- }
- }//globalTitle
- } // v_CalledAddress
-
- v_CallingAddress :={
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0001'B,
- routingIndicator := '0'B
- },//addressIndicator
- signPointCode := SCCP_SPC_int2bit(tsp_remote_SPC, tsp_sccp_serviceType, tsp_SIO), // see SCCP_Emulation.ttcn
- subsystemNumber := tsp_SSN,
- globalTitle := {
- gti0011:= {
- translationType := int2oct(7,1),
- encodingScheme := getOddEvenEnc( tsp_own_GT ),
- numberingPlan := '0111'B, //ISDN/mobile numbering plan, see T1.112.3-2001/3.4.2.3.1
- globalTitleAddress:= tsp_own_GT
- }
- }//globalTitle
- } // v_CallingAddress
-
- }//if
- else
- {
- log( "wrong tsp_sccp_serviceType ->exit ");
- setverdict( fail );
- }
-}//setAddresses_gti001
-
-function f_SendAndReceive1N_UNITDATA(in octetstring pl_userdata) runs on MTC_CT
-{
- var ASP_SCCP_N_UNITDATA_ind vl_N_UNITDATA_ind;
- timer TL_timer:= 40.0;
- TL_timer.start;
- log("A_PORT.send follows");
- log("Addresses:",v_CalledAddress, v_CallingAddress);
- A_PORT.send( t_ASP_N_UNITDATA_req( v_CalledAddress,
- v_CallingAddress,
- '00000001'B, //sequence control
- '00000001'B, //return option
- pl_userdata,
- omit ) );
- log("A_PORT.send executed");
- alt {
- [] B_PORT.receive( tr_ASP_N_UNITDATA_ind ) -> value vl_N_UNITDATA_ind
- {
-
- if( (vl_N_UNITDATA_ind.calledAddress == v_CalledAddress ) and
- (vl_N_UNITDATA_ind.callingAddress == v_CallingAddress) and
- (vl_N_UNITDATA_ind.userData == pl_userdata) )
- {
- log("Correct CalledAddress, CallingAddress and userData received, data are correct");
- setverdict(pass);
- }
- else
- {
- log("Some data corrupted");
- log("Original data:", v_CalledAddress, v_CallingAddress, pl_userdata);
- setverdict( fail );
- }
- };
- [] TL_timer.timeout
- {
- setverdict( fail );
- log("Timeout....");
- };
- } //alt
- TL_timer.stop;
-}//f_SendAndReceive1N_UNITDATA
-
-/****************************************************
-Connection Oriented Part
-****************************************************/
-
-/****************************************************
-function f_connect
-Establishes a connection
-(Sends an ASP_SCCP_N_CONNECT_req on A_PORT and waits for
-N_CONNECT_ind on B_PORT. If it is received,
-it sends back an ASP_SCCP_N_CONNECT_res on B_PORT and waits for
-N_CONNECT_cfm on A_PORT)
-****************************************************/
-function f_connect() runs on MTC_CT return boolean
-{
- var ASP_SCCP_N_CONNECT_ind vl_N_CONNECT_ind;
- var ASP_SCCP_N_CONNECT_cfm vl_N_CONNECT_cfm;
- setverdict(none);
- v_cid_A := 13;
- timer TL_timer:= 40.0;
- TL_timer.start;
- // A Sends ASP_SCCP_N_CONNECT_req , receives
- A_PORT.send( t_ASP_N_CONNECT_req( v_CalledAddress,
- v_CallingAddress,
- omit, //expeditedDataSel
- omit, //QoS
- omit, //userData
- v_cid_A,
- omit //importance
- ) );
- alt {
- [] B_PORT.receive( tr_ASP_N_CONNECT_ind ) -> value vl_N_CONNECT_ind
- {
- v_cid_B := vl_N_CONNECT_ind.connectionId;
- B_PORT.send( t_ASP_N_CONNECT_res( omit,// respondingAddress
- omit,//expeditedDataSel
- omit,//qualityOfService
- omit, //userData
- v_cid_B,
- omit //importance
- ));
- }
- [] B_PORT.receive
- {
- log( "unexpected asp received for ASP_SCCP_N_CONNECT_req, failed");
- setverdict( fail );
- return false;
- }
- [] TL_timer.timeout
- {
- setverdict( pass );
- log("Timeout....");
- return false;
- }
- }
-
- // receives ASP_SCCP_N_CONNECT_cfm
- alt {
- [] A_PORT.receive( tr_ASP_N_CONNECT_cfm ) -> value vl_N_CONNECT_cfm
- {
- setverdict( pass );
- log("f_connect finished successfully");
- return true;
- }
- [] TL_timer.timeout
- {
- setverdict( pass );
- log("Timeout....");
- return false;
- }
- }// alt
- log("f_connect finished");
- return false;
-}//f_connect
-
-/****************************************************
-function f_send
-Sends an ASP_SCCP_N_DATA_req on A_PORT and waits for answer in
-B_PORT
-****************************************************/
-function f_send(in octetstring pl_userdata) runs on MTC_CT
-{
- var ASP_SCCP_N_DATA_ind vl_N_DATA_ind;
- timer TL_timer:= 120.0;
- TL_timer.start;
- A_PORT.send( t_ASP_N_DATA_req ( pl_userdata, v_cid_A, omit) ) ;
- alt {
- [] B_PORT.receive( tr_ASP_N_DATA_ind ) -> value vl_N_DATA_ind
- {
- if( vl_N_DATA_ind.userData == pl_userdata )
- {
- log( "userData received correctly" );
- setverdict( pass );
- }
- else
- {
- log("user data mismatch error in f_send()")
- setverdict(fail);
- }
-
- }//B_PORT.receive( tr_ASP_N_DATA_ind )
-
- [] B_PORT.receive
- {
- log( "unexpected asp received for ASP_SCCP_N_DATA_req, failed");
- setverdict( fail );
- }
- [] TL_timer.timeout
- {
- setverdict( pass );
- log("Timeout....");
- }
-
- } //alt
-}//f_send
-
-//f_disconnect with timeout
-
-function f_disconnect( ) runs on MTC_CT
-{
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- timer TL_timer:= 5.0;
- TL_timer.start;
- A_PORT.send(t_ASP_N_DISCONNECT_req( omit, // respondingAddress
- 0, //reason : end user originated, see 3.11/Q.713
- omit, //userData
- v_cid_A,
- omit ))
- alt {
- [] B_PORT.receive(tr_ASP_N_DISCONNECT_ind) -> value vl_N_DISCONNECT_ind
- {
- setverdict( pass );
- }
- [] B_PORT.receive
- {
- log("unexpected asp received on B_PORT instead of ASP_SCCP_N_DISCONNECT_ind");
- //repeat;
- setverdict(fail);
- }
- [] TL_timer.timeout
- {
- setverdict( fail );
- log("Timeout....");
- };
- }//alt
-
- //give time for inner release complete (rlc):
- alt {
- [] TL_timer.timeout
- {
- setverdict( pass );
- log("Stopped with expected timeout");
- };
- }
-}//f_disconnect
-
-//===================================================
-// Testcases
-//===================================================
-
-/****************************************************
-tc_ConnlessSendingShortASP
-Sends a 300 octet long userdata in one ASP_SCCP_N_UNITDATA_req
-and receives it in one ASP_SCCP_N_UNITDATA_req.
-SCCP transfers information
-in udp or (forced) xudp packets.
-****************************************************/
-testcase tc_ConnlessSendingShortASP() runs on MTC_CT
-{
- var octetstring vl_userdata;
- init();
- setAddresses_gti0001();
- vl_userdata :='12345678901234567890'O;
- f_SendAndReceive1N_UNITDATA( vl_userdata );
- terminate();
- } //tc_ConnlessSendingShortASP
-
-/****************************************************
- tc_ConnlessSendingLongASP
- Sends a 300 octet long userdata in one ASP_SCCP_N_UNITDATA_req
- and receives it in one ASP_SCCP_N_UNITDATA_req.
- It is used for segmentation and reassembly.
- SCCP transfers information
-in xudp packets
-****************************************************/
-testcase tc_ConnlessSendingLongASP() runs on MTC_CT
-{
- var octetstring vl_userdata;
- var integer vl_i;
- init();
- setAddresses_gti0001();
- vl_userdata := ''O;
- for(vl_i:=0;vl_i<30;vl_i:=vl_i+1) {
- vl_userdata := vl_userdata &'12345678901234567890'O;
- }
- f_SendAndReceive1N_UNITDATA( vl_userdata );
- terminate();
-}//tc_ConnlessSendingLongASP
-
-/****************************************************
-tc_ConnOrientedShortASPSending
-****************************************************/
-testcase tc_ConnOrientedShortASPSending() runs on MTC_CT
-{
- var octetstring vl_userdata;
- init();
- setAddresses_gti0001();
- vl_userdata := '12345678901234567890'O;
- if(f_connect( ))
- {
- f_send(vl_userdata);
- f_disconnect();
- }
- terminate();
-}
-/****************************************************
-tc_ConnOrientedLongASPSending
-****************************************************/
-testcase tc_ConnOrientedLongASPSending() runs on MTC_CT
-{
- var octetstring vl_userdata;
- var integer vl_i;
- init();
- setAddresses_gti0001();
- vl_userdata := ''O;
- for(vl_i:=0;vl_i<30;vl_i:=vl_i+1) {
- vl_userdata := vl_userdata &'12345678901234567890'O;
- }
- if(f_connect( ))
- {
- f_send(vl_userdata);
- //f_SendAndReceive1N_UNITDATA( vl_userdata );
- f_disconnect();
- }
- terminate();
-}
-/****************************************************
- CONTROL
-****************************************************/
-control
-{
- execute( tc_ConnlessSendingShortASP() );
- execute( tc_ConnlessSendingLongASP() );
- execute( tc_ConnOrientedShortASPSending());
- execute( tc_ConnOrientedLongASPSending());
-}
-
-}//module
diff --git a/SCCP_CNL113341/demo/SCCPasp_Types.ttcn b/SCCP_CNL113341/demo/SCCPasp_Types.ttcn
deleted file mode 120000
index f7668d7f4..000000000
--- a/SCCP_CNL113341/demo/SCCPasp_Types.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../src/SCCPasp_Types.ttcn
\ No newline at end of file
diff --git a/SCCP_CNL113341/src/SCCP_Emulation.ttcn b/SCCP_CNL113341/src/SCCP_Emulation.ttcn
deleted file mode 100644
index dbfa08c56..000000000
--- a/SCCP_CNL113341/src/SCCP_Emulation.ttcn
+++ /dev/null
@@ -1,6043 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2008 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-// File: SCCP_Emulation.ttcn
-// Description: SS7 SCCP definitions and dynamic part according to
-// specification ITU-T SS7 SCCP, ANSI ..., ttc ...
-// References: ITU-T: Recommendation Q.711-Q.714,
-// ANSI : T1.111-2001 (MTP) and T1.112-2001 (SCCP)
-// TTC : JT-Q711
-// Rev: R6A05
-// Prodnr: CNL 113 341
-// Updated: 2009-01-26
-// Contact: http://ttcn.ericsson.se
-
-module SCCP_Emulation
-{//startmodule
-
-modulepar
-{
- float tsp_maxLocalReference := 16777216.0; //loc ref= 0...tsp_maxLocalReference-1
- float tsp_max_ConnectionId := 16777216.0; //max connection id = 0..tsp_max_ConnectionId -1
- integer tsp_force_xudt := 0;
- integer tsp_SIF_MaxLength := 272
-}
-
-import from General_Types all;
-import from MTP3asp_Types all;
-import from MTP3asp_PortType all;
-import from SCCP_Types all;
-import from SCCPasp_Types all;
-import from SCCP_Mapping all;
-
-group SCCPConstants
-{//startgroup SCCPConstants
-
-//------------------------------------------------------------------------------
-// Subsystem Numbers
-//------------------------------------------------------------------------------
-
-const integer cg_SSN_notKnown:=0;
-const integer cg_SSN_sCCPmanagement:=1;
-const integer cg_SSN_reservedForITU:=2;
-const integer cg_SSN_iSUP:=3;
-const integer cg_SSN_oMAP:=4;
-const integer cg_SSN_mAP:=5;
-const integer cg_SSN_hLR:=6;
-const integer cg_SSN_vLR:=7;
-const integer cg_SSN_mSC:=8;
-const integer cg_SSN_eIC:=9;
-const integer cg_SSN_aUC:=10;
-const integer cg_SSN_isdnSS:=11;
-const integer cg_SSN_reservedForIntUse:=12;
-const integer cg_SSN_bISDNe2e:=13;
-const integer cg_SSN_tCtestResponder:=14;
-const integer cg_SSN_rANAP:=142;
-const integer cg_SSN_bSSAP:=254;
-// TCAP has not SSN
-
-//------------------------------------------------------------------------------
-// Routing Indicator values ITU: 3.4.1/Q713.
-//------------------------------------------------------------------------------
-const BIT1n cg_route_on_SSN := '1'B;
-const BIT1n cg_route_on_GT := '0'B;
-
-//------------------------------------------------------------------------------
-// Release Cause
-//------------------------------------------------------------------------------
-
-
-const integer cg_Rel_endUserOrig:=0;
-const integer cg_Rel_endUserCong:=1;
-const integer cg_Rel_endUserFailure:=2;
-const integer cg_Rel_sCCPUserOrig:=3;
-const integer cg_Rel_remProcError:=4;
-const integer cg_Rel_inconsConnData:=5;
-const integer cg_Rel_accessFailure:=6;
-const integer cg_Rel_accessCongestion:=7;
-const integer cg_Rel_subsystFailure:=8;
-const integer cg_Rel_subsystCongest:=9;
-const integer cg_Rel_mTPFailure:=10;
-const integer cg_Rel_networkCongest:=11;
-const integer cg_Rel_expResetTimer:=12;
-const integer cg_Rel_expRecInacTimer:=13;
-const integer cg_Rel_reserved:=14;
-const integer cg_Rel_unqualified:=15;
-const integer cg_Rel_sCCPFailure:=16;
-
-//------------------------------------------------------------------------------
-// Return Cause
-//------------------------------------------------------------------------------
-
-const integer cg_Ret_noTransl4AddrNature:=0;
-const integer cg_Ret_noTransl4SpecifAddr:=1;
-const integer cg_Ret_subsystemCongestion:=2;
-const integer cg_Ret_subsystemFailure:=3;
-const integer cg_Ret_unequippedUser:=4;
-const integer cg_Ret_mTPFailure:=5;
-const integer cg_Ret_networkCongestion:=6;
-const integer cg_Ret_unqualified:=7;
-const integer cg_Ret_errorMessageTransport:=8;
-const integer cg_Ret_errorLocalProcessing:=9;
-const integer cg_Ret_destNoReassembly:=10;
-const integer cg_Ret_sCCPFailure:=11;
-const integer cg_Ret_hopCounterViolation:=12;
-const integer cg_Ret_segmeNotSupported:=13;
-const integer cg_Ret_segmentationFailure:=14;
-
-//------------------------------------------------------------------------------
-// Reset Cause
-//------------------------------------------------------------------------------
-
-
-const integer cg_Res_endUserOrig:=0;
-const integer cg_Res_sCCPUserOrig:=1;
-const integer cg_Res_messOutOfOrder_incPs:=2;
-const integer cg_Res_messOutOfOrder_incPr:=3;
-const integer cg_Res_remProcErr_messOutOfWindow:=4;
-const integer cg_Res_remProcErr_IncPsAfterReinit:=5;
-const integer cg_Res_remProcErr_general:=6;
-const integer cg_Res_remEndUserOperational:=7;
-const integer cg_Res_networkOperational:=8;
-const integer cg_Res_accessOperational:=9;
-const integer cg_Res_networkCongestion:=10;
-const integer cg_Res_reserved:=11;
-const integer cg_Res_unqualified:=12;
-
-//------------------------------------------------------------------------------
-//Error Cause
-//------------------------------------------------------------------------------
-
-const integer cg_Err_unassignedDestinationLRN:=0 ;
-const integer cg_Err_inconsistentSourceLRN:=1 ;
-const integer cg_Err_pointCodeMismatch:=2 ;
-const integer cg_Err_serviceClassMismatch:=3 ;
-const integer cg_Err_unqualified:=4 ;
-
-//------------------------------------------------------------------------------
-//Refusal Cause
-//------------------------------------------------------------------------------
-
-const integer cg_Ref_endUserOrigin:=0;
-const integer cg_Ref_endUserConges:=1;
-const integer cg_Ref_endUserFailure:=2;
-const integer cg_Ref_sCCPUserOrigin:=3;
-const integer cg_Ref_destAddrUnkn:=4;
-const integer cg_Ref_destInaccess:=5;
-const integer cg_Ref_qOSNotAvail_nonTransient:=6;
-const integer cg_Ref_qOSNotAvail_transient:=7;
-const integer cg_Ref_accessFailure:=8;
-const integer cg_Ref_accessCongestion:=9;
-const integer cg_Ref_subsystemFailure:=10;
-const integer cg_Ref_subsystemCongest:=11;
-const integer cg_Ref_expConnEstTimer:=12;
-const integer cg_Ref_incomUserData:=13;
-const integer cg_Ref_reserved:=14;
-const integer cg_Ref_unqualified:=15;
-const integer cg_Ref_hopCounterViol:=16;
-const integer cg_Ref_sCCPFailure:=17;
-const integer cg_Ref_noTransl4address:=18;
-const integer cg_Ref_unequippedUser:=19;
-
-//------------------------------------------------------------------------------
-// Originator
-//------------------------------------------------------------------------------
-
-const integer cg_Undefined:=0;
-const integer cg_NSU:=1;
-const integer cg_NSP:=2;
-
-
-//------------------------------------------------------------------------------
-// CREF Reason
-//------------------------------------------------------------------------------
-
-const integer cg_CREF_endUserOrig:=0;
-const integer cg_CREF_endUserCong:=1;
-const integer cg_CREF_endUserFailure:=2;
-const integer cg_CREF_SCCPUserOrig:=3;
-const integer cg_CREF_destAddrUnknwn_NT:=4;
-const integer cg_CREF_destInaccg_T:=5;
-const integer cg_CREF_QOSUnavail_NT:=6;
-const integer cg_CREF_QOSUnavail_T:=7;
-const integer cg_CREF_accessFailure:=8;
-const integer cg_CREF_accessCong:=9;
-const integer cg_CREF_destInaccg_NT:=10;
-const integer cg_CREF_subsystCong:=11;
-const integer cg_CREF_unspec_T:=12;
-const integer cg_CREF_incompInfo:=13;
-const integer cg_CREF_unspec_NT:=15;
-const integer cg_CREF_undef:=16;
-const integer cg_CREF_hopCntrViolation:=18;
-
-//------------------------------------------------------------------------------
-// DISC Reason
-//------------------------------------------------------------------------------
-
-const integer cg_DISC_normal:=20;
-const integer cg_DISC_endUserCong:=21;
-const integer cg_DISC_endUserFailure:=22;
-const integer cg_DISC_SCCPUserOrig:=23;
-const integer cg_DISC_abnormal_T:=24;
-const integer cg_DISC_accessFailure:=28;
-const integer cg_DISC_accessCong:=29;
-const integer cg_DISC_abnormal_NT:=30;
-const integer cg_DISC_subsystCong:=31;
-const integer cg_DISC_undef:=32;
-const integer cg_DISC_incompInfo:=33;
-const integer cg_DISC_abnormal:=35;
-
-//------------------------------------------------------------------------------
-// RESET Reason
-//------------------------------------------------------------------------------
-const integer cg_RESET_userSynch:= 40 ;
-const integer cg_RESET_unspec:= 41 ;
-const integer cg_RESET_netCong:= 42 ;
-const integer cg_RESET_undef:= 43 ;
-
-//------------------------------------------------------------------------------
-//Mapping Refusal Cause to Reason and Originator A.1/Q.713
-//------------------------------------------------------------------------------
-
-const integer cg_Mapping_RefCause_Orig[20]:=
-{
- cg_NSU,
- cg_NSU,
- cg_NSU,
- cg_NSU,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_NSU,
- cg_NSU,
- cg_NSP,
- cg_NSU,
- cg_NSP,
- cg_NSU,
- cg_NSP,
- cg_Undefined,
- cg_NSP,
- cg_Undefined,
- cg_NSP,
- cg_NSP
-};
-
-
-const integer cg_Mapping_RefCause_Reason[20]:=
-{
- cg_CREF_endUserOrig,
- cg_CREF_endUserCong,
- cg_CREF_endUserFailure,
- cg_CREF_SCCPUserOrig,
- cg_CREF_destAddrUnknwn_NT,
- cg_CREF_destInaccg_T,
- cg_CREF_QOSUnavail_NT,
- cg_CREF_QOSUnavail_T,
- cg_CREF_accessFailure,
- cg_CREF_accessCong,
- cg_CREF_destInaccg_NT,
- cg_CREF_subsystCong,
- cg_CREF_unspec_T,
- cg_CREF_incompInfo,
- cg_CREF_unspec_T,
- cg_CREF_undef,
- cg_CREF_hopCntrViolation,
- cg_CREF_undef,
- cg_CREF_destAddrUnknwn_NT,
- cg_CREF_destInaccg_NT
-};
-
-//------------------------------------------------------------------------------
-//Mapping Release Cause to Reason and Originator A.2/Q.713
-//------------------------------------------------------------------------------
-
-const integer cg_Mapping_RelCause_Orig[17]:=
-{
- cg_NSU,
- cg_NSU,
- cg_NSU,
- cg_NSU,
- cg_NSP,
- cg_NSP,
- cg_NSU,
- cg_NSU,
- cg_NSP,
- cg_NSU,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_Undefined,
- cg_Undefined,
- cg_NSP
-};
-
-//mapping CREF-> ASP_SCCP_N_DISCONNECT_ind:
-//Reason:=cg_Mapping_RefCause_Reason[RefCause];
-//Originator:=cg_Mapping_RefCause_Orig[RefCause];
-
-
-//mapping ASP_SCCP_N_DISCONNECT_req-> CREF:
-//
-
-const integer cg_Mapping_RelCause_Reason[17]:= {
- cg_DISC_normal,
- cg_DISC_endUserCong,
- cg_DISC_endUserFailure,
- cg_DISC_SCCPUserOrig,
- cg_DISC_abnormal_T,
- cg_DISC_abnormal_T,
- cg_DISC_accessFailure,
- cg_DISC_accessCong,
- cg_DISC_abnormal_NT,
- cg_DISC_subsystCong,
- cg_DISC_abnormal_NT,
- cg_DISC_abnormal_T,
- cg_DISC_abnormal_T,
- cg_DISC_abnormal_T,
- cg_DISC_undef,
- cg_DISC_undef,
- cg_DISC_abnormal_NT
-};
-
-
-
-//mapping RLSD-> ASP_SCCP_N_DISCONNECT_ind:
-//Reason:=cg_Mapping_RelCause_Reason[RelCause];
-//Originator:=cg_Mapping_RelCause_Orig[RelCause];
-
-//mapping ASP_SCCP_N_DISCONNECT_req-> RLSD:
-//
-
-
-//------------------------------------------------------------------------------
-//Mapping Reset Cause to Reason and Originator A.2/Q.713
-//------------------------------------------------------------------------------
-
-
-const integer cg_Mapping_ResCause_Orig[12]:= {
- cg_NSU,
- cg_NSU,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_NSP,
- cg_NSU,
- cg_NSP,
- cg_NSU,
- cg_NSP,
- cg_Undefined
-};
-
-
-const integer cg_Mapping_ResCause_Reason[12]:= {
- cg_RESET_userSynch,
- cg_RESET_userSynch,
- cg_RESET_unspec,
- cg_RESET_unspec,
- cg_RESET_unspec,
- cg_RESET_unspec,
- cg_RESET_unspec,
- cg_RESET_userSynch,
- cg_RESET_unspec,
- cg_RESET_userSynch,
- cg_RESET_netCong,
- cg_RESET_undef
-};
-
-//mapping RSR-> ASP_SCCP_N_DISCONNECT_ind:
-//Reason:=cg_Mapping_ResCause_Reason[ResCause];
-//Originator:=cg_Mapping_ResCause_Orig[ResCause];
-
-//mapping ASP_SCCP_N_DISCONNECT_req-> RSR:
-//
-
-const integer cg_TimerArraySize := 16;
-
-}//endgroup SCCPConstants
-
-//******************************************************************************
-// PDU templates
-//******************************************************************************
-
-
-group PDUTemplateDefinitionsSending
-{
-
-
-
-//******************************************************************************
-// Message Connection Request (CR) (Q713 $4.2)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ConnectionRequest t_PDU_SCCP_ConnectionRequest
-(
- SCCP_param_SourceLocalReference pl_SLR,
- SCCP_param_ProtocolClass pl_Proto_Class,
- SCCP_param_CPartyAddressEnc pl_CalledAddress,
-template SCCP_param_Credit_opt pl_credit,
-template SCCP_param_CPartyAddressEnc_opt pl_CallingAddress ,
-template SCCP_param_Data_opt pl_Data,
-template SCCP_param_HopCounter_opt pl_HopCntr,
-template SCCP_param_Importance_opt pl_Imp,
-template SCCP_param_EndOfOptionalParams pl_eop
-
-):=
- {
- messageType:=cr,
- sourceLocRef:=pl_SLR,
- protClass:=pl_Proto_Class,
- pointer1:=2,
- pointer2:=0,
- calledPAddress:=pl_CalledAddress,
- optionalPart:= {
- credit:=pl_credit,
- callingPAddress:=pl_CallingAddress,
- data:=pl_Data,
- hopCounter:=pl_HopCntr,
- importance:=pl_Imp
- },
- eop:=pl_eop
- }
-
-
-
-//******************************************************************************
-// Message Connection Confirm (CC) (Q713 $4.3)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ConnectionConfirm t_PDU_SCCP_ConnectionConfirm
-(
- SCCP_param_DestLocalReference pl_DLR,
- SCCP_param_SourceLocalReference pl_SLR,
- SCCP_param_ProtocolClass pl_Proto_Class,
-template SCCP_param_Credit_opt pl_credit,
-template SCCP_param_CPartyAddressEnc_opt pl_CalledAddress,
-template SCCP_param_Data_opt pl_Data,
-template SCCP_param_Importance_opt pl_Imp,
-template SCCP_param_EndOfOptionalParams pl_eop
-):=
- {
- messageType:=cc,
- destLocRef:=pl_DLR,
- sourceLocRef:=pl_SLR,
- protClass:=pl_Proto_Class,
- pointer1:=1,
- optionalPart:= {
- credit:=pl_credit,
- calledPAddress:=pl_CalledAddress,
- data:=pl_Data,
- importance:=pl_Imp
- },
- eop:=pl_eop
- }
-
-
-//******************************************************************************
-// Message Connection Refused (CREF) (Q713 $4.4)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ConnectionRefused t_PDU_SCCP_ConnectionRefused
-(
- SCCP_param_DestLocalReference pl_DLR,
- SCCP_param_RefusalCause pl_RefCause,
-template SCCP_param_CPartyAddressEnc_opt pl_CalledAddress,
-template SCCP_param_Data_opt pl_Data,
-template SCCP_param_Importance_opt pl_Imp,
-template SCCP_param_EndOfOptionalParams pl_eop
-):=
- {
- messageType:=cref,
- destLocRef:=pl_DLR,
- refusalCause:=pl_RefCause,
- pointer1:=1,
- optionalPart:= {
- calledPAddress:=pl_CalledAddress,
- data:=pl_Data,
- importance:=pl_Imp
- },
- eop:=pl_eop
- }
-
-
-//******************************************************************************
-// Message Released (RLSD) (Q713 $4.5)
-//******************************************************************************
-
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_Released t_PDU_SCCP_Released
-(
- OCT3 pl_DLR,
- OCT3 pl_SLR,
- SCCP_param_ReleaseCause pl_RelCause,
-template SCCP_param_Data_opt pl_Data,
-template SCCP_param_Importance_opt pl_Imp,
-template SCCP_param_EndOfOptionalParams pl_eop
-):=
- {
- messageType:=rlsd,
- destLocRef:=pl_DLR,
- sourceLocRef:=pl_SLR,
- releaseCause:=pl_RelCause,
- pointer1:=1,
- optionalPart:= {
- data:=pl_Data,
- importance:=pl_Imp
- },
- eop:=pl_eop
- }
-
-//******************************************************************************
-// Message Release Complete (RLC) (Q713 $4.6)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ReleaseComplete t_PDU_SCCP_ReleaseComplete
-(
- OCT3 pl_DLR,
- OCT3 pl_SLR
-):=
- {
- messageType:=rlc,
- destLocRef:=pl_DLR,
- sourceLocRef:=pl_SLR
- }
-
-
-
-//******************************************************************************
-// Message Data form 1 (DT1) (Q713 $4.7)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_DataForm1 t_PDU_SCCP_DataForm1
-(
- OCT3 pl_DLR,
- SCCP_param_SegmentingReassembl pl_SegmReasm,
- SCCP_param_Data pl_Data
-):=
- {
- messageType:=dt1,
- destLocRef:=pl_DLR,
- segmentingReassembl:=pl_SegmReasm,
- pointer1:=1,
- data:=pl_Data
- }
-
-
-
-//******************************************************************************
-// Message Data form 2 (DT2) (Q713 $4.8)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-// Message Data Acknowledgement (AK) (Q713 $4.9)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// Message Unitdata (UDT) (Q713 $4.10)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_Unitdata t_PDU_SCCP_Unitdata
-(
- SCCP_param_ProtocolClass pl_Proto_Class,
- SCCP_param_CPartyAddressEnc pl_CalledAddress,
- SCCP_param_CPartyAddressEnc pl_CallingAddress,
- SCCP_param_Data pl_Data
-):=
- {
- messageType :=udt,
- protClass :=pl_Proto_Class,
- pointer1:=3,
- pointer2:=0,
- pointer3:=0,
- calledPAddress := pl_CalledAddress,
- callingPAddress := pl_CallingAddress,
- data:=pl_Data
- }
-
-
-
-//******************************************************************************
-// Message Unitdata service (UDTS) (Q713 $4.11)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_UnitdataService t_PDU_SCCP_UnitdataService
-(
- SCCP_param_ReturnCause pl_RetCause,
- SCCP_param_CPartyAddressEnc pl_CalledAddress,
- SCCP_param_CPartyAddressEnc pl_CallingAddress,
- SCCP_param_Data pl_Data
-):=
- {
- messageType:=udts,
- returnCause:=pl_RetCause,
- pointer1:=3,
- pointer2:=0,
- pointer3:=0,
- calledPAddress:=pl_CalledAddress,
- callingPAddress:=pl_CallingAddress,
- data:=pl_Data
- }
-
-//******************************************************************************
-// Message Expedited Data (ED) (Q713 $4.12)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// Message Expedited Data Acknowledgement (EA) (Q713 $4.13)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-// Message Reset Request (RSR) (Q713 $4.14)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ResetRequest t_PDU_SCCP_ResetRequest
-(
- SCCP_param_DestLocalReference pl_DLR,
- SCCP_param_SourceLocalReference pl_SLR,
- SCCP_param_ResetCause pl_ResCause
-):=
- {
- messageType:=rsr,
- destLocRef:=pl_DLR,
- sourceLocRef:=pl_SLR,
- resetCause:=pl_ResCause
- }
-
-
-//******************************************************************************
-// Message Reset Confirmation (RSC) (Q713 $4.15)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
- template PDU_SCCP_ResetConfirm t_PDU_SCCP_ResetConfirm
- (
- SCCP_param_DestLocalReference pl_DLR,
- SCCP_param_SourceLocalReference pl_SLR
- ):=
- {
- messageType:=rsr,
- destLocRef:=pl_DLR,
- sourceLocRef:=pl_SLR
- }
-
-//******************************************************************************
-// Message Protocol data unit error (ERR) (Q713 $4.16)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ProtDataUnitError t_PDU_SCCP_ProtDataUnitError
-(
- SCCP_param_DestLocalReference pl_DLR,
- SCCP_param_ErrorCause pl_ErrCause
-):=
- {
- messageType:=rsr,
- destLocRef:=pl_DLR,
- errorCause:=pl_ErrCause
- }
-
-
-//******************************************************************************
-// Message Inactivity test (IT) (Q713 $4.17)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_InactivityTest t_PDU_SCCP_InactivityTest
-(
- SCCP_param_DestLocalReference pl_DLR,
- SCCP_param_SourceLocalReference pl_SLR,
- SCCP_param_ProtocolClass pl_Proto_Class,
- SCCP_param_SequencingSegmenting pl_SeqSegm,
- SCCP_param_Credit pl_credit
-):=
- {
- messageType:=it,
- destLocRef:=pl_DLR,
- sourceLocRef:=pl_SLR,
- protClass:=pl_Proto_Class,
- sequencingSegmenting:=pl_SeqSegm,
- credit:=pl_credit
- }
-
-
-//******************************************************************************
-// Message Extended Unitdata (XUDT) (Q713 $4.18)
-//******************************************************************************
-//------------------------------------------------------------------------------
-
-template PDU_SCCP_ExtUnitdata t_PDU_SCCP_ExtUnitdata
-(
- SCCP_param_ProtocolClass pl_Proto_Class,
- SCCP_param_HopCounter pl_hopCounter,
- SCCP_param_CPartyAddressEnc pl_calledPAddress,
- SCCP_param_CPartyAddressEnc pl_callingPAddress,
- SCCP_param_Data pl_data,
-template SCCP_param_Segmentation_opt pl_segm,
-template SCCP_param_Importance_opt pl_imp
-):=
- {
- messageType:= xudt,
- protClass:=pl_Proto_Class,
- hopCounter:=pl_hopCounter,
- pointer1:=0,
- pointer2:=0,
- pointer3:=0,
- pointer4:=0,
- calledPAddress:=pl_calledPAddress,
- callingPAddress:=pl_callingPAddress,
- data := pl_data,
- optionalPart:= {
- segmentation:=pl_segm,
- importance := pl_imp
- },
- eop:= { paramName:=con_SCCP_eop }
- }
-
-
-//******************************************************************************
-// Message Extended Unitdata Service(XUDTS) (Q713 $4.19)
-//******************************************************************************
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-
-//******************************************************************************
-// Message Long Unitdata (LUDT) (Q713 $4.20)
-//******************************************************************************
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// Message Long Unitdata Service (LUDTS) (Q713 $4.21)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// SCCP management messages (Q713 $5.3)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-
-}//endgroup PDUTemplateDefinitionsSending
-
-//******************************************************************************
-
-group PDUTemplateDefinitionsReceiving
-{
-
-
-
-//******************************************************************************
-// Message Connection Request (CR) (Q713 $4.2)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
- template PDU_SCCP_ConnectionRequest tr_PDU_SCCP_ConnectionRequest:=
- {
- messageType:=cr,
- sourceLocRef:=?,
- protClass:=?,
- pointer1:=?,
- pointer2:=?,
- calledPAddress:=?,
- optionalPart:= {
- credit:=*,
- callingPAddress:=*,
- data:=*,
- hopCounter:=*,
- importance:=*
- },
- eop:=*
- }
-
-
-
-//******************************************************************************
-// Message Connection Confirm (CC) (Q713 $4.3)
-//******************************************************************************
-
-
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ConnectionConfirm tr_PDU_SCCP_ConnectionConfirm:=
-{
- messageType:=cc,
- destLocRef:=?,
- sourceLocRef:=?,
- protClass:=?,
- pointer1:=?,
- optionalPart:= {
- credit:=*,
- calledPAddress:=*,
- data:=*,
- importance:=*
- },
- eop:=*
-}
-
-
-//******************************************************************************
-// Message Connection Refused (CREF) (Q713 $4.4)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_ConnectionRefused tr_PDU_SCCP_ConnectionRefused:=
-{
- messageType:=cref,
- destLocRef:=?,
- refusalCause:=?,
- pointer1:=?,
- optionalPart:= {
- calledPAddress:=*,
- data:=*,
- importance:=*
- },
- eop:=*
-}
-
-
-//******************************************************************************
-// Message Released (RLSD) (Q713 $4.5)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_Released tr_PDU_SCCP_Released:=
-{
- messageType:=rlsd,
- destLocRef:=?,
- sourceLocRef:=?,
- releaseCause:=?,
- pointer1:=?,
- optionalPart:= {
- data:=*,
- importance:=*
- },
- eop:=*
-}
-
-
-
-//******************************************************************************
-// Message Release Complete (RLC) (Q713 $4.6)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-
-template PDU_SCCP_ReleaseComplete tr_PDU_SCCP_ReleaseComplete:=
-{
- messageType:=rlc,
- destLocRef:=?,
- sourceLocRef:=?
-}
-
-
-
-//******************************************************************************
-// Message Data form 1 (DT1) (Q713 $4.7)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-template PDU_SCCP_DataForm1 tr_PDU_SCCP_DataForm1:=
-{
- messageType:=dt1,
- destLocRef:=?,
- segmentingReassembl:=?,
- pointer1:=?,
- data:=?
-}
-
-//******************************************************************************
-// Message Data form 2 (DT2) (Q713 $4.8)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-// Message Data Acknowledgement (AK) (Q713 $4.9)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// Message Unitdata (UDT) (Q713 $4.10)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-
-template PDU_SCCP_Unitdata tr_PDU_SCCP_Unitdata:=
-{
- messageType:=udt,
- protClass:=?,
- pointer1:=?,
- pointer2:=?,
- pointer3:=?,
- calledPAddress:=?,
- callingPAddress:=?,
- data:=?
-}
-
-//******************************************************************************
-// Message Unitdata service (UDTS) (Q713 $4.11)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Message definition
-//------------------------------------------------------------------------------
-
-template PDU_SCCP_UnitdataService tr_PDU_SCCP_UnitdataService:=
-{
- messageType:=udts,
- returnCause:=?,
- pointer1:=?,
- pointer2:=?,
- pointer3:=?,
- calledPAddress:=?,
- callingPAddress:=?,
- data:=?
-}
-
-//******************************************************************************
-// Message Expedited Data (ED) (Q713 $4.12)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// Message Expedited Data Acknowledgement (EA) (Q713 $4.13)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-// Message Reset Request (RSR) (Q713 $4.14)
-//******************************************************************************
-
-template PDU_SCCP_ResetRequest tr_PDU_SCCP_ResetRequest:=
-{
- messageType:=rsr,
- destLocRef:=?,
- sourceLocRef:=?,
- resetCause:=?
-}
-
-//******************************************************************************
-// Message Reset Confirmation (RSC) (Q713 $4.15)
-//******************************************************************************
-
-template PDU_SCCP_ResetConfirm tr_PDU_SCCP_ResetConfirm:=
-{
- messageType:=rsr,
- destLocRef:=?,
- sourceLocRef:=?
-}
-
-//******************************************************************************
-// Message Protocol data unit error (ERR) (Q713 $4.16)
-//******************************************************************************
-
-template PDU_SCCP_ProtDataUnitError tr_PDU_SCCP_ProtDataUnitError:=
-{
- messageType:=rsr,
- destLocRef:=?,
- errorCause:=?
-}
-
-//******************************************************************************
-// Message Inactivity test (IT) (Q713 $4.17)
-//******************************************************************************
-
-template PDU_SCCP_InactivityTest tr_PDU_SCCP_InactivityTest:=
-{
- messageType:=it,
- destLocRef:=?,
- sourceLocRef:=?,
- protClass:=?,
- sequencingSegmenting:=?,
- credit:=?
-}
-
-//******************************************************************************
-// Message Extended Unitdata (XUDT) (Q713 $4.18)
-//******************************************************************************
-
-
-template PDU_SCCP_ExtUnitdata tr_PDU_SCCP_ExtUnitdata :=
-{
- messageType:=xudt,
- protClass:= ?, //connection oriented but no flow control
- hopCounter:=?,
- pointer1:=?,
- pointer2:=?,
- pointer3:=?,
- pointer4:=?,
- calledPAddress:=?,
- callingPAddress:=?,
- data := ?,
- optionalPart:= {
- segmentation:=*,
- importance := *
- },
- eop:= *
-}
-
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-// Message Extended Unitdata Service(XUDTS) (Q713 $4.19)
-//******************************************************************************
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-// Message Long Unitdata (LUDT) (Q713 $4.20)
-//******************************************************************************
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// Message Long Unitdata Service (LUDTS) (Q713 $4.21)
-//******************************************************************************
-
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-// SCCP management messages (Q713 $5.3)
-//******************************************************************************
-//------------------------------------------------------------------------------
-// Not supported
-//------------------------------------------------------------------------------
-
-
-
-}//endgroup PDUTemplateDefinitionsReceiving
-
-type record of boolean Timer_Snapshot;
-type enumerated TimerIdentifierType {conn_est, ias, iar, rel, repeat_rel, int, reset,internal_reset, t_guard};
-
-
-type component SCCP_CT
-{ //startcomponent SCCP_CT
-
- //Component variables
- //***************************************************************
- // Connection Oriented Signalling:
- // StateTransition-> ConnectionData;
- var ConnectionData ConnectionTable[16]; //16 connections 0 to 15
- var integer v_session; // actual conn. oriented session index
-
- // Connectioenless Signalling:
- //== sending ==
- var OCT3 segmLocRefTable[16];
- var integer v_segmLocRefIndex; // last index in segmLocRefTable, cyclical incremented
- //==receiving==
- var ClessRcvBuff ClessRcvBuffTable[16];
-
- var integer v_reference; // not used ???
-
- var hexstring v_own_GT;
- var hexstring v_remote_GT;
- var integer v_SSN;
- var OCT1 v_SIO;
- var integer v_NI; //network indicator, if NI<2 => international
- var integer v_own_SPC;
- var integer v_remote_SPC;
- var integer v_SLS;
-
- var SCCP_ServiceType v_SCCPServiceType; //enum: itu, ansi, ttc or mpt
- //var v_maxLocalReference; // Local Reference max. value, see in SCCP.ttcn
- var integer v_PC_length; //length of point code, calculated at start! NOT USED
- var integer v_RoutingLabelLen; //in bytes
- var integer v_sccp_data_maxlen; // dt1 payload length upper limit
- var integer v_sccp_pdu_maxlen; // SIF len -routing label len
-
- var Timer_Snapshot v_T_conn_est;
- var Timer_Snapshot v_T_ias;
- var Timer_Snapshot v_T_iar;
- var Timer_Snapshot v_T_rel;
- var Timer_Snapshot v_T_repeat_rel;
- var Timer_Snapshot v_T_int;
- var Timer_Snapshot v_T_reset;
- var Timer_Snapshot v_T_internal_reset;
- var Timer_Snapshot v_T_guard;
- //var Timer_Snapshot v_T_T_guard;
- //***************************************************************
-
- port SCCPasp_SP_PT SCCP_SP_PORT;//port type defined in SCCP_ASPs
- port MTP3asp_SCCP_PT MTP3_SCCP_PORT;
-
- //component timers
-
- timer T_conn_est[cg_TimerArraySize]:= { tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est,
- tspc_timer_T_conn_est,tspc_timer_T_conn_est };
-
- timer T_ias[cg_TimerArraySize]:= { tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias,
- tspc_timer_T_ias,tspc_timer_T_ias };
-
- timer T_iar[cg_TimerArraySize]:= { tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar,
- tspc_timer_T_iar,tspc_timer_T_iar };
-
- timer T_rel[cg_TimerArraySize]:= { tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel,
- tspc_timer_T_rel,tspc_timer_T_rel };
-
- timer T_repeat_rel[cg_TimerArraySize]:= { tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel,
- tspc_timer_T_repeat_rel,tspc_timer_T_repeat_rel };
-
- timer T_int[cg_TimerArraySize]:= { tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int,
- tspc_timer_T_int,tspc_timer_T_int };
-
-
-/* timer T_T_guard[cg_TimerArraySize]:= { tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard,
- tspc_timer_T_guard,tspc_timer_T_guard };
-*/
-
- timer T_reset[cg_TimerArraySize]:= { tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset,
- tspc_timer_T_reset,tspc_timer_T_reset };
-
-
- timer T_internal_reset[cg_TimerArraySize]:= { tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset,
- tspc_timer_T_internal_reset,tspc_timer_T_internal_reset };
-
-
- timer T_guard[cg_TimerArraySize]:= { tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard,
- tspc_timer_guard,tspc_timer_guard };
-
-}//endcomponent SCCP_CT
-
-
-group SCCPFunctions
-{//startgroup SCCPFunctions
- //******************************************************************
- function f_StartTimer(TimerIdentifierType pl_TimerIdentifier,integer pl_TimerIndex,float pl_duration := -1.0) runs on SCCP_CT
- //******************************************************************
- {
- select (pl_TimerIdentifier)
- {
- case(conn_est)
- {
- if(pl_duration < 0.0){
- T_conn_est[pl_TimerIndex].start;
- v_T_conn_est[pl_TimerIndex] := true;
- }
- else{
- T_conn_est[pl_TimerIndex].start(pl_duration);
- v_T_conn_est[pl_TimerIndex] := true;
- }
- }
- case(ias)
- {
- if(pl_duration < 0.0){
- T_ias[pl_TimerIndex].start;
- v_T_ias[pl_TimerIndex] := true;
- }
- else{
- T_ias[pl_TimerIndex].start(pl_duration);
- v_T_ias[pl_TimerIndex] := true;
- }
- }
- case(iar)
- {
- if(pl_duration < 0.0){
- T_iar[pl_TimerIndex].start;
- v_T_iar[pl_TimerIndex] := true;
- }
- else{
- T_iar[pl_TimerIndex].start(pl_duration);
- v_T_iar[pl_TimerIndex] := true;
- }
- }
- case(rel)
- {
- if(pl_duration < 0.0){
- T_rel[pl_TimerIndex].start;
- v_T_rel[pl_TimerIndex] := true;
- }
- else{
- T_rel[pl_TimerIndex].start(pl_duration);
- v_T_rel[pl_TimerIndex] := true;
- }
- }
- case(repeat_rel)
- {
- if(pl_duration < 0.0){
- T_repeat_rel[pl_TimerIndex].start;
- v_T_repeat_rel[pl_TimerIndex] := true;
- }
- else{
- T_repeat_rel[pl_TimerIndex].start(pl_duration);
- v_T_repeat_rel[pl_TimerIndex] := true;
- }
- }
- case(int)
- {
- if(pl_duration < 0.0){
- T_int[pl_TimerIndex].start;
- v_T_int[pl_TimerIndex] := true;
- }
- else{
- T_int[pl_TimerIndex].start(pl_duration);
- v_T_int[pl_TimerIndex] := true;
- }
- }
- case(reset)
- {
- if(pl_duration < 0.0){
- T_reset[pl_TimerIndex].start;
- v_T_reset[pl_TimerIndex] := true;
- }
- else{
- T_reset[pl_TimerIndex].start(pl_duration);
- v_T_reset[pl_TimerIndex] := true;
- }
- }
- case(internal_reset)
- {
- if(pl_duration < 0.0){
- T_internal_reset[pl_TimerIndex].start;
- v_T_internal_reset[pl_TimerIndex] := true;
- }
- else{
- T_internal_reset[pl_TimerIndex].start(pl_duration);
- v_T_internal_reset[pl_TimerIndex] := true;
- }
- }
- case(t_guard)
- {
- if(pl_duration < 0.0){
- T_guard[pl_TimerIndex].start;
- v_T_guard[pl_TimerIndex] := true;
- }
- else{
- T_guard[pl_TimerIndex].start(pl_duration);
- v_T_guard[pl_TimerIndex] := true;
- }
- }
- case else
- {log("Warning: Incorrect Timer!")}
- }
- }
- //******************************************************************
- function f_StopTimer(TimerIdentifierType pl_TimerIdentifier,integer pl_TimerIndex) runs on SCCP_CT
- //******************************************************************
- {
- select (pl_TimerIdentifier)
- {
- case(conn_est)
- {
- T_conn_est[pl_TimerIndex].stop;
- v_T_conn_est[pl_TimerIndex] := false;
- }
- case(ias)
- {
- T_ias[pl_TimerIndex].stop;
- v_T_ias[pl_TimerIndex] := false;
- }
- case(iar)
- {
- T_iar[pl_TimerIndex].stop;
- v_T_iar[pl_TimerIndex] := false;
- }
- case(rel)
- {
- T_rel[pl_TimerIndex].stop;
- v_T_rel[pl_TimerIndex] := false;
- }
- case(repeat_rel)
- {
- T_repeat_rel[pl_TimerIndex].stop;
- v_T_repeat_rel[pl_TimerIndex] := false;
- }
- case(int)
- {
- T_int[pl_TimerIndex].stop;
- v_T_int[pl_TimerIndex] := false;
- }
- case(reset)
- {
- T_reset[pl_TimerIndex].stop;
- v_T_reset[pl_TimerIndex] := false;
- }
- case(internal_reset)
- {
- T_internal_reset[pl_TimerIndex].stop;
- v_T_internal_reset[pl_TimerIndex] := false;
- }
- case(t_guard)
- {
- T_guard[pl_TimerIndex].stop;
- v_T_guard[pl_TimerIndex] := false;
- }
- case else
- {log("Warning: Incorrect Timer!")}
- }
- }
-
- //******************************************************************
- function f_initialize_timer_states() runs on SCCP_CT
- //******************************************************************
- {
- var integer i;
- for (i:=0; i= 2) { v_RoutingLabelLen := 5; }
- else { v_RoutingLabelLen := 4; }
- }
- else if( v_SCCPServiceType == m3ua )
- {
- v_RoutingLabelLen := 4; // not really...
- //v_sccp_data_maxlen := 261;
- }
- else if ( (v_SCCPServiceType == mtp3_mpt))
- {
- if(v_NI== 2) { v_RoutingLabelLen := 7; }
- else { v_RoutingLabelLen := 4; }
- }
- else
- {
- log( "Wrong SCCPServiceType value was selected in the config file");
- log("Modified for default value 'mtp3_itu'.");
- v_SCCPServiceType := mtp3_itu;
- v_RoutingLabelLen := 4; //itu
-
- }
-
- // mtp3_itu_b i.e. itu mtp3b
- // SCCP_ansi_b i.e ansi mtp3b settings ???
- //272= max length of SIF, see Fig3-3B/T1.111.4-2001
- //temp for test: 10 ?
- //tsp_SIF_MaxLength = 272
- v_sccp_pdu_maxlen := tsp_SIF_MaxLength - v_RoutingLabelLen; // -; //7: msg_type+locref+ptr+len
- log("v_sccp_pdu_maxlen:",v_sccp_pdu_maxlen);
- v_sccp_data_maxlen := v_sccp_pdu_maxlen-7; // dt1 payload // -7: msg_type+locref+ptr+len
-
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- ConnectionTable[vl_j].localReference :='000000'O;
- ConnectionTable[vl_j].remoteReference:='000000'O;
- ConnectionTable[vl_j].state :=idle;
- ConnectionTable[vl_j].connectionId :=0;
- ConnectionTable[vl_j].reassembler_buffer.buffer :=''O;
- ConnectionTable[vl_j].reassembler_buffer.actlen := 0;
- ConnectionTable[vl_j].reassembler_buffer.maxlen := 16*v_sccp_data_maxlen; //????
- segmLocRefTable[vl_j] := '000000'O;
- reallocate_ClessRcvBuff(vl_j);
-
- }//endfor
-
- //starts SCCP execution
- ScanEvents();
- }//endfunction of SCCPStart
-
-
- //******************************************************************
- function ReleaseResources(in integer pl_session) runs on SCCP_CT
- //******************************************************************
- {//startfunction
-
- //release resources
- ConnectionTable[pl_session].remoteReference:='000000'O;
- ConnectionTable[pl_session].localReference:='000000'O;
- ConnectionTable[pl_session].connectionId:=0;
- Stop_sessionTimers(pl_session);
- ConnectionTable[pl_session].state:=idle;
- ConnectionTable[pl_session].reassembler_buffer.buffer:=''O;
- ConnectionTable[pl_session].reassembler_buffer.actlen:=0;
- }//endfunction ReleaseResources
-
- //******************************************************************
- function GuardTimer_Expired(in integer pl_session) runs on SCCP_CT
- //no answer to ASP_SCCP_N_CONNECT_ind received
- //******************************************************************
- {//startfunction
-
- //local declarations
- var PDU_SCCP vl_PDU_SCCP;
-
- //Action Table follows
-
- if (ConnectionTable[pl_session].state==connection_pending_IC)
- {//startif
-
- //send Released-this should disconnect the other end
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[pl_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[pl_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=cg_Rel_endUserOrig;
- vl_PDU_SCCP.released.pointer1:=0;
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- //release resources, return to idle
- ReleaseResources(pl_session);
-
- }//endif
-
- }//endfunction GuardTimer_Expired
-
-
- //******************************************************************
- function InternalResetTimer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {//startfunction
-
- //local declarations
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_RESET_ind vl_N_RESET_ind;
-
- //Action Table follows
-
- if (ConnectionTable[pl_session].state==active)
- {//startif
- //send ASP_SCCP_N_RESET_ind
- //assemble ASP_SCCP_N_ASP
- vl_N_RESET_ind.originator:=cg_NSP;
- vl_N_RESET_ind.reason:=cg_DISC_abnormal_T;
- vl_N_RESET_ind.connectionId:=ConnectionTable[pl_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_RESET_ind(
- vl_N_RESET_ind.originator,
- vl_N_RESET_ind.reason,
- vl_N_RESET_ind.connectionId
- ));//send ASP_SCCP_N_RESET_ind
- //send Reset Request
-
- vl_PDU_SCCP.resetreq.messageType:=rsr;
- vl_PDU_SCCP.resetreq.destLocRef:=ConnectionTable[pl_session].remoteReference;
- vl_PDU_SCCP.resetreq.sourceLocRef:=ConnectionTable[pl_session].localReference;
- vl_PDU_SCCP.resetreq.resetCause:=cg_Res_endUserOrig;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Reset Request
-
- //start reset timer
-
- f_StartTimer(reset,pl_session);
- //restart send inactivity timer
- f_StopTimer(ias,pl_session);//to avoid warnings
- f_StartTimer(ias,pl_session);
- //reset variables etc.
- //change state
- ConnectionTable[pl_session].state:=reset_bothway;
-
- }//endif
- }//InternalResetTimer_Expired
-
- //******************************************************************
- function Reset_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {//startfunction
-
- //local declarations
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- //Action Table follows
- if (ConnectionTable[pl_session].state==reset_bothway)
- {//startif
-
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_NSP;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_abnormal_T;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[pl_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //release resources, stop inactivity timers, change state to idle
- ReleaseResources(pl_session);
- }//endif
-
- }//Reset_Timer_Expired
-
- //******************************************************************
- function Interval_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {//startfunction
-
- //Action Table follows
- if (ConnectionTable[pl_session].state==disconnect_pending)
- {
- log ("Interval timer expired");
- //release resources
- ReleaseResources(pl_session);
- }
-
- }//Interval_Timer_Expired
-
-
-
- //******************************************************************
- function RepeatRelease_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {
-
- //local declarations
- var PDU_SCCP vl_PDU_SCCP;
-
- //Action Table follows
- if (ConnectionTable[pl_session].state==disconnect_pending)
- {
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[pl_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[pl_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=cg_Res_endUserOrig;
- vl_PDU_SCCP.released.pointer1:=0;
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- //restart repeat release timer
- f_StopTimer(repeat_rel,pl_session);//to avoid warnings
- f_StartTimer(repeat_rel,pl_session);
- //no state change, return
- }
-
- }//RepeatRelease_Timer_Expired
-
-
- //******************************************************************
- function Release_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {
-
- //local declarations
- var PDU_SCCP vl_PDU_SCCP;
-
- //Action Table follows
- if (ConnectionTable[pl_session].state==disconnect_pending)
- {
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[pl_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[pl_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=cg_Res_endUserOrig;//?
- vl_PDU_SCCP.released.pointer1:=0;
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- f_StartTimer(repeat_rel,pl_session);
- f_StartTimer(int,pl_session);
- //no state change, return
-
- }//endif
-
- }//Release_Timer_Expired
-
-
- //******************************************************************
- function ReceiveInactivity_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {
- //local declarations
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- //Action Table follows
- if (ConnectionTable[pl_session].state==idle){}
- else if (ConnectionTable[pl_session].state==active)
- {
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_NSP;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_endUserFailure;//?
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[pl_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //stop inactivity timers
- f_StopTimer(ias,pl_session);
- f_StopTimer(iar,pl_session);
-
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[pl_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[pl_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=cg_Rel_expRecInacTimer;
- vl_PDU_SCCP.released.pointer1:=0;// No options
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- //start release timer
- f_StartTimer(rel,pl_session);
- ConnectionTable[pl_session].state:=disconnect_pending;
-
- }//endif
-
- }//ReceiveInactivity_Timer_Expired
-
-
- //******************************************************************
- function SendInactivity_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {
-
- //local declarations
- var PDU_SCCP vl_PDU_SCCP;
-
- //Action Table follows
-
- if (ConnectionTable[pl_session].state==active)
- {
-
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.inacttest.messageType :=it;
- vl_PDU_SCCP.inacttest.destLocRef :=ConnectionTable[pl_session].remoteReference;
- vl_PDU_SCCP.inacttest.sourceLocRef:=ConnectionTable[pl_session].localReference;
-
- vl_PDU_SCCP.inacttest.protClass:={
- class:='0010'B,
- messageHandling:='0000'B
- };//protocol class 2
-
- vl_PDU_SCCP.inacttest.sequencingSegmenting:={
- reserved:='0'B,
- p_s:='0000000'B,
- more:='0'B,
- pr:='0000000'B
- };//it will be ignored
-
- vl_PDU_SCCP.inacttest.credit:='00'O;
- //Param name credit(9), length 1, credit 0 -it will be mercifully ignored anyhow
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send inactivity test
-
- //restart send inactivity timer
- f_StopTimer(ias,pl_session);//to avoid warnings
- f_StartTimer(ias,pl_session);
-
- }//endif
-
- }//endfunction
-
- //******************************************************************
- function Conn_Timer_Expired(integer pl_session) runs on SCCP_CT
- //******************************************************************
- {
-
- //local declarations
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- if (ConnectionTable[pl_session].state==connection_pending_OG)
- {
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_NSP;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_abnormal_T;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[pl_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //release resources
- ReleaseResources(pl_session);
- }
- else if (ConnectionTable[pl_session].state==wait_conn_confirm)
- {
- ReleaseResources(pl_session);
- }
-
- }//Conn_Timer_Expired
-
- //******************************************************************
- function GenerateLocalReference() runs on SCCP_CT return OCT3
- //******************************************************************
- {
- var OCT3 vl_LocalReference;
-
- do
- {
- vl_LocalReference := int2oct(float2int(rnd()*tsp_maxLocalReference), 3 );
- }
- while ( Retrieve_session( vl_LocalReference ) != -1 );
- return vl_LocalReference;
-
- }//GenerateLocalReference
-
- //******************************************************************
- function GenerateConnectionId() runs on SCCP_CT return integer
- //******************************************************************
- {
- var integer vl_ConnectionId;
-
- do { vl_ConnectionId := float2int(rnd()*tsp_max_ConnectionId); }
- while ( Retrieve_session_connectionId( vl_ConnectionId ) != -1 );
-
- return vl_ConnectionId;
- }//GenerateConnectionId
-
- //******************************************************************
- function Stop_sessionTimers ( integer pl_session) runs on SCCP_CT
- //******************************************************************
- {
- if (T_conn_est[pl_session].running)
- { f_StopTimer(conn_est,pl_session);}
- if (T_ias[pl_session].running)
- { f_StopTimer(ias,pl_session);}
- if (T_iar[pl_session].running)
- { f_StopTimer(iar,pl_session);}
- if (T_rel[pl_session].running)
- { f_StopTimer(rel,pl_session);}
- if (T_repeat_rel[pl_session].running)
- { f_StopTimer(repeat_rel,pl_session);}
- if (T_int[pl_session].running)
- { f_StopTimer(int,pl_session);}
- // if (T_T_guard[pl_session].running)
- // { f_StopTimer(t_t_guard,pl_session);}
- if (T_reset[pl_session].running)
- { f_StopTimer(reset,pl_session);}
- //T_reassembly[pl_session].stop;
-
- }//Stop_sessionTimers
-
- //******************************************************************
- function CheckIdleIndividuals() runs on SCCP_CT return integer
- //******************************************************************
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if (ConnectionTable[vl_j].state==idle)
- {
- log("First idle individual index:",vl_j);
- return vl_j;
- }
- }
-
- return -1;
-
- }//CheckIdleIndividuals
-
- //******************************************************************
- function ConnectionAlreadyEstablished( OCT3 pl_LocRef) runs on SCCP_CT return boolean
- //******************************************************************
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if (ConnectionTable[vl_j].localReference==pl_LocRef)
- {
- return true;
- }
- }
- return false;
-
- } //ConnectionAlreadyEstablished
-
- //******************************************************************
- function ConnectionAlreadyEstablished_remote( OCT3 pl_LocRef) runs on SCCP_CT return boolean
- //******************************************************************
- {
- var integer vl_j;
-
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if (ConnectionTable[vl_j].remoteReference==pl_LocRef)
- {
- return true;
- }
- }
- return false;
-
- } //ConnectionAlreadyEstablished_remote
-
- //******************************************************************
- function ConnectionAlreadyEstablished_connectionId(integer pl_ConnId) runs on SCCP_CT return boolean
- //******************************************************************
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if (ConnectionTable[vl_j].connectionId==pl_ConnId)
- {
- return true;
- }
- }
-
- return false;
-
- } //ConnectionAlreadyEstablished_connectionId
-
- //******************************************************************
- function Retrieve_session( OCT3 pl_LocRef ) runs on SCCP_CT return integer
- //******************************************************************
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
-
- if (ConnectionTable[vl_j].localReference==pl_LocRef)
- {
- log("Session index based on local reference:",vl_j);
- return vl_j;
- }
- }
-
- return -1;
-
- } //Retrieve_session
-
- //******************************************************************
- function Retrieve_session_remote( OCT3 pl_LocRef )
- runs on SCCP_CT return integer
- //******************************************************************
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if (ConnectionTable[vl_j].remoteReference==pl_LocRef)
- {
- log("Session index based on remote reference:",vl_j);
- return vl_j;
- }
- }
- return -1;
-
- } //Retrieve_session_remote
-
- //******************************************************************
- function Retrieve_session_connectionId( integer pl_ConnId )
- runs on SCCP_CT return integer
- //******************************************************************
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if (ConnectionTable[vl_j].connectionId==pl_ConnId)
- {
- log("Session index based on connection ID:",vl_j);
- return vl_j;
- }
- }
- return -1;
-
- } //Retrieve_session_connectionId
-
- //==================================================================
- // Connectionless Segmented Data Handling/
- //==================================================================
- //==================================================================
- // SENDING: SCCP->MTP3 Segmentation Local Reference Handling
- // Handles segmLocRefTable,v_segmLocRefIndex,
- // which are defined in SCCP_typedefs.ttcn
- //==================================================================
-
- //******************************************************************
- //function exist_segmLocalRef
- //******************************************************************
-
- function exist_segmLocalRef( in OCT3 pl_segLocRef)
- runs on SCCP_CT return boolean
- {
- if( get_segmLocalRefIndex(pl_segLocRef) == -1 ) { return false;}
- else { return true; };
- } //exist_segmLocalRef
-
- //******************************************************************
- //function get_segLocalRefIndex
- //******************************************************************
-
- function get_segmLocalRefIndex(in OCT3 pl_segmLocRef)
- runs on SCCP_CT return integer
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if( segmLocRefTable[vl_j] == pl_segmLocRef ) { return vl_j;}
- }
- return -1;
- }//get_segLocalRefIndex
-
- //******************************************************************
- //function reset_segmLocalRef
- //******************************************************************
- function reset_segmLocalRef(in OCT3 pl_segmLocRef)
- runs on SCCP_CT
- {
- var integer vl_j;
- vl_j:= get_segmLocalRefIndex( pl_segmLocRef )
- segmLocRefTable[vl_j] := '000000'O;
- }
-
- //******************************************************************
- // function create_segmLocalRef
- //******************************************************************
-
- function create_segmLocalRef()
- runs on SCCP_CT return OCT3
- {
- var OCT3 vl_segmLocRef;
- v_segmLocRefIndex := (v_segmLocRefIndex +1) mod 16;
- do
- {
- vl_segmLocRef := int2oct(float2int( rnd() *tsp_maxLocalReference), 3 );
- }
- while ( exist_segmLocalRef( vl_segmLocRef ) );
-
- return vl_segmLocRef;
- }//create_segmLocalRef
-
- //==================================================================
- // RECEIVING CONNECTIONLESS PDUs BY SCCP
- //==================================================================
-
- //******************************************************************
- //function exist_ClessRcvBuff
- //******************************************************************
- function exist_ClessRcvBuff( in OCT3 pl_segmRemRef)
- runs on SCCP_CT return boolean
- {
- if( get_ClessRcvBuffIndex(pl_segmRemRef) == -1 ) { return false;}
- else { return true; };
- } //exist_ClessRcvBuff
-
- //******************************************************************
- //function get_segRemoteRefIndex
- //******************************************************************
- function get_ClessRcvBuffIndex(in OCT3 pl_segmRemRef)
- runs on SCCP_CT return integer
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if( ClessRcvBuffTable[vl_j].segmRemoteRef == pl_segmRemRef )
- { return vl_j;}
- }
- return -1;
- }//get_ClessRcvBuffIndex
-
- //******************************************************************
- //function get_idle_ClessRcvBuffIndex
- //******************************************************************
- function get_idle_ClessRcvBuffIndex( )
- runs on SCCP_CT return integer
- {
- var integer vl_j;
- for (vl_j:=0;vl_j<16;vl_j:=vl_j+1)
- {
- if( ClessRcvBuffTable[vl_j].state == segmLocRef_idle ) { return vl_j;}
- }
- return -1;
- }//get_idle_ClessRcvBuffIndex
-
- //******************************************************************
- //function allocate_ClessRcvBuff
- //******************************************************************
- function allocate_ClessRcvBuff(in OCT3 pl_segmRemRef)
- runs on SCCP_CT return integer
- {
- var OCT3 vl_segmRemRef;
- var integer vl_j;
-
- if( exist_ClessRcvBuff(pl_segmRemRef) ){ return -1;};
-
- vl_j := get_idle_ClessRcvBuffIndex();
- ClessRcvBuffTable[vl_j].state := segmLocRef_busy;
- ClessRcvBuffTable[vl_j].segmRemoteRef := pl_segmRemRef;
- ClessRcvBuffTable[vl_j].reassembler_buffer.buffer:=''O;
- ClessRcvBuffTable[vl_j].reassembler_buffer.actlen:=0;
- return vl_j;
-
- }//allocate_ClessRcvBuff
- //******************************************************************
- //function reallocate_ClessRcvBuff
- //******************************************************************
- function reallocate_ClessRcvBuff(in integer pl_index )
- runs on SCCP_CT
- {
- ClessRcvBuffTable[pl_index].state := segmLocRef_idle;
- // maybe unnecessaryy
- ClessRcvBuffTable[pl_index].segmRemoteRef := '000000'O;
- ClessRcvBuffTable[pl_index].reassembler_buffer.buffer:=''O;
- ClessRcvBuffTable[pl_index].reassembler_buffer.actlen:=0;
- return;
- }
-
- //******************************************************************
- //function store_segmData
- //******************************************************************
- function store_segmData(in integer pl_index, in PDU_SCCP_ExtUnitdata pl_PDU_SCCP_ExtUnitdata)
- runs on SCCP_CT
- {
- ClessRcvBuffTable[pl_index].reassembler_buffer.buffer:=
- ClessRcvBuffTable[pl_index].reassembler_buffer.buffer&
- pl_PDU_SCCP_ExtUnitdata.data.data;
- ClessRcvBuffTable[pl_index].reassembler_buffer.actlen:=
- ClessRcvBuffTable[pl_index].reassembler_buffer.actlen+
- pl_PDU_SCCP_ExtUnitdata.data.paramLength;
- } //store_segmData
-
- //******************************************************************
- //function send_ClessRcvBuff_in_N_UNITDATAind
- //******************************************************************
- function send_ClessRcvBuff_in_N_UNITDATAind (
- in integer pl_index,
- in PDU_SCCP_ExtUnitdata pl_PDU_SCCP_ExtUnitdata)
- runs on SCCP_CT
- {
- var ASP_SCCP_N_UNITDATA_ind vl_N_UNITDATA_ind;
-
- vl_N_UNITDATA_ind.calledAddress :=
- ConvertPDUEncodedAddressToASPAddress( pl_PDU_SCCP_ExtUnitdata.calledPAddress );
-
- vl_N_UNITDATA_ind.callingAddress :=
- ConvertPDUEncodedAddressToASPAddress( pl_PDU_SCCP_ExtUnitdata.callingPAddress );
-
- vl_N_UNITDATA_ind.sequenceControl:=
- '0000000'B&pl_PDU_SCCP_ExtUnitdata.protClass.class[3];
- if( pl_PDU_SCCP_ExtUnitdata.protClass.messageHandling == '1000'B )
- { vl_N_UNITDATA_ind.returnOption := '00000001'B; }
- else
- { vl_N_UNITDATA_ind.returnOption := '00000000'B; }
-
- vl_N_UNITDATA_ind.userData := ClessRcvBuffTable[pl_index].reassembler_buffer.buffer;
-
- vl_N_UNITDATA_ind.importance := omit;
-
- SCCP_SP_PORT.send( vl_N_UNITDATA_ind );
-
- return;
- }//send_ClessRcvBuff_in_N_UNITDATAind
-
- //******************************************************************
- //function send_ClessData_in_N_UNITDATAind
- // unbuffered data sending
- //******************************************************************
-
- function send_ClessData_in_N_UNITDATAind (
- in PDU_SCCP_ExtUnitdata pl_PDU_SCCP_ExtUnitdata)
- runs on SCCP_CT
- {
- var ASP_SCCP_N_UNITDATA_ind vl_N_UNITDATA_ind;
-
- vl_N_UNITDATA_ind.calledAddress :=
- ConvertPDUEncodedAddressToASPAddress( pl_PDU_SCCP_ExtUnitdata.calledPAddress );
-
- vl_N_UNITDATA_ind.callingAddress :=
- ConvertPDUEncodedAddressToASPAddress( pl_PDU_SCCP_ExtUnitdata.callingPAddress );
-
- vl_N_UNITDATA_ind.sequenceControl:=
- '0000000'B&pl_PDU_SCCP_ExtUnitdata.protClass.class[3];
- if( pl_PDU_SCCP_ExtUnitdata.protClass.messageHandling == '1000'B )
- { vl_N_UNITDATA_ind.returnOption := '00000001'B; }
- else
- { vl_N_UNITDATA_ind.returnOption := '00000000'B; }
-
- vl_N_UNITDATA_ind.userData := pl_PDU_SCCP_ExtUnitdata.data.data;
-
- vl_N_UNITDATA_ind.importance := omit;
-
- SCCP_SP_PORT.send( vl_N_UNITDATA_ind );
- return;
- }//send_ClessData_in_N_UNITDATAind
-
- //******************************************************************
- // CONN.ORIENTED SEGMENTING/REASSEMBLING
- //******************************************************************
-
- //******************************************************************
- // SEGMENTING
- //******************************************************************
-
- //******************************************************************
- // function sending_dataform1s_in_ASP_MTP_TRANSFERreqs
- // segmentates data and sends segments in dataform1 messages
- // included in asp_MTP3_TRANSFERreq PDUs
- // == segmentation - connection oriented case ==
- // counterpair: buffered_sending_ASP_N_DATA_ind
- //******************************************************************
- function sending_dataform1s_in_ASP_MTP_TRANSFERreqs( in ASP_SCCP_N_DATA_req pl_N_DATA_req )
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var integer vl_len;
- var integer vl_actdatalen;
- var SCCP_PAR_UserData vl_data;
- var integer vl_from; // first position in vl_data to be sent
- vl_data := pl_N_DATA_req.userData;
- vl_from := 0;
- // fixed part of messages:
- vl_PDU_SCCP.dataform1.messageType:=dt1;
- vl_PDU_SCCP.dataform1.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.dataform1.segmentingReassembl:={
- more:='1'B,
- reserved:='0000000'B
- };
- vl_PDU_SCCP.dataform1.pointer1:=1;
- // variable part of messages:
- vl_len := lengthof(vl_data);
-
- while ( vl_len > 0 )
- {
-
- log("vl_len:",vl_len);
- log("vl_from",vl_from);
- if(vl_len > v_sccp_data_maxlen)
- {
- vl_actdatalen := v_sccp_data_maxlen;
- vl_PDU_SCCP.dataform1.segmentingReassembl.more :='1'B;
- }
- else
- {
- vl_actdatalen := vl_len;
- vl_PDU_SCCP.dataform1.segmentingReassembl.more :='0'B;
- };
-
- vl_PDU_SCCP.dataform1.data.data:= substr( vl_data, vl_from, vl_actdatalen);
- vl_PDU_SCCP.dataform1.data.paramLength:= vl_actdatalen;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Data Form1
-
- log( "data sent by MTP3_SCCP_PORT: ",vl_PDU_SCCP.dataform1.data.data);
-
- //restart send inactivity timer
- f_StopTimer(ias,v_session);//to avoid warnings
- f_StartTimer(ias,v_session);
-
- vl_from := vl_from + vl_actdatalen;
- vl_len := vl_len - vl_actdatalen;
-
- }//while
- } //sending_dataform1s_in_ASP_MTP_TRANSFERreqs
-
- //******************************************************************
- // REASSEMBLING
- //******************************************************************
-
- //******************************************************************
- // function buffered_sending_ASP_N_DATA_ind
- // counterpair of sending_dataform1s_in_ASP_MTP_TRANSFERreqs
- //******************************************************************
-
- function buffered_sending_ASP_N_DATA_ind( in PDU_SCCP_DataForm1 pl_PDU_SCCP_DataForm1 )
- runs on SCCP_CT
- {
- // Investigate this shorcut (not implemented):
- // if actlen==0 and more==0=> send immediately
-
- // DT1 should be put to the reassembly buffer
- var integer vl_newbufflen;
- log("DT1 will be put to the reassembly buffer");
- //log( ConnectionTable[v_session].connectionId );
- vl_newbufflen := ConnectionTable[v_session].reassembler_buffer.actlen +
- pl_PDU_SCCP_DataForm1.data.paramLength;
-
- if( vl_newbufflen <= ConnectionTable[v_session].reassembler_buffer.maxlen)
- {
- ConnectionTable[v_session].reassembler_buffer.buffer :=
- ConnectionTable[v_session].reassembler_buffer.buffer &
- pl_PDU_SCCP_DataForm1.data.data;
- ConnectionTable[v_session].reassembler_buffer.actlen := vl_newbufflen;
- log("DT1 data has been put to the reassembly buffer");
- }
- else
- {
- //send as much as possible OR error ???? NOT READY YET !!!!
- //CONT HERE, ask LAFA
- log("Unexpected/unimplemented program branch");
- }
-
- // sending:
- if( pl_PDU_SCCP_DataForm1.segmentingReassembl.more == '0'B )
- {
- log("DT1/segmentingReassembl/more==0 received=> send ASP_SCCP_N_DATA comes");
- //send:
- SCCP_SP_PORT.send( t_ASP_N_DATA_ind(
- ConnectionTable[v_session].reassembler_buffer.buffer,
- ConnectionTable[v_session].connectionId,
- omit));
-
- //restart send inactivity timer
- f_StopTimer(ias,v_session);//to avoid warnings
- f_StartTimer(ias,v_session);
-
- // clear the buffer:
- ConnectionTable[v_session].reassembler_buffer.buffer :=''O;
- ConnectionTable[v_session].reassembler_buffer.actlen := 0;
- }
- else
- {
- log("DT1/segmentingReassembl/more==1 received=> sent to buffer only");
- }
- }//buffered_sending_ASP_N_DATA_ind
-
-
- //******************************************************************
- // CONVERSIONS
- //******************************************************************
- //
- // Differences between standards are hidden here !!!!
- //
- // 3 different functions working on different structures with the
- // virtually indentical code
-
- //******************************************************************
- // Functions coding ASP address into octetstream
- //******************************************************************
-
- // ITU
-
- function ConvertASPAddressToEncodedAddress_itu( in SCCP_PAR_Address pl_ASPAddress)
- runs on SCCP_CT
- return SCCP_param_CPartyAddressEnc
- {
-
- var SCCP_param_CPartyAddress_itu vl_PDUAddress; //structured fit to encoding
- var SCCP_param_CPartyAddressEnc vl_PDUAddressEncoded;
-
- vl_PDUAddress.addressIndicator.pointCodeIndic:=
- pl_ASPAddress.addressIndicator.pointCodeIndic;
-
- vl_PDUAddress.addressIndicator.ssnIndicator:=
- pl_ASPAddress.addressIndicator.ssnIndicator;
-
- vl_PDUAddress.addressIndicator.globalTitleIndic:=
- pl_ASPAddress.addressIndicator.globalTitleIndic;
-
- vl_PDUAddress.addressIndicator.routingIndicator:=
- pl_ASPAddress.addressIndicator.routingIndicator;
-
- vl_PDUAddress.addressIndicator.reserved:='0'B;
- // if (ischosen(pl_ASPAddress.signPointCode) ) not used because it is mandatory field (???)
-
- //----signPointCode handling
- if ( ispresent( pl_ASPAddress.signPointCode )) {
- vl_PDUAddress.signPointCode :=
- '00'B&pl_ASPAddress.signPointCode;
- } else {
- vl_PDUAddress.signPointCode := omit;
- };
-
- //----subsystemNumber handling
- if ( ispresent( pl_ASPAddress.subsystemNumber ) ){
- vl_PDUAddress.subsystemNumber := pl_ASPAddress.subsystemNumber;
- } else {
- vl_PDUAddress.subsystemNumber :=omit;
- };
-
- // --- globalTitle handling--
- if ( ispresent(pl_ASPAddress.globalTitle))
- {//startif1
-
- var SCCP_ASPfield_GlobalTitle tmpGT ;
- tmpGT := pl_ASPAddress.globalTitle;
-
- if (ischosen(tmpGT.gti0001))
- {
- vl_PDUAddress.globalTitle.gti0001.natureOfAddress:=tmpGT.gti0001.natureOfAddress;
- vl_PDUAddress.globalTitle.gti0001.oddeven:=tmpGT.gti0001.oddeven;
- vl_PDUAddress.globalTitle.gti0001.globalTitleAddress:=tmpGT.gti0001.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0010))
- {
- vl_PDUAddress.globalTitle.gti0010.translationType:=tmpGT.gti0010.translationType;
- vl_PDUAddress.globalTitle.gti0010.globalTitleAddress:=tmpGT.gti0010.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0011))
- {
- vl_PDUAddress.globalTitle.gti0011.translationType:=tmpGT.gti0011.translationType;
- vl_PDUAddress.globalTitle.gti0011.encodingScheme:=tmpGT.gti0011.encodingScheme;
- vl_PDUAddress.globalTitle.gti0011.numberingPlan:=tmpGT.gti0011.numberingPlan;
- vl_PDUAddress.globalTitle.gti0011.globalTitleAddress:=tmpGT.gti0011.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0100))
- {
- vl_PDUAddress.globalTitle.gti0100.translationType:=tmpGT.gti0100.translationType;
- vl_PDUAddress.globalTitle.gti0100.encodingScheme:=tmpGT.gti0100.encodingScheme;
- vl_PDUAddress.globalTitle.gti0100.numberingPlan:=tmpGT.gti0100.numberingPlan;
- vl_PDUAddress.globalTitle.gti0100.natureOfAddress:=tmpGT.gti0100.natureOfAddress;
- vl_PDUAddress.globalTitle.gti0100.reserved:='0'B;
- vl_PDUAddress.globalTitle.gti0100.globalTitleAddress:=tmpGT.gti0100.globalTitleAddress;
- }
- }
- else
- {
- vl_PDUAddress.globalTitle := omit;
- };
-
- vl_PDUAddressEncoded.addr:= enc_PDU_SCCP_Address_itu( vl_PDUAddress);
- vl_PDUAddressEncoded.paramLength:= lengthof(vl_PDUAddressEncoded.addr);
-
- return vl_PDUAddressEncoded;
-
- } //ConvertASPAddressToEncodedAddress_itu
-
- //******************************************************************
-
- // ANSI
- function ConvertASPAddressToEncodedAddress_ansi(in SCCP_PAR_Address pl_ASPAddress)
- runs on SCCP_CT return SCCP_param_CPartyAddressEnc
- {
-
- var SCCP_param_CPartyAddress_ansi vl_PDUAddress; //structured fit to encoding
- var SCCP_param_CPartyAddressEnc vl_PDUAddressEncoded;
-
- vl_PDUAddress.addressIndicator.pointCodeIndic:=
- pl_ASPAddress.addressIndicator.pointCodeIndic;
-
- vl_PDUAddress.addressIndicator.ssnIndicator:=
- pl_ASPAddress.addressIndicator.ssnIndicator;
-
- vl_PDUAddress.addressIndicator.globalTitleIndic:=
- pl_ASPAddress.addressIndicator.globalTitleIndic;
-
- vl_PDUAddress.addressIndicator.routingIndicator:=
- pl_ASPAddress.addressIndicator.routingIndicator;
-
- vl_PDUAddress.addressIndicator.reserved:='1'B;
-
- //----signPointCode handling
- if ( ispresent( pl_ASPAddress.signPointCode )){
- vl_PDUAddress.signPointCode := pl_ASPAddress.signPointCode;
- } else {
- vl_PDUAddress.signPointCode := omit;
- };
-
- //----subsystemNumber handling
- if ( ispresent( pl_ASPAddress.subsystemNumber )) {
- vl_PDUAddress.subsystemNumber:=pl_ASPAddress.subsystemNumber;
- } else {
- vl_PDUAddress.subsystemNumber :=omit;
- };
-
- if (ispresent(pl_ASPAddress.globalTitle))
- {//startif1
-
- var SCCP_ASPfield_GlobalTitle tmpGT := pl_ASPAddress.globalTitle;
-
-
- if (ischosen(tmpGT.gti0010))
- {
- vl_PDUAddress.globalTitle.gti0010.translationType:=tmpGT.gti0010.translationType;
- vl_PDUAddress.globalTitle.gti0010.globalTitleAddress:=tmpGT.gti0010.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0011)) //ansi gti001, meaning:
- //used GT: SCCP_field_GlobalTitle_TT_NP_ES
- {
- //the left side is ANSI!!!:
- vl_PDUAddress.globalTitle.gti0001.translationType:=tmpGT.gti0011.translationType;
- vl_PDUAddress.globalTitle.gti0001.encodingScheme:=tmpGT.gti0011.encodingScheme;
- vl_PDUAddress.globalTitle.gti0001.numberingPlan:=tmpGT.gti0011.numberingPlan;
- vl_PDUAddress.globalTitle.gti0001.globalTitleAddress:=tmpGT.gti0011.globalTitleAddress;
- };
-
- }
- else
- {
- vl_PDUAddress.globalTitle := omit;
- };
-
- // SCCP_param_CPartyAddress_ansi -> octetstring
- vl_PDUAddressEncoded.addr:= enc_PDU_SCCP_Address_ansi( vl_PDUAddress);
- vl_PDUAddressEncoded.paramLength:= lengthof(vl_PDUAddressEncoded.addr);
-
- return vl_PDUAddressEncoded
-
- } //ConvertASPAddressToEncodedAddress_ansi
-
- // ttc national:
-
- function ConvertASPAddressToEncodedAddress_ttc( in SCCP_PAR_Address pl_ASPAddress)
- runs on SCCP_CT
- return SCCP_param_CPartyAddressEnc
- {
-
- var SCCP_param_CPartyAddress_ttc vl_PDUAddress; //structured fit to encoding
- var SCCP_param_CPartyAddressEnc vl_PDUAddressEncoded;
-
- vl_PDUAddress.addressIndicator.pointCodeIndic:=
- pl_ASPAddress.addressIndicator.pointCodeIndic;
-
- vl_PDUAddress.addressIndicator.ssnIndicator:=
- pl_ASPAddress.addressIndicator.ssnIndicator;
-
- vl_PDUAddress.addressIndicator.globalTitleIndic:=
- pl_ASPAddress.addressIndicator.globalTitleIndic;
-
- vl_PDUAddress.addressIndicator.routingIndicator:=
- pl_ASPAddress.addressIndicator.routingIndicator;
-
- vl_PDUAddress.addressIndicator.reserved:='1'B;
-
- //----signPointCode handling
- if ( ispresent( pl_ASPAddress.signPointCode )) {
- vl_PDUAddress.signPointCode := pl_ASPAddress.signPointCode;
- } else {
- vl_PDUAddress.signPointCode := omit;
- };
-
- //----subsystemNumber handling
- if ( ispresent( pl_ASPAddress.subsystemNumber ) ){
- vl_PDUAddress.subsystemNumber:= pl_ASPAddress.subsystemNumber;
- } else {
- vl_PDUAddress.subsystemNumber :=omit;
- };
-
- // --- globalTitle handling--
- if ( ispresent(pl_ASPAddress.globalTitle))
- {//startif1
-
- var SCCP_ASPfield_GlobalTitle tmpGT ;
- tmpGT := pl_ASPAddress.globalTitle;
-
- if (ischosen(tmpGT.gti0001))
- {
- vl_PDUAddress.globalTitle.gti0001.natureOfAddress:=tmpGT.gti0001.natureOfAddress;
- vl_PDUAddress.globalTitle.gti0001.oddeven:=tmpGT.gti0001.oddeven;
- vl_PDUAddress.globalTitle.gti0001.globalTitleAddress:=tmpGT.gti0001.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0010))
- {
- vl_PDUAddress.globalTitle.gti0010.translationType:=tmpGT.gti0010.translationType;
- vl_PDUAddress.globalTitle.gti0010.globalTitleAddress:=tmpGT.gti0010.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0011))
- {
- vl_PDUAddress.globalTitle.gti0011.translationType:=tmpGT.gti0011.translationType;
- vl_PDUAddress.globalTitle.gti0011.encodingScheme:=tmpGT.gti0011.encodingScheme;
- vl_PDUAddress.globalTitle.gti0011.numberingPlan:=tmpGT.gti0011.numberingPlan;
- vl_PDUAddress.globalTitle.gti0011.globalTitleAddress:=tmpGT.gti0011.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0100))
- {
- vl_PDUAddress.globalTitle.gti0100.translationType:=tmpGT.gti0100.translationType;
- vl_PDUAddress.globalTitle.gti0100.encodingScheme:=tmpGT.gti0100.encodingScheme;
- vl_PDUAddress.globalTitle.gti0100.numberingPlan:=tmpGT.gti0100.numberingPlan;
- vl_PDUAddress.globalTitle.gti0100.natureOfAddress:=tmpGT.gti0100.natureOfAddress;
- vl_PDUAddress.globalTitle.gti0100.reserved:='0'B;
- vl_PDUAddress.globalTitle.gti0100.globalTitleAddress:=tmpGT.gti0100.globalTitleAddress;
- };
- }
- else
- {
- vl_PDUAddress.globalTitle := omit;
- };
-
- vl_PDUAddressEncoded.addr:= enc_PDU_SCCP_Address_ttc( vl_PDUAddress);
- vl_PDUAddressEncoded.paramLength:= lengthof(vl_PDUAddressEncoded.addr);
-
- return vl_PDUAddressEncoded;
-
- } //ConvertASPAddressToEncodedAddress_ttc
-
- // mpt national:
-
- function ConvertASPAddressToEncodedAddress_mpt( in SCCP_PAR_Address pl_ASPAddress)
- runs on SCCP_CT
- return SCCP_param_CPartyAddressEnc
- {
-
- var SCCP_param_CPartyAddress_mpt vl_PDUAddress; //structured fit to encoding
- var SCCP_param_CPartyAddressEnc vl_PDUAddressEncoded;
-
- vl_PDUAddress.addressIndicator.pointCodeIndic:=
- pl_ASPAddress.addressIndicator.pointCodeIndic;
-
- vl_PDUAddress.addressIndicator.ssnIndicator:=
- pl_ASPAddress.addressIndicator.ssnIndicator;
-
- vl_PDUAddress.addressIndicator.globalTitleIndic:=
- pl_ASPAddress.addressIndicator.globalTitleIndic;
-
- vl_PDUAddress.addressIndicator.routingIndicator:=
- pl_ASPAddress.addressIndicator.routingIndicator;
-
- vl_PDUAddress.addressIndicator.reserved:='1'B;
-
- //----signPointCode handling
- if ( ispresent( pl_ASPAddress.signPointCode )) {
- vl_PDUAddress.signPointCode := pl_ASPAddress.signPointCode;
- } else {
- vl_PDUAddress.signPointCode := omit;
- };
-
- //----subsystemNumber handling
- if ( ispresent( pl_ASPAddress.subsystemNumber ) ){
- vl_PDUAddress.subsystemNumber:= pl_ASPAddress.subsystemNumber;
- } else {
- vl_PDUAddress.subsystemNumber :=omit;
- };
-
- // --- globalTitle handling--
- if ( ispresent(pl_ASPAddress.globalTitle))
- {//startif1
-
- var SCCP_ASPfield_GlobalTitle tmpGT ;
- tmpGT := pl_ASPAddress.globalTitle;
-
- if (ischosen(tmpGT.gti0001))
- {
- vl_PDUAddress.globalTitle.gti0001.natureOfAddress:=tmpGT.gti0001.natureOfAddress;
- vl_PDUAddress.globalTitle.gti0001.oddeven:=tmpGT.gti0001.oddeven;
- vl_PDUAddress.globalTitle.gti0001.globalTitleAddress:=tmpGT.gti0001.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0010))
- {
- vl_PDUAddress.globalTitle.gti0010.translationType:=tmpGT.gti0010.translationType;
- vl_PDUAddress.globalTitle.gti0010.globalTitleAddress:=tmpGT.gti0010.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0011))
- {
- vl_PDUAddress.globalTitle.gti0011.translationType:=tmpGT.gti0011.translationType;
- vl_PDUAddress.globalTitle.gti0011.encodingScheme:=tmpGT.gti0011.encodingScheme;
- vl_PDUAddress.globalTitle.gti0011.numberingPlan:=tmpGT.gti0011.numberingPlan;
- vl_PDUAddress.globalTitle.gti0011.globalTitleAddress:=tmpGT.gti0011.globalTitleAddress;
- }
- else if (ischosen(tmpGT.gti0100))
- {
- vl_PDUAddress.globalTitle.gti0100.translationType:=tmpGT.gti0100.translationType;
- vl_PDUAddress.globalTitle.gti0100.encodingScheme:=tmpGT.gti0100.encodingScheme;
- vl_PDUAddress.globalTitle.gti0100.numberingPlan:=tmpGT.gti0100.numberingPlan;
- vl_PDUAddress.globalTitle.gti0100.natureOfAddress:=tmpGT.gti0100.natureOfAddress;
- vl_PDUAddress.globalTitle.gti0100.reserved:='0'B;
- vl_PDUAddress.globalTitle.gti0100.globalTitleAddress:=tmpGT.gti0100.globalTitleAddress;
- };
- }
- else
- {
- vl_PDUAddress.globalTitle := omit;
- };
-
- vl_PDUAddressEncoded.addr:= enc_PDU_SCCP_Address_mpt( vl_PDUAddress);
- vl_PDUAddressEncoded.paramLength:= lengthof(vl_PDUAddressEncoded.addr);
-
- return vl_PDUAddressEncoded;
-
- } //ConvertASPAddressToEncodedAddress_mpt
-
- //******************************************************************
-
- //******************************************************************
- // CONVERSION / DECODING
- //******************************************************************
-
- //******************************************************************
- // function ConvertPDUEncodedAddressToASPAddress_itu
- // converts Encoded PDU Address into sturctured ASP Address
- // according to ITU
- //******************************************************************
- function ConvertPDUEncodedAddressToASPAddress_itu( in SCCP_param_CPartyAddressEnc pl_PDUAddress)
- runs on SCCP_CT return SCCP_PAR_Address
- {
- var SCCP_PAR_Address vl_ASPAddress;
- var SCCP_ASPfield_GlobalTitle tmpGT; // the same for itu, ansi and ttc
- var SCCP_param_CPartyAddress_itu vl_PDUAddress;
-
- //new code detail (ethbaat 2003.11.04:
- // decoding from octetstring to structure "SCCP_param_CPartyAddress_itu":
- vl_PDUAddress := dec_PDU_SCCP_Address_itu( pl_PDUAddress.addr );
-
- vl_ASPAddress.addressIndicator.pointCodeIndic :=
- vl_PDUAddress.addressIndicator.pointCodeIndic;
-
- vl_ASPAddress.addressIndicator.ssnIndicator :=
- vl_PDUAddress.addressIndicator.ssnIndicator;
-
- vl_ASPAddress.addressIndicator.globalTitleIndic :=
- vl_PDUAddress.addressIndicator.globalTitleIndic;
-
- vl_ASPAddress.addressIndicator.routingIndicator :=
- vl_PDUAddress.addressIndicator.routingIndicator;
-
- if (ispresent ( vl_PDUAddress.signPointCode)) {
- vl_ASPAddress.signPointCode:= substr(vl_PDUAddress.signPointCode,2,14);
- }
- else {
- vl_ASPAddress.signPointCode := omit; //ethbaat 2003.11.04
- }
-
- if (ispresent (vl_PDUAddress.subsystemNumber )) { //always suggested ...
- vl_ASPAddress.subsystemNumber:= vl_PDUAddress.subsystemNumber;
- }
- else {
- vl_ASPAddress.subsystemNumber:=omit; //ethbaat 2003.11.04
- }
-
- if( ispresent( vl_PDUAddress.globalTitle ) ){
- if (ischosen (vl_PDUAddress.globalTitle.gti0001))
- {
- tmpGT.gti0001.natureOfAddress:=vl_PDUAddress.globalTitle.gti0001.natureOfAddress;
- tmpGT.gti0001.oddeven:=vl_PDUAddress.globalTitle.gti0001.oddeven;
- tmpGT.gti0001.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0001.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0010))
- {
- tmpGT.gti0010.translationType:=vl_PDUAddress.globalTitle.gti0010.translationType;
- tmpGT.gti0010.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0010.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0011))
- {
- tmpGT.gti0011.translationType :=vl_PDUAddress.globalTitle.gti0011.translationType;
- tmpGT.gti0011.encodingScheme :=vl_PDUAddress.globalTitle.gti0011.encodingScheme;
- tmpGT.gti0011.numberingPlan :=vl_PDUAddress.globalTitle.gti0011.numberingPlan;
- tmpGT.gti0011.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0011.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0100))
- {
- tmpGT.gti0100.translationType :=vl_PDUAddress.globalTitle.gti0100.translationType;
- tmpGT.gti0100.encodingScheme :=vl_PDUAddress.globalTitle.gti0100.encodingScheme;
- tmpGT.gti0100.numberingPlan :=vl_PDUAddress.globalTitle.gti0100.numberingPlan;
- tmpGT.gti0100.natureOfAddress :=vl_PDUAddress.globalTitle.gti0100.natureOfAddress
- //tmpGT.gti0100.reserved:='00'B;
- tmpGT.gti0100.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0100.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- }
- }
- else
- {
- vl_ASPAddress.globalTitle:= omit;
- };
-
- return vl_ASPAddress;
- } //ConvertPDUEncodedAddressToASPAddress_itu
-
- //******************************************************************
- // function ConvertPDUEncodedAddressToASPAddress_ansi
- // converts Encoded PDU Address into sturctured ASP Address
- // according to ANSI
- //******************************************************************
-
- function ConvertPDUEncodedAddressToASPAddress_ansi( in SCCP_param_CPartyAddressEnc pl_PDUAddress)
- runs on SCCP_CT return SCCP_PAR_Address
- {
- var SCCP_PAR_Address vl_ASPAddress;
- var SCCP_ASPfield_GlobalTitle tmpGT; // the same for itu, ansi and ttc
- var SCCP_param_CPartyAddress_ansi vl_PDUAddress;
-
- //new code detail (ethbaat 2003.11.04:
- // decoding from octetstring to structure "SCCP_param_CPartyAddress_itu":
- vl_PDUAddress := dec_PDU_SCCP_Address_ansi( pl_PDUAddress.addr );
-
- vl_ASPAddress.addressIndicator.pointCodeIndic :=
- vl_PDUAddress.addressIndicator.pointCodeIndic;
-
- vl_ASPAddress.addressIndicator.ssnIndicator :=
- vl_PDUAddress.addressIndicator.ssnIndicator;
-
- vl_ASPAddress.addressIndicator.globalTitleIndic :=
- vl_PDUAddress.addressIndicator.globalTitleIndic;
-
- vl_ASPAddress.addressIndicator.routingIndicator :=
- vl_PDUAddress.addressIndicator.routingIndicator;
-
- if (ispresent (vl_PDUAddress.signPointCode )) {
- vl_ASPAddress.signPointCode:= vl_PDUAddress.signPointCode;
- }
- else {
- //vl_ASPAddress.signPointCode.pointCode:='0000000000000000'B; //or empty??? ( 16len bitstring
- vl_ASPAddress.signPointCode:= omit; //ethbaat 2003.11.11
- }
-
- if (ispresent (vl_PDUAddress.subsystemNumber)) { //always suggested ...
- vl_ASPAddress.subsystemNumber:= vl_PDUAddress.subsystemNumber;
- }
- else {
- vl_ASPAddress.subsystemNumber:=omit; //ethbaat 2003.11.04
- //vl_ASPAddress.subsystemNumber:= 0;
- };
-
- if( ispresent( vl_PDUAddress.globalTitle ) ){
- if (ischosen (vl_PDUAddress.globalTitle.gti0001))
- {
- tmpGT.gti0011.translationType :=vl_PDUAddress.globalTitle.gti0001.translationType;
- tmpGT.gti0011.encodingScheme :=vl_PDUAddress.globalTitle.gti0001.encodingScheme;
- tmpGT.gti0011.numberingPlan :=vl_PDUAddress.globalTitle.gti0001.numberingPlan;
- tmpGT.gti0011.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0001.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- }
- if (ischosen (vl_PDUAddress.globalTitle.gti0010))
- {
- tmpGT.gti0010.translationType:=vl_PDUAddress.globalTitle.gti0010.translationType;
- tmpGT.gti0010.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0010.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- };
- }
- else
- {
- vl_ASPAddress.globalTitle:= omit;
- };
-
- return vl_ASPAddress;
- } //ConvertPDUEncodedAddressToASPAddress_ansi
-
- //******************************************************************
- // function ConvertPDUEncodedAddressToASPAddress_ttc
- // converts Encoded PDU Address into sturctured ASP Address
- // according to ttc
- //******************************************************************
- function ConvertPDUEncodedAddressToASPAddress_ttc( in SCCP_param_CPartyAddressEnc pl_PDUAddress)
- runs on SCCP_CT return SCCP_PAR_Address
- {
- var SCCP_PAR_Address vl_ASPAddress;
- var SCCP_ASPfield_GlobalTitle tmpGT; // the same for itu, ansi and ttc
- var SCCP_param_CPartyAddress_ttc vl_PDUAddress;
-
- //new code detail (ethbaat 2003.11.04:
- // decoding from octetstring to structure "SCCP_param_CPartyAddress_itu":
- vl_PDUAddress := dec_PDU_SCCP_Address_ttc( pl_PDUAddress.addr );
-
- vl_ASPAddress.addressIndicator.pointCodeIndic :=
- vl_PDUAddress.addressIndicator.pointCodeIndic;
-
- vl_ASPAddress.addressIndicator.ssnIndicator :=
- vl_PDUAddress.addressIndicator.ssnIndicator;
-
- vl_ASPAddress.addressIndicator.globalTitleIndic :=
- vl_PDUAddress.addressIndicator.globalTitleIndic;
-
- vl_ASPAddress.addressIndicator.routingIndicator :=
- vl_PDUAddress.addressIndicator.routingIndicator;
-
- if (ispresent ( vl_PDUAddress.signPointCode)) {
- vl_ASPAddress.signPointCode:= vl_PDUAddress.signPointCode; //old:substr(vl_PDUAddress.signPointCode,2,16);
- }
- else {
- vl_ASPAddress.signPointCode := omit; //ethbaat 2003.11.04
- }
-
- if (ispresent (vl_PDUAddress.subsystemNumber )) { //always suggested ...
- vl_ASPAddress.subsystemNumber:= vl_PDUAddress.subsystemNumber;
- }
- else {
- vl_ASPAddress.subsystemNumber:=omit; //ethbaat 2003.11.04
- }
-
- if( ispresent( vl_PDUAddress.globalTitle)){
- if (ischosen (vl_PDUAddress.globalTitle.gti0001))
- {
- tmpGT.gti0001.natureOfAddress:=vl_PDUAddress.globalTitle.gti0001.natureOfAddress;
- tmpGT.gti0001.oddeven:=vl_PDUAddress.globalTitle.gti0001.oddeven;
- tmpGT.gti0001.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0001.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0010))
- {
- tmpGT.gti0010.translationType:=vl_PDUAddress.globalTitle.gti0010.translationType;
- tmpGT.gti0010.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0010.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0011))
- {
- tmpGT.gti0011.translationType :=vl_PDUAddress.globalTitle.gti0011.translationType;
- tmpGT.gti0011.encodingScheme :=vl_PDUAddress.globalTitle.gti0011.encodingScheme;
- tmpGT.gti0011.numberingPlan :=vl_PDUAddress.globalTitle.gti0011.numberingPlan;
- tmpGT.gti0011.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0011.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0100))
- {
- tmpGT.gti0100.translationType :=vl_PDUAddress.globalTitle.gti0100.translationType;
- tmpGT.gti0100.encodingScheme :=vl_PDUAddress.globalTitle.gti0100.encodingScheme;
- tmpGT.gti0100.numberingPlan :=vl_PDUAddress.globalTitle.gti0100.numberingPlan;
- tmpGT.gti0100.natureOfAddress :=vl_PDUAddress.globalTitle.gti0100.natureOfAddress;
- //tmpGT.gti0100.reserved:='00'B;
- tmpGT.gti0100.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0100.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- };
- }
- else
- {
- vl_ASPAddress.globalTitle:= omit;
- };
-
- return vl_ASPAddress;
- } //ConvertPDUEncodedAddressToASPAddress_ttc
-
- //******************************************************************
- // function ConvertPDUEncodedAddressToASPAddress_mpt
- // converts Encoded PDU Address into sturctured ASP Address
- // according to mpt
- //******************************************************************
- function ConvertPDUEncodedAddressToASPAddress_mpt( in SCCP_param_CPartyAddressEnc pl_PDUAddress)
- runs on SCCP_CT return SCCP_PAR_Address
- {
- var SCCP_PAR_Address vl_ASPAddress;
- var SCCP_ASPfield_GlobalTitle tmpGT; // the same for itu, ansi and ttc
- var SCCP_param_CPartyAddress_mpt vl_PDUAddress;
-
- vl_PDUAddress := dec_PDU_SCCP_Address_mpt( pl_PDUAddress.addr );
-
- vl_ASPAddress.addressIndicator.pointCodeIndic :=
- vl_PDUAddress.addressIndicator.pointCodeIndic;
-
- vl_ASPAddress.addressIndicator.ssnIndicator :=
- vl_PDUAddress.addressIndicator.ssnIndicator;
-
- vl_ASPAddress.addressIndicator.globalTitleIndic :=
- vl_PDUAddress.addressIndicator.globalTitleIndic;
-
- vl_ASPAddress.addressIndicator.routingIndicator :=
- vl_PDUAddress.addressIndicator.routingIndicator;
-
- if (ispresent ( vl_PDUAddress.signPointCode)) {
- vl_ASPAddress.signPointCode:= vl_PDUAddress.signPointCode;
- }
- else {
- vl_ASPAddress.signPointCode := omit;
- }
-
- if (ispresent (vl_PDUAddress.subsystemNumber )) { //always suggested ...
- vl_ASPAddress.subsystemNumber:= vl_PDUAddress.subsystemNumber;
- }
- else {
- vl_ASPAddress.subsystemNumber:=omit;
- }
-
- if( ispresent( vl_PDUAddress.globalTitle)){
- if (ischosen (vl_PDUAddress.globalTitle.gti0001))
- {
- tmpGT.gti0001.natureOfAddress:=vl_PDUAddress.globalTitle.gti0001.natureOfAddress;
- tmpGT.gti0001.oddeven:=vl_PDUAddress.globalTitle.gti0001.oddeven;
- tmpGT.gti0001.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0001.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0010))
- {
- tmpGT.gti0010.translationType:=vl_PDUAddress.globalTitle.gti0010.translationType;
- tmpGT.gti0010.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0010.globalTitleAddress;
- vl_ASPAddress.globalTitle:=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0011))
- {
- tmpGT.gti0011.translationType :=vl_PDUAddress.globalTitle.gti0011.translationType;
- tmpGT.gti0011.encodingScheme :=vl_PDUAddress.globalTitle.gti0011.encodingScheme;
- tmpGT.gti0011.numberingPlan :=vl_PDUAddress.globalTitle.gti0011.numberingPlan;
- tmpGT.gti0011.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0011.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- }
- else if (ischosen (vl_PDUAddress.globalTitle.gti0100))
- {
- tmpGT.gti0100.translationType :=vl_PDUAddress.globalTitle.gti0100.translationType;
- tmpGT.gti0100.encodingScheme :=vl_PDUAddress.globalTitle.gti0100.encodingScheme;
- tmpGT.gti0100.numberingPlan :=vl_PDUAddress.globalTitle.gti0100.numberingPlan;
- tmpGT.gti0100.natureOfAddress :=vl_PDUAddress.globalTitle.gti0100.natureOfAddress;
- //tmpGT.gti0100.reserved:='00'B;
- tmpGT.gti0100.globalTitleAddress:=vl_PDUAddress.globalTitle.gti0100.globalTitleAddress;
- vl_ASPAddress.globalTitle :=tmpGT;
- };
- }
- else
- {
- vl_ASPAddress.globalTitle:= omit;
- };
-
- return vl_ASPAddress;
- } //ConvertPDUEncodedAddressToASPAddress_mpt
-
- //==================================================================
- // MAIN CONVERSION FUNCTIONS:
- //==================================================================
-
- //******************************************************************
- // function ConvertASPAddressToEncodedAddress
- // converts ASP address structure to PDU address structure
- // THIS IS THE MAIN ENCODE FUNCTION (coordinator)
- //******************************************************************
-
- function ConvertASPAddressToEncodedAddress( in SCCP_PAR_Address pl_ASPAddress)
- runs on SCCP_CT return SCCP_param_CPartyAddressEnc
- {
- var SCCP_param_CPartyAddressEnc vl_PDUAddressEncoded;
- if( ( v_SCCPServiceType == mtp3_itu) or
- ( v_SCCPServiceType == mtp3b_itu))
- {
- return ConvertASPAddressToEncodedAddress_itu( pl_ASPAddress );
- }
- else if( (v_SCCPServiceType == mtp3_ansi) or
- (v_SCCPServiceType == mtp3b_ansi))
- {
- return ConvertASPAddressToEncodedAddress_ansi( pl_ASPAddress );
- }
- else if((v_SCCPServiceType == mtp3_ttc) or
- (v_SCCPServiceType == mtp3b_ttc))
- {
- if( (v_SIO == '83'O) or (v_SIO == '43'O) or (v_SIO == 'C3'O) ) //ttc national
- {
- return ConvertASPAddressToEncodedAddress_ttc( pl_ASPAddress );
- }
- else
- { //international == itu
- return ConvertASPAddressToEncodedAddress_itu( pl_ASPAddress );
- }
- }//if1
- else if((v_SCCPServiceType == mtp3_mpt))
- {
- if( v_NI == 2 ) //mpt national
- {
- return ConvertASPAddressToEncodedAddress_mpt( pl_ASPAddress );
- }
- else
- { //international == itu
- return ConvertASPAddressToEncodedAddress_itu( pl_ASPAddress );
- }
- }//if1
- else {
- log("Error in ConvertASPAddressToEncodedAddress: Unknown SCCPServiceType");
- stop;
- }
- return vl_PDUAddressEncoded; // error!!!
- }
-
- //******************************************************************
- // function ConvertPDUEncodedAddressToASPAddress
- // converts Encoded PDU Address into sturctured ASP Address
- // THIS IS THE MAIN DECODE FUNCTION (coordinator)
- //******************************************************************
-
-
- function ConvertPDUEncodedAddressToASPAddress( in SCCP_param_CPartyAddressEnc pl_PDUAddress)
- runs on SCCP_CT return SCCP_PAR_Address
- {
- var SCCP_PAR_Address vl_dummyretval;
-
- if( (v_SCCPServiceType == mtp3_itu) or
- (v_SCCPServiceType == mtp3b_itu) )
- {
- return ConvertPDUEncodedAddressToASPAddress_itu( pl_PDUAddress );
- }
- else if( (v_SCCPServiceType == mtp3_ansi) or
- (v_SCCPServiceType == mtp3b_ansi) )
- {
- return ConvertPDUEncodedAddressToASPAddress_ansi( pl_PDUAddress );
- }
- else if( (v_SCCPServiceType == mtp3_ttc) or
- (v_SCCPServiceType == mtp3b_ttc)){
- if( (v_SIO == '83'O) or (v_SIO == '43'O) or (v_SIO == 'C3'O) )
- {
- //ttc national
- return ConvertPDUEncodedAddressToASPAddress_ttc( pl_PDUAddress );
- }
- else {
- return ConvertPDUEncodedAddressToASPAddress_itu( pl_PDUAddress );
- }
- }
- else if((v_SCCPServiceType == mtp3_mpt))
- {
- if( v_NI == 2 ) //mpt national
- {
- return ConvertPDUEncodedAddressToASPAddress_mpt( pl_PDUAddress );
- }
- else
- { //international == itu
- return ConvertPDUEncodedAddressToASPAddress_itu( pl_PDUAddress );
- }
- }
- else {
- log("Error in function ConvertPDUEncodedAddressToASPAddress, Unknown SCCPSCCPType");
- stop;
- }
- return vl_dummyretval;
- }//ConvertPDUEncodedAddressToASPAddress
-/*
-//*************************************************************************
-//*************************************************************************
-//EncDec ComponentBehaviour
-//*************************************************************************
-//*************************************************************************
-
- // TO DO:Desk check it! As I see, it's OK, but the meaning has been changed\
- // because structure of PDU_SCCP has been changed
-
- //*************************************************************************
- function ScanRAWPorts() runs on SCCP_EncDec_CT
- //*************************************************************************
- {
- //local declarations
- var ASP_MTP3_TRANSFERind vl_ASP_MTP3_TRANSFERind;
- var ASP_MTP3_TRANSFERreq vl_ASP_MTP3_TRANSFERreq;
- var ASP_MTP3_TRANSFERreq_sccp vl_ASP_MTP3_TRANSFERreq_sccp
-
- var PDU_SCCP vl_PDU_SCCP;
- var integer vl_msg_type;
-
- while (true)
- {
- alt
- {
-
- //********************************************************************
- //message received from SCCP , containing a PDU to be encoded
- //********************************************************************
-
- []MTP3_SCCP_SP_PORT.receive( tr_ASP_MTP3_TRANSFERreq_sccp) -> value vl_ASP_MTP3_TRANSFERreq_sccp
- {
- var bitstring vl_sio_bit := oct2bit(vl_ASP_MTP3_TRANSFERreq_sccp.sio);
- var MTP3_Field_sio vl_sio_struct;
- vl_sio_struct.ni := substr(vl_sio_bit,0,2);
- vl_sio_struct.prio := substr(vl_sio_bit,2,2);
- vl_sio_struct.si := substr(vl_sio_bit,4,4);
-
- MTP3_PORT.send(t_ASP_MTP3_TRANSFERreq(
- vl_sio_struct,
- vl_ASP_MTP3_TRANSFERreq_sccp.opc,
- vl_ASP_MTP3_TRANSFERreq_sccp.dpc,
- vl_ASP_MTP3_TRANSFERreq_sccp.sls,
- enc_PDU_SCCP(vl_ASP_MTP3_TRANSFERreq_sccp.data)
- ));
- }
-
- //********************************************************************
- //message received from MTP3 , containing an octetstring to be decoded:
- //********************************************************************
-
- []MTP3_PORT.receive(tr_ASP_MTP3_TRANSFERind) -> value vl_ASP_MTP3_TRANSFERind
- {//startStatementBlock
- if (vl_ASP_MTP3_TRANSFERind.sio.si != '0011'B)
- {
- log("The received message is not SCCP. Ignored.");
- repeat;
- }
- vl_msg_type:= oct2int( vl_ASP_MTP3_TRANSFERind.data[0] );
-
- select(vl_msg_type)
- {
- case (xudt) // '11'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
- MTP3_SCCP_SP_PORT.send( vl_PDU_SCCP.extudata );
- }
- case (udt) //'09'O
- {
- //decode octetstring
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_Unitdata(
- vl_PDU_SCCP.unitdata.protClass,
- vl_PDU_SCCP.unitdata.calledPAddress,
- vl_PDU_SCCP.unitdata.callingPAddress,
- vl_PDU_SCCP.unitdata.data));
-
- }//endif
- case (dt1)//'06'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_DataForm1(
- vl_PDU_SCCP.dataform1.destLocRef,
- vl_PDU_SCCP.dataform1.segmentingReassembl,
- vl_PDU_SCCP.dataform1.data
- ));
- }
- case (cr) //'01'O
- {//startif
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- if (ispresent(vl_PDU_SCCP.connrequest.eop))
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ConnectionRequest(
- vl_PDU_SCCP.connrequest.sourceLocRef,
- vl_PDU_SCCP.connrequest.protClass,
- vl_PDU_SCCP.connrequest.calledPAddress,
- vl_PDU_SCCP.connrequest.optionalPart.credit,
- vl_PDU_SCCP.connrequest.optionalPart.callingPAddress,
- vl_PDU_SCCP.connrequest.optionalPart.data,
- vl_PDU_SCCP.connrequest.optionalPart.hopCounter,
- vl_PDU_SCCP.connrequest.optionalPart.importance,
- vl_PDU_SCCP.connrequest.eop
- ));
- }
- else
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ConnectionRequest(
- vl_PDU_SCCP.connrequest.sourceLocRef,
- vl_PDU_SCCP.connrequest.protClass,
- vl_PDU_SCCP.connrequest.calledPAddress,
- vl_PDU_SCCP.connrequest.optionalPart.credit,
- vl_PDU_SCCP.connrequest.optionalPart.callingPAddress,
- vl_PDU_SCCP.connrequest.optionalPart.data,
- vl_PDU_SCCP.connrequest.optionalPart.hopCounter,
- vl_PDU_SCCP.connrequest.optionalPart.importance,
- omit
- ));
- }
-
- }
- case (cc) //'02'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- if (ispresent(vl_PDU_SCCP.connconfirm.eop))
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ConnectionConfirm(
- vl_PDU_SCCP.connconfirm.destLocRef,
- vl_PDU_SCCP.connconfirm.sourceLocRef,
- vl_PDU_SCCP.connconfirm.protClass,
- vl_PDU_SCCP.connconfirm.optionalPart.credit,
- vl_PDU_SCCP.connconfirm.optionalPart.calledPAddress,
- vl_PDU_SCCP.connconfirm.optionalPart.data,
- vl_PDU_SCCP.connconfirm.optionalPart.importance,
- vl_PDU_SCCP.connconfirm.eop ));
- }
- else
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ConnectionConfirm(
- vl_PDU_SCCP.connconfirm.destLocRef,
- vl_PDU_SCCP.connconfirm.sourceLocRef,
- vl_PDU_SCCP.connconfirm.protClass,
- vl_PDU_SCCP.connconfirm.optionalPart.credit,
- vl_PDU_SCCP.connconfirm.optionalPart.calledPAddress,
- vl_PDU_SCCP.connconfirm.optionalPart.data,
- vl_PDU_SCCP.connconfirm.optionalPart.importance,
- omit));
- }
-
- }
- case (udts) //'0A'O
- {//startif
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_UnitdataService(
- vl_PDU_SCCP.udataserv.returnCause,
- vl_PDU_SCCP.udataserv.calledPAddress,
- vl_PDU_SCCP.udataserv.callingPAddress,
- vl_PDU_SCCP.udataserv.data));
-
- }//endif
- case (rlsd) //'04'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- if (ispresent(vl_PDU_SCCP.released.eop))
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_Released(
- vl_PDU_SCCP.released.destLocRef,
- vl_PDU_SCCP.released.sourceLocRef,
- vl_PDU_SCCP.released.releaseCause,
- vl_PDU_SCCP.released.optionalPart.data,
- vl_PDU_SCCP.released.optionalPart.importance,
- vl_PDU_SCCP.released.eop
- ));
- }
- else
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_Released(
- vl_PDU_SCCP.released.destLocRef,
- vl_PDU_SCCP.released.sourceLocRef,
- vl_PDU_SCCP.released.releaseCause,
- vl_PDU_SCCP.released.optionalPart.data,
- vl_PDU_SCCP.released.optionalPart.importance,
- omit
- ));
- }
-
- }
- case (err)//'0F'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ProtDataUnitError(
- vl_PDU_SCCP.pduerror.destLocRef,
- vl_PDU_SCCP.pduerror.errorCause
- ));
- }
- case (rlc)//'05'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ReleaseComplete(
- vl_PDU_SCCP.relcomp.destLocRef,
- vl_PDU_SCCP.relcomp.sourceLocRef
- ));
- }
- case (it)//'10'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_InactivityTest(
- vl_PDU_SCCP.inacttest.destLocRef,
- vl_PDU_SCCP.inacttest.sourceLocRef,
- vl_PDU_SCCP.inacttest.protClass,
- vl_PDU_SCCP.inacttest.sequencingSegmenting,
- vl_PDU_SCCP.inacttest.credit
- ));
- }
- case (rsr)//'0D'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ResetRequest(
- vl_PDU_SCCP.resetreq.destLocRef,
- vl_PDU_SCCP.resetreq.sourceLocRef,
- vl_PDU_SCCP.resetreq.resetCause
- ));
- }
- case (rsc)//'0E'O
- {
-
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ResetConfirm(
- vl_PDU_SCCP.resconf.destLocRef,
- vl_PDU_SCCP.resconf.sourceLocRef
- ));
- }//endif
- case (cref)//'03'O
- {
- vl_PDU_SCCP:=dec_PDU_SCCP(vl_ASP_MTP3_TRANSFERind.data);
-
- if (ispresent(vl_PDU_SCCP.connrefused.eop))
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ConnectionRefused(
- vl_PDU_SCCP.connrefused.destLocRef,
- vl_PDU_SCCP.connrefused.refusalCause,
- vl_PDU_SCCP.connrefused.optionalPart.calledPAddress,
- vl_PDU_SCCP.connrefused.optionalPart.data,
- vl_PDU_SCCP.connrefused.optionalPart.importance,
- vl_PDU_SCCP.connrefused.eop
- ));
- }
- else
- {
- MTP3_SCCP_SP_PORT.send( t_PDU_SCCP_ConnectionRefused(
- vl_PDU_SCCP.connrefused.destLocRef,
- vl_PDU_SCCP.connrefused.refusalCause,
- vl_PDU_SCCP.connrefused.optionalPart.calledPAddress,
- vl_PDU_SCCP.connrefused.optionalPart.data,
- vl_PDU_SCCP.connrefused.optionalPart.importance,
- omit
- ));
- }
- }
- case (xudts,ludt,ludts)
- {
- log ("Unsupported connectionless message ((-XUDT or)) XUDTS or LUDT or LUDTS - received and discarded");
- }
- case (dt2,ak,ed,ea )
- {
- log ("Unsupported connection-oriented message -DT2 or AK or ED or EA - received and discarded");
- }
- case else { log ("Unrecognized message received and discarded"); }
- }
- }//endStatementBlock
-
- }//endalt
-
- }//endwhile
-
- }//endfunction
-*/
-
-//******************************************************************
-//
-// working functions for ScanEvents
-//
-//******************************************************************
-
-//******************************************************************
-// Part 1 : Receiving msg on port "MTP3_SCCP_PORT"
-//******************************************************************
-
-
- //******************************************************************
- // processing_PDU_SCCP_Unitdata
- //******************************************************************
- function processing_PDU_SCCP_Unitdata( in PDU_SCCP_Unitdata pl_PDU_SCCP_Unitdata)
- runs on SCCP_CT
- {
- //var PDU_SCCP_Unitdata vl_PDU_SCCP_Unitdata;
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_UNITDATA_ind vl_N_UNITDATA_ind;
-
- vl_PDU_SCCP.unitdata:= pl_PDU_SCCP_Unitdata;
-
- // it should be decoded to structure to read if it is a mgmt message or not
- vl_N_UNITDATA_ind.calledAddress :=
- ConvertPDUEncodedAddressToASPAddress(pl_PDU_SCCP_Unitdata.calledPAddress);
-
- if ( ispresent(vl_N_UNITDATA_ind.calledAddress.subsystemNumber) and
- vl_N_UNITDATA_ind.calledAddress.subsystemNumber != cg_SSN_sCCPmanagement)
- //SCCP mgmt message
- {//startif1
-
- //no SCCP or node congestion assumed
- //'route on SSN' assumed
-
- //subsystems are assumed equipped and available
- //as the message is received from MTP3 , DPC is assumed to be matching the PC of the own node without
- // any further checks
-
- //assemble ASP_SCCP_N_
- vl_N_UNITDATA_ind.callingAddress:=
- ConvertPDUEncodedAddressToASPAddress(pl_PDU_SCCP_Unitdata.callingPAddress);
-
- // Wrong old:
- //vl_N_UNITDATA_ind.sequenceControl:=
- // '0000000'B&pl_PDU_SCCP_Unitdata.protClass.class[0]; // Q.713/3.6 0.bit=1=>seq msb???
-
- vl_N_UNITDATA_ind.sequenceControl:=
- '0000000'B&pl_PDU_SCCP_Unitdata.protClass.class[3];
-
- if( pl_PDU_SCCP_Unitdata.protClass.messageHandling == '1000'B )
- { vl_N_UNITDATA_ind.returnOption := '00000001'B; }
- else
- { vl_N_UNITDATA_ind.returnOption := '00000000'B; }
-
- //connectionless-class 0 or 1
- //protocol class 0- SCCP_sequence_ctrl_off
- //protocol class 1- SCCP_sequence_ctrl_on
- // wrong: vl_N_UNITDATA_ind.returnOption :='0000000'B&pl_PDU_SCCP_Unitdata.protClass.messageHandling[3];
-
- //only two values( '0000'B -no special options
- //and '1000'B -return message on error) assumed
- //octetstring vs. length+octetstring
- vl_N_UNITDATA_ind.userData :=pl_PDU_SCCP_Unitdata.data.data;
- vl_N_UNITDATA_ind.importance := omit;
- SCCP_SP_PORT.send( vl_N_UNITDATA_ind );
-
-
- }//endif1
- else { //startelse1-SCCPmanagement message
-
- log ("SCCP management message received");
- var octetstring vl_data;
- vl_data:=pl_PDU_SCCP_Unitdata.data.data;
-
- vl_PDU_SCCP.unitdata.messageType:=udt ;
- vl_PDU_SCCP.unitdata.calledPAddress:=pl_PDU_SCCP_Unitdata.callingPAddress;
- vl_PDU_SCCP.unitdata.callingPAddress:=pl_PDU_SCCP_Unitdata.calledPAddress;
-
- if ((vl_data[0]=='03'O) and //SST message
- ((v_SSN==0) or (oct2int(vl_data[1])==v_SSN))) //right SSN
- {//startif2
-
- //send Unitdata with SSA
- vl_PDU_SCCP.unitdata.data.data[0]:='01'O;//Change to SSA
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Unitdata_SSA
-
- }//endif2
- else if ((vl_data[0]=='02'O) and //SSP message
- ((v_SSN==0) or (oct2int(vl_data[1])==v_SSN))) //right SSN
- {//startif2
-
- //send Unitdata with SST
- vl_PDU_SCCP.unitdata.data.data[0]:='03'O;//Change to SST
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Unitdata_SST
-
- }//endif2
- else if ((vl_data[0]=='01'O) and //SSA message
- ((v_SSN==0) or (oct2int(vl_data[1])==v_SSN))) //right SSN
- {//startif2
-
- //send Unitdata with SS
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP ));//send Unitdata_SSA
-
- }//endif2
- else
- {
- log("Unsupported (or containing inconsistent SSN)SCCP management message received and discarded")
- }
- }//endelse1
- return;
- } // processing_PDU_SCCP_Unitdata()
-
- //******************************************************************
- // processing_PDU_SCCP_UnitdataService
- //******************************************************************
- function processing_PDU_SCCP_UnitdataService( in PDU_SCCP_UnitdataService pl_PDU_SCCP_UnitdataService )
- runs on SCCP_CT
- {
-
- var ASP_SCCP_N_NOTICE_ind vl_N_NOTICE_ind;
-
- //no SCCP or node congestion assumed
- //'route on SSN' assumed
-
- //subsystems are assumed equipped and available
- //as the message is received from MTP3 , DPC is assumed to be the PC of the own node without
- // any further checks
-
- //assemble ASP_SCCP_N_
-
- vl_N_NOTICE_ind.calledAddress :=ConvertPDUEncodedAddressToASPAddress(pl_PDU_SCCP_UnitdataService.calledPAddress );
- vl_N_NOTICE_ind.callingAddress:=ConvertPDUEncodedAddressToASPAddress(pl_PDU_SCCP_UnitdataService.callingPAddress);
- //one to one mapping between reasonForReturn and returnCause -Q713 A5
- vl_N_NOTICE_ind.reasonForReturn := pl_PDU_SCCP_UnitdataService.returnCause ;
- vl_N_NOTICE_ind.userData := pl_PDU_SCCP_UnitdataService.data.data ;
-
- SCCP_SP_PORT.send( t_ASP_N_NOTICE_ind(
- vl_N_NOTICE_ind.calledAddress ,
- vl_N_NOTICE_ind.callingAddress,
- vl_N_NOTICE_ind.reasonForReturn,
- vl_N_NOTICE_ind.userData ,
- omit));
-
- }// processing_PDU_SCCP_UnitdataService
-
-
- //******************************************************************
- // processing_PDU_SCCP_ConnectionRequest
- //******************************************************************
- function processing_PDU_SCCP_ConnectionRequest( in PDU_SCCP_ConnectionRequest pl_PDU_SCCP_ConnectionRequest)
- runs on SCCP_CT
- {
- //no SCCP or node congestion assumed
- //we assume that routing is done on SSN; we are in the dest.node
- //SS is equipped and available
-
- //check if connection already established
- //local reference not assigned yet; search has to be done based on remote reference,
- // to prevent erroneous situations
- //for all other MTP3_ASPs, search is done based on destLocRef, containing the local
- //reference sent to the neighbouring node
-
- if (ConnectionAlreadyEstablished_remote(pl_PDU_SCCP_ConnectionRequest.sourceLocRef))
- {//startif3
- v_session :=Retrieve_session_remote(pl_PDU_SCCP_ConnectionRequest.sourceLocRef);
- //Action Table follows
-
- if (ConnectionTable[v_session].state==idle)
- { log("CR received with reference for an already established conn. in state:idle");}//no source ref known
- else if (ConnectionTable[v_session].state==active)
- { log("CR received with reference for an already established conn. in state:active");}
- else if (ConnectionTable[v_session].state==reset_bothway)
- { log("CR received with reference for an already established conn. in state:reset_bothway");}
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("CR received with reference for an already established conn. in state:connection_pending_IC");}
- //discard message, return
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log("CR received with reference for an already established conn. in state:disconnect_pending");}//discard message, return
- else if (ConnectionTable[v_session].state==reset_IC) {//startif4
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the dummy timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
-
- }//endif4
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif4
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
- }//endif4
- }//endif3
- else {//startelse
-
- //*************************************************************************
- //connection not yet established - new v_session
- //check if resources available
- v_session:=CheckIdleIndividuals()
-
- //idle individual found , resources available, 0<=v_session<=15
- if ( v_session!=-1 )
- {//startif3
- //
- ConnectionTable[v_session].localReference := GenerateLocalReference();
- ConnectionTable[v_session].remoteReference:= pl_PDU_SCCP_ConnectionRequest.sourceLocRef;
- //local reference assigned here!!(see Fig. C.3/Q714)
-
- ConnectionTable[v_session].connectionId := GenerateConnectionId();
-
- //once local reference is assigned , a session is considered established
- //determine protocol class
- //assemble ASP_SCCP_N_
- //start guard timer T_guard ;if no answer to ASP_SCCP_N_CONNECT_ind is received, timer will release
-
- var ASP_SCCP_N_CONNECT_ind vl_N_CONNECT_ind;
- f_StartTimer(t_guard,v_session);
-
- vl_N_CONNECT_ind.calledAddress:=ConvertPDUEncodedAddressToASPAddress(pl_PDU_SCCP_ConnectionRequest.calledPAddress);
-
- if (ispresent(pl_PDU_SCCP_ConnectionRequest.optionalPart))
- {
- if (ispresent(pl_PDU_SCCP_ConnectionRequest.optionalPart.callingPAddress))
- {//startif4
-
- //temporary variable to avoid type conversion problems
- var SCCP_param_CPartyAddressEnc vl_PDUAddress;
- vl_PDUAddress.addr := pl_PDU_SCCP_ConnectionRequest.optionalPart.callingPAddress.addr;
- vl_PDUAddress.paramLength := pl_PDU_SCCP_ConnectionRequest.optionalPart.callingPAddress.paramLength;
- vl_N_CONNECT_ind.callingAddress:= ConvertPDUEncodedAddressToASPAddress(vl_PDUAddress);
-
- }//endif4
- else {vl_N_CONNECT_ind.callingAddress:=omit}
-
- if (ispresent(pl_PDU_SCCP_ConnectionRequest.optionalPart.data))
- {//startif4
- //temporary variable to avoid type conversion problems
- var SCCP_param_Data_opt vl_SCCP_param_Data_opt;
-
- vl_SCCP_param_Data_opt:=pl_PDU_SCCP_ConnectionRequest.optionalPart.data;
- vl_N_CONNECT_ind.userData:=vl_SCCP_param_Data_opt.data;
-
- }//endif4
- else {vl_N_CONNECT_ind.userData:=omit}
- }
- else
- {
- vl_N_CONNECT_ind.callingAddress:=omit;
- vl_N_CONNECT_ind.userData:=omit;
- }
-
- vl_N_CONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_CONNECT_ind(
- vl_N_CONNECT_ind.calledAddress,
- vl_N_CONNECT_ind.callingAddress,
- omit,
- vl_N_CONNECT_ind.userData, //ethcky
- vl_N_CONNECT_ind.connectionId,
- omit));//send ASP_SCCP_N_CONNECT_ind
-
- //restart send inactivity timer (baat)
- f_StopTimer(ias,v_session);//to avoid warnings
- f_StartTimer(ias,v_session);
- ConnectionTable[v_session].state:=connection_pending_IC;
-
- }//endif3
-
- //no idle individual found , no resources available , v_session=-1
- if (v_session==-1)
- {//startif3
-
- var PDU_SCCP vl_PDU_SCCP;
- //assemble and route MTP3 ASP
- vl_PDU_SCCP.connrefused.messageType:=cref;
- vl_PDU_SCCP.connrefused.destLocRef:=pl_PDU_SCCP_ConnectionRequest.sourceLocRef;
- vl_PDU_SCCP.connrefused.refusalCause:=1;//End user congestion
- vl_PDU_SCCP.connrefused.pointer1:=0;// No options
- vl_PDU_SCCP.connrefused.optionalPart:=omit;
- vl_PDU_SCCP.connrefused.eop:=omit;
- MTP3_SCCP_PORT.send ( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Connection refused, no idle individuals
- //return to idle
- }//endif3
- }//endelse
-
- }//processing_PDU_SCCP_ConnectionRequest
-
-//******************************************************************
-// processing_PDU_SCCP_ConnectionConfirm
-//******************************************************************
- function processing_PDU_SCCP_ConnectionConfirm( in PDU_SCCP_ConnectionConfirm pl_PDU_SCCP_ConnectionConfirm)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_CONNECT_cfm vl_N_CONNECT_cfm;
-
- log(pl_PDU_SCCP_ConnectionConfirm);
-
- //Store data parameter
- var template SCCP_PAR_UserData tl_data := omit;
- if (ispresent(pl_PDU_SCCP_ConnectionConfirm.optionalPart))
- {
- if (ispresent(pl_PDU_SCCP_ConnectionConfirm.optionalPart.data))
- {
- tl_data := pl_PDU_SCCP_ConnectionConfirm.optionalPart.data.data;
- }
- }
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_ConnectionConfirm.destLocRef))
- {//startif2
- v_session :=Retrieve_session(pl_PDU_SCCP_ConnectionConfirm.destLocRef);
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)
- {
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_unassignedDestinationLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
- //then return to idle
- }
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("CC received in state:connection_pending_IC"); }//discard message, return
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log("CC received in state:disconnect_pending"); }//discard message, return
- else if (ConnectionTable[v_session].state==active)
- { log("CC received in state:active"); }//do nothing, return
- else if (ConnectionTable[v_session].state==reset_bothway)
- { log("CC received in state:reset_bothway"); }//
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //start inactivity timers
- f_StartTimer(ias,v_session);
- f_StartTimer(iar,v_session);
- //assign protocol class:=2, associate remote reference
- ConnectionTable[v_session].remoteReference:=pl_PDU_SCCP_ConnectionConfirm.sourceLocRef;
- //assemble ASP_SCCP_N_
- vl_N_CONNECT_cfm.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_CONNECT_cfm(
- omit,
- omit,
- tl_data,
- vl_N_CONNECT_cfm.connectionId,
- omit
- ));//send ASP_SCCP_N_CONNECT_confirm
-
- ConnectionTable[v_session].state:=active;
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)//connection is confirmed ,
- // but it has meanwhile been disconnected by the user
- {//startif3
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //associate remote reference to connection
- ConnectionTable[v_session].remoteReference:=pl_PDU_SCCP_ConnectionConfirm.sourceLocRef;
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[v_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=cg_DISC_normal;
- vl_PDU_SCCP.released.pointer1:=0;//No options
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
- //start release timer
- f_StartTimer(rel,v_session);
- ConnectionTable[v_session].state:=disconnect_pending;
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
-
- }//endif3
- else { log("CC received in an unexpected state"); }
- }//endif2
- else {//startelse -Connection confirm received with destLocRef not in ConnectionTable
- //send ERR
-
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=pl_PDU_SCCP_ConnectionConfirm.sourceLocRef;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_unassignedDestinationLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
- }//endelse
-
- }//processing_PDU_SCCP_ConnectionConfirm
-
- //******************************************************************
- // processing_PDU_SCCP_Released
- //******************************************************************
- function processing_PDU_SCCP_Released( in PDU_SCCP_Released pl_PDU_SCCP_Released)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- //Store data parameter
- var template SCCP_PAR_UserData tl_data := omit;
- if (ispresent(pl_PDU_SCCP_Released.optionalPart))
- {
- if (ispresent(pl_PDU_SCCP_Released.optionalPart.data))
- {
- tl_data := pl_PDU_SCCP_Released.optionalPart.data.data;
- }
- }
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_Released.destLocRef))
- {//startif1
- v_session :=Retrieve_session(pl_PDU_SCCP_Released.destLocRef);
- //check if remote reference is correct -Table B.2 /Q.714
- if (ConnectionTable[v_session].remoteReference==pl_PDU_SCCP_Released.sourceLocRef)
- {//startif2
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)//C.3- 1/6 ????nem valoszinu hogy ez eloallhat
- {//startif3
-
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.relcomp.messageType:=rlc;
- vl_PDU_SCCP.relcomp.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.relcomp.sourceLocRef:=ConnectionTable[v_session].localReference;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Release complete
- //then return to idle
- }//endif3
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("RLSD received in state:connection_pending_IC");}//discard message, return
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log("RLSD received in state:disconnect_pending");}//discard message, return
- else if (ConnectionTable[v_session].state==active)
- {//startif3
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_Mapping_RelCause_Orig[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.reason:=cg_Mapping_RelCause_Reason[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- tl_data,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.relcomp.messageType :=rlc;
- vl_PDU_SCCP.relcomp.destLocRef :=pl_PDU_SCCP_Released.sourceLocRef;
- vl_PDU_SCCP.relcomp.sourceLocRef:=pl_PDU_SCCP_Released.destLocRef;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Release complete
-
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.relcomp.messageType :=rlc;
- vl_PDU_SCCP.relcomp.destLocRef :=pl_PDU_SCCP_Released.sourceLocRef;
- vl_PDU_SCCP.relcomp.sourceLocRef:=pl_PDU_SCCP_Released.destLocRef;
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Release complete
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
-
- vl_N_DISCONNECT_ind.originator :=cg_Mapping_RelCause_Orig[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.reason :=cg_Mapping_RelCause_Reason[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- tl_data,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
-
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.relcomp.messageType :=rlc;
- vl_PDU_SCCP.relcomp.destLocRef :=pl_PDU_SCCP_Released.sourceLocRef;
- vl_PDU_SCCP.relcomp.sourceLocRef :=pl_PDU_SCCP_Released.destLocRef;
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Release complete
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_Mapping_RelCause_Orig[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.reason :=cg_Mapping_RelCause_Reason[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- tl_data,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //release resources, stop inactivity timers, change state to idle
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==reset_bothway)
- {//startif3
- //assemble ASP_SCCP_N_
-
- vl_N_DISCONNECT_ind.originator:=cg_Mapping_RelCause_Orig[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.reason :=cg_Mapping_RelCause_Reason[pl_PDU_SCCP_Released.releaseCause];
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- tl_data,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //release resources, stop inactivity timers, change state to idle
- ReleaseResources(v_session);
-
- }//endif3
- else { log("RLSD received in an unexpected state"); }
- }//endif2
- else {//remote reference inconsistent, error action follows
-
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef :=pl_PDU_SCCP_Released.sourceLocRef;
- vl_PDU_SCCP.pduerror.errorCause :=cg_Err_inconsistentSourceLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
- }//endelse
- }//endif1
- else {//Released(Y,X) received with destLocRef not in ConnectionTable
- //send RLC(X,Y)
-
- vl_PDU_SCCP.relcomp.messageType :=rlc;
- vl_PDU_SCCP.relcomp.destLocRef :=pl_PDU_SCCP_Released.sourceLocRef;
- vl_PDU_SCCP.relcomp.sourceLocRef:=pl_PDU_SCCP_Released.destLocRef;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Release complete
-
- }//endelse
- }//processing_PDU_SCCP_Released
-
- //******************************************************************
- // processing_PDU_SCCP_ProtDataUnitError
- //******************************************************************
- function processing_PDU_SCCP_ProtDataUnitError( in PDU_SCCP_ProtDataUnitError pl_PDU_SCCP_ProtDataUnitError)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_ProtDataUnitError.destLocRef))
- {//startif2
- v_session :=Retrieve_session(pl_PDU_SCCP_ProtDataUnitError.destLocRef);
- //Action Table follows
-
- if (ConnectionTable[v_session].state==idle)
- {//startif3
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_unassignedDestinationLRN;
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
- //then return to idle
-
- }//endif3
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log("PDUError received in state:disconnect_pending ");}//discard message, return
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("PDUError received in state:connection_pending_IC ");}//discard message, return
- else if (ConnectionTable[v_session].state==reset_bothway)
- {//startif3
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator :=cg_Undefined;
- vl_N_DISCONNECT_ind.reason :=pl_PDU_SCCP_ProtDataUnitError.errorCause;//?
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //release resources, stop inactivity timers, change state to idle
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==active)
- {//startif3
- if (pl_PDU_SCCP_ProtDataUnitError.errorCause!=cg_Err_serviceClassMismatch)
- {//startif4
-
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_Undefined;
- vl_N_DISCONNECT_ind.reason:=pl_PDU_SCCP_ProtDataUnitError.errorCause;//?
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
-
- }//endif4
- else {//startelse -Service class mismatch
-
- //assemble ASP_SCCP_N_
-
- vl_N_DISCONNECT_ind.originator :=cg_Undefined;
- vl_N_DISCONNECT_ind.reason :=pl_PDU_SCCP_ProtDataUnitError.errorCause;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //stop inactivity timers
- f_StopTimer(iar,v_session);
- f_StopTimer(ias,v_session);
- //send Released
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[v_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=cg_Rel_inconsConnData;
- vl_PDU_SCCP.released.pointer1:=0;//No optional part
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- //start release timer
- f_StartTimer(rel,v_session);
- //change state to diconnect pending
- ConnectionTable[v_session].state:=disconnect_pending;
-
- }//endelse
-
- }//endif3
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
-
- vl_N_DISCONNECT_ind.originator :=cg_Undefined;
- vl_N_DISCONNECT_ind.reason :=pl_PDU_SCCP_ProtDataUnitError.errorCause;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
-
-
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_Undefined;
- vl_N_DISCONNECT_ind.reason:=pl_PDU_SCCP_ProtDataUnitError.errorCause;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
-
- //release resources, stop inactivity timers, change state to idle
- ReleaseResources(v_session);
-
- }//endif3
- else { log("PDUError received in an unexpected state"); }
- }//endif2
- else {}//PDU_Error received with destLocRef not in ConnectionTable
-
- }//processing_PDU_SCCP_ProtDataUnitError
-
- //******************************************************************
- // processing_PDU_SCCP_ReleaseComplete
- //******************************************************************
- function processing_PDU_SCCP_ReleaseComplete(in PDU_SCCP_ReleaseComplete pl_PDU_SCCP_ReleaseComplete)
- runs on SCCP_CT
- {
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_ReleaseComplete.destLocRef))
- {//startif1
-
- v_session :=Retrieve_session(pl_PDU_SCCP_ReleaseComplete.destLocRef);
- //check if remote reference is correct -Table B.2 /Q.714
- if (ConnectionTable[v_session].remoteReference==pl_PDU_SCCP_ReleaseComplete.sourceLocRef)
- {//startif2
-
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)
- { log("RLC received in state: idle"); }//C.3 1/6-do nothing-return to idle state
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("RLC received in state: connection_pending_IC"); }//discard message, return
- else if (ConnectionTable[v_session].state==active)
- { log("RLC received in state: active"); }//do nothing, return
- else if (ConnectionTable[v_session].state==reset_bothway)
- { log("RLC received in state:reset_bothway "); }//
- else if (ConnectionTable[v_session].state==disconnect_pending)
- {//startif3
- log("RLC received in state:disconnect_pending ");
- //log("release resources");
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_NSU;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_normal;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
- log("RLC received in state:wait_conn_confirm");
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
- log("RLC received in state:reset_IC");
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
- }//endif3
- else { log("RLC received in an unexpected state"); }
-
- }//endif2
- else {}//remote reference inconsistent, discard
-
- }//endif1
- else {}//Release complete received with destLocRef not in ConnectionTable
- //discard
-
- }//processing_PDU_SCCP_ReleaseComplete
-
- //******************************************************************
- // processing_PDU_SCCP_InactivityTest
- //******************************************************************
- function processing_PDU_SCCP_InactivityTest( in PDU_SCCP_InactivityTest pl_PDU_SCCP_InactivityTest)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_InactivityTest.destLocRef))
- {//startif1
- v_session :=Retrieve_session(pl_PDU_SCCP_InactivityTest.destLocRef);
-
- //check if remote reference is correct -Table B.2 /Q.714
- if (ConnectionTable[v_session].remoteReference==pl_PDU_SCCP_InactivityTest.sourceLocRef)
- {//startif2
-
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)
- { log("IT received in state :idle "); }//C.3 1/6-do nothing-return to idle state
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("IT received in state : connection_pending_IC"); }//discard message, return
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator := cg_NSU;
- vl_N_DISCONNECT_ind.reason := cg_DISC_normal;
- vl_N_DISCONNECT_ind.connectionId := ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
-
- }//endif3
- else if (ConnectionTable[v_session].state==disconnect_pending) {}
- else if (ConnectionTable[v_session].state==reset_bothway) {}//
- else if (ConnectionTable[v_session].state==active)
- {//startif3
- //source reference number assumed OK
- //or:
- //if (ConnectionTable[v_session].remoteReference!=pl_PDU_SCCP_InactivityTest.sourceLocRef)
- // release connection
- //protocol class assumed 2
- //restart receive inactivity timer
- f_StopTimer(iar,v_session);//to avoid warnings
- f_StartTimer(iar,v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
-
- }//endif3
- else { log("IT received in an unexpected state"); }
- }//endif2
- else {//remote reference inconsistent, error action follows
- //message received with remote reference not the same as stored
- // two RLSD messages are sent back, one to the sored and to the received remote reference
- //sent first RLSD-see B.2/Q.714
-
- vl_PDU_SCCP.released.messageType :=rlsd;
- vl_PDU_SCCP.released.destLocRef :=pl_PDU_SCCP_InactivityTest.sourceLocRef;
- vl_PDU_SCCP.released.sourceLocRef:=pl_PDU_SCCP_InactivityTest.destLocRef;
- vl_PDU_SCCP.released.releaseCause:=cg_Rel_inconsConnData;
- vl_PDU_SCCP.released.pointer1:=0;
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- //sent second RLSD-see B.2/Q.714
- vl_PDU_SCCP.released.destLocRef :=ConnectionTable[v_session].remoteReference;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Released
-
- }//endelse
-
- }//endif1
- else {}//Inactivity test received with destLocRef not in ConnectionTable
- //discard
-
- }//processing_PDU_SCCP_InactivityTest
-
- //******************************************************************
- // processing_PDU_SCCP_ResetRequest
- //******************************************************************
- function processing_PDU_SCCP_ResetRequest ( in PDU_SCCP_ResetRequest pl_PDU_SCCP_ResetRequest)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_ResetRequest.destLocRef))
- {//startif1
- v_session :=Retrieve_session(pl_PDU_SCCP_ResetRequest.destLocRef);
- //check if remote reference is correct -Table B.2 /Q.714
-
- if (ConnectionTable[v_session].remoteReference==pl_PDU_SCCP_ResetRequest.sourceLocRef)
- {//startif2
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)
- {//startif3
-
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_unassignedDestinationLRN;
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
- //then return to idle
-
- }//endif3
- else if (ConnectionTable[v_session].state==connection_pending_IC) {}//discard message, return
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- vl_N_DISCONNECT_ind.originator:=cg_NSU;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_normal;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==disconnect_pending) {}
- else if (ConnectionTable[v_session].state==reset_bothway)
- {//startif3
-
- //assemble ASP_SCCP_N_
- var ASP_SCCP_N_RESET_cfm vl_N_RESET_cfm;
- vl_N_RESET_cfm.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_RESET_cfm(vl_N_RESET_cfm.connectionId));//send ASP_SCCP_N_RESET_cfm
-
- //stop reset timer
- f_StopTimer(reset,v_session);
-
- //restart receive inactivity timer
- f_StopTimer(iar,v_session);//to avoid warnings
- f_StartTimer(iar,v_session);
- //change state
- ConnectionTable[v_session].state:=reset_IC;
- }//endif3
- else if (ConnectionTable[v_session].state==active)
- {//startif3
- //restart receive inactivity timer
- f_StopTimer(iar,v_session);//to avoid warnings
- f_StartTimer(iar,v_session);
- //send ASP_SCCP_N_RESET_ind
- //assemble ASP_SCCP_N_
- var ASP_SCCP_N_RESET_ind vl_N_RESET_ind;
- vl_N_RESET_ind.originator:=cg_NSU;
- vl_N_RESET_ind.reason:=cg_RESET_unspec;
- vl_N_RESET_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_RESET_ind(
- vl_N_RESET_ind.originator,
- vl_N_RESET_ind.reason,
- vl_N_RESET_ind.connectionId
- ));//send ASP_SCCP_N_RESET_ind
-
- //reset variables
- ConnectionTable[v_session].state:=reset_IC;
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else { log("RESREQ received in an unexpected state"); }
- }//endif2
- else {//remote reference inconsistent, error action follows
-
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=pl_PDU_SCCP_ResetRequest.sourceLocRef;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_inconsistentSourceLRN;
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
-
- }//endelse
- }//endif1
- else {//startelse-Reset request received with destLocRef not in ConnectionTable
-
- //send ERR
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=pl_PDU_SCCP_ResetRequest.sourceLocRef;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_unassignedDestinationLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
-
- }//endelse
-
- }//processing_PDU_SCCP_ResetRequest
-
- //******************************************************************
- // processing_PDU_SCCP_ResetConfirm
- //******************************************************************
- function processing_PDU_SCCP_ResetConfirm ( in PDU_SCCP_ResetConfirm pl_PDU_SCCP_ResetConfirm)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_ResetConfirm.destLocRef))
- {//startif1
- v_session :=Retrieve_session(pl_PDU_SCCP_ResetConfirm.destLocRef);
-
- //check if remote reference is correct -Table B.2 /Q.714
- if (ConnectionTable[v_session].remoteReference==pl_PDU_SCCP_ResetConfirm.sourceLocRef)
- {//startif2
- //Action Table follows
-
- if (ConnectionTable[v_session].state==idle)
- { log("RSC received in state:idle ");}//do nothing-return to idle state, no source ref known
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log("RSC received in state:connection_pending_IC ");}//discard message, return
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
-
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_ASP
-
- vl_N_DISCONNECT_ind.originator:=cg_NSU;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_normal;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log("RSC received in state:disconnect_pending");}
- else if (ConnectionTable[v_session].state==reset_bothway)
- {//startif3
- //assemble ASP_SCCP_N_
- var ASP_SCCP_N_RESET_cfm vl_N_RESET_cfm;
- vl_N_RESET_cfm.connectionId:=ConnectionTable[v_session].connectionId;
- SCCP_SP_PORT.send( t_ASP_N_RESET_cfm(
- vl_N_RESET_cfm.connectionId
- ));//send ASP_SCCP_N_RESET_cfm
-
- //stop reset timer
- f_StopTimer(reset,v_session);
-
- //restart receive inactivity timer
- f_StopTimer(iar,v_session);//to avoid warnings
- f_StartTimer(iar,v_session);
- //change state
- ConnectionTable[v_session].state:=reset_IC;
- }//endif3
- else if (ConnectionTable[v_session].state==active)
- {//startif3
- //do nothing-return to idle state
- log("RSC received in state:active");
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else { log("ResConf received in an unexpected state"); }
- }//endif2
- else {//remote reference inconsistent, error action follows
-
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef :=pl_PDU_SCCP_ResetConfirm.sourceLocRef;
- vl_PDU_SCCP.pduerror.errorCause :=cg_Err_inconsistentSourceLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
-
- }//endelse
- }//endif1
- else {//startelse-Reset confirm received with destLocRef not in ConnectionTable
-
- //send ERR
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef :=pl_PDU_SCCP_ResetConfirm.sourceLocRef;
- vl_PDU_SCCP.pduerror.errorCause :=cg_Err_unassignedDestinationLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
- }//endelse
- }//processing_PDU_SCCP_ResetConfirm
-
- //******************************************************************
- // processing_PDU_SCCP_ConnectionRefused
- //******************************************************************
- function processing_PDU_SCCP_ConnectionRefused ( in PDU_SCCP_ConnectionRefused pl_PDU_SCCP_ConnectionRefused)
- runs on SCCP_CT
- {
- //Store data parameter
- var template SCCP_PAR_UserData tl_data := omit;
- if (ispresent(pl_PDU_SCCP_ConnectionRefused.optionalPart))
- {
- if (ispresent(pl_PDU_SCCP_ConnectionRefused.optionalPart.data))
- {
- tl_data := pl_PDU_SCCP_ConnectionRefused.optionalPart.data.data;
- }
- }
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_ConnectionRefused.destLocRef))
- {//startif2
- v_session :=Retrieve_session(pl_PDU_SCCP_ConnectionRefused.destLocRef);
- //Action Table follows
-
- if (ConnectionTable[v_session].state==idle)
- { log ("CREF received in state:idle");} //do nothing , return to idle, source ref unknown
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log ("CREF received in state:connection_pending_IC");}
- else if (ConnectionTable[v_session].state==active)
- { log ("CREF received in state:active");}//do nothing, return
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log ("CREF received in state:disconnect_pending");}//discard message, return
- else if (ConnectionTable[v_session].state==reset_bothway)
- { log ("CREF received in state:reset_bothway");}//
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_Mapping_RefCause_Orig[pl_PDU_SCCP_ConnectionRefused.refusalCause];
- vl_N_DISCONNECT_ind.reason:=cg_Mapping_RefCause_Reason[pl_PDU_SCCP_ConnectionRefused.refusalCause];
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- tl_data,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
-
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
-
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
-
- }//endif3
- else { log("CREF received in an unexpected state"); }
-
- }//endif2
- else { log("CREF received with destLocRef not in state table"); }
- //Connection refused with destLocRef not in ConnectionTable
- //discard
-
- } //processing_PDU_SCCP_ConnectionRefused
-
- //******************************************************************
- // processing_PDU_SCCP_DataForm1
- //******************************************************************
- function processing_PDU_SCCP_DataForm1 ( in PDU_SCCP_DataForm1 pl_PDU_SCCP_DataForm1)
- runs on SCCP_CT
- {
-
- //check if connection already established
- if (ConnectionAlreadyEstablished(pl_PDU_SCCP_DataForm1.destLocRef))
- {//startif2
- v_session :=Retrieve_session(pl_PDU_SCCP_DataForm1.destLocRef);
- //Action Table follows
-
- if (ConnectionTable[v_session].state==idle)
- {//startif3
- var PDU_SCCP vl_PDU_SCCP;
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.pduerror.messageType:=err;
- vl_PDU_SCCP.pduerror.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.pduerror.errorCause:=cg_Err_unassignedDestinationLRN;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //Send Error
-
- //then return to idle
- }//endif3
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- { log ("DT1 received in state:connection_pending_IC");}//discard message, return
- else if (ConnectionTable[v_session].state==disconnect_pending)
- { log ("DT1 received in state:disconnect_pending");}//discard message, return
- else if (ConnectionTable[v_session].state==reset_bothway)
- { log ("DT1 received in state:reset_bothway");}//
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif3
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- f_StopTimer(conn_est,v_session);
- //assemble ASP_SCCP_N_
- vl_N_DISCONNECT_ind.originator:=cg_NSU;
- vl_N_DISCONNECT_ind.reason:=cg_DISC_normal;
- vl_N_DISCONNECT_ind.connectionId:=ConnectionTable[v_session].connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==wait_conn_confirm)
- {//startif3
-
- //stop connection timer
- f_StopTimer(conn_est,v_session);
- //release resources
- ReleaseResources(v_session);
- }//endif3
- else if (ConnectionTable[v_session].state==active)
- {//startif3
-
- var ASP_SCCP_N_DATA_ind vl_N_DATA_ind;
- //restart receive inactivity timer
- f_StopTimer(iar,v_session);//to avoid warnings
- f_StartTimer(iar,v_session);
-
- buffered_sending_ASP_N_DATA_ind( pl_PDU_SCCP_DataForm1 )
- //MODIFY-> protocol class assumed 2; M bit assumed 0 (no segm/reassembly)
-
- }//endif3
- else if (ConnectionTable[v_session].state==reset_IC)
- {//startif3
-
- //discard received message
- f_StartTimer(internal_reset,v_session,0.0);//the timer times out immediately
- //state changed to active
- ConnectionTable[v_session].state:=active;
-
- }//endif3
- else { log("DT1 received in an unexpected state"); }
-
- }//endif2
- else { log("DT1 received with destLocRef not in ConnectionTable"); }
- //DT1 received with destLocRef not in ConnectionTable
- //discard
-
- }//processing_PDU_SCCP_DataForm1
-
-
- //******************************************************************
- // processing_PDU_SCCP_ExtUnitdata
- //******************************************************************
- function processing_PDU_SCCP_ExtUnitdata ( in PDU_SCCP_ExtUnitdata pl_PDU_SCCP_ExtUnitdata)
- runs on SCCP_CT
- {
- var integer vl_index;
- var OCT3 vl_segmRemoteRef;
- if( ispresent( pl_PDU_SCCP_ExtUnitdata.optionalPart) and
- ispresent( pl_PDU_SCCP_ExtUnitdata.optionalPart.segmentation) )
- {
- vl_segmRemoteRef:= pl_PDU_SCCP_ExtUnitdata.optionalPart.segmentation.segmLocalRef;
- if( pl_PDU_SCCP_ExtUnitdata.optionalPart.segmentation.firstSegm =='1'B )
- {
- vl_index:=allocate_ClessRcvBuff( vl_segmRemoteRef);
- }
- else
- {
- vl_index:=get_ClessRcvBuffIndex( vl_segmRemoteRef );
- };
- if (vl_index == -1)
- {
- log("Buffer allocation failed, message ignored.");
- return;
- }
-
- store_segmData(vl_index,pl_PDU_SCCP_ExtUnitdata);
- if( pl_PDU_SCCP_ExtUnitdata.optionalPart.segmentation.remainingSegment == '0000'B )
- {
- send_ClessRcvBuff_in_N_UNITDATAind( vl_index,pl_PDU_SCCP_ExtUnitdata );
- reallocate_ClessRcvBuff( vl_index );
- }
- }
- else
- { // not segmented case:
- send_ClessData_in_N_UNITDATAind( pl_PDU_SCCP_ExtUnitdata );
- }
- return;
-
- }//processing_PDU_SCCP_ExtUnitdata
-
-//******************************************************************
-// Part 2 Receiving msg on port "SCCP_PORT" (User Part)
-//******************************************************************
-
-//******************************************************************
-// processing_ASP_N_CONNECT_req
-// / ASP_SCCP_N_CONNECT_req , originating node /
-//******************************************************************
- function processing_ASP_N_CONNECT_req( in ASP_SCCP_N_CONNECT_req pl_N_CONNECT_req )
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
-
- if (ConnectionAlreadyEstablished_connectionId(pl_N_CONNECT_req.connectionId))
- // assume connectionId present
- {//startif1
-
- //something went wrong, we already have a session with the same connection Id
- v_session :=Retrieve_session_connectionId(pl_N_CONNECT_req.connectionId);
- //table of error actions
-
- }//endif1
- else
- {//startelse1
-
- //check if resources available
- v_session:=CheckIdleIndividuals();
- if (v_session==-1) //No idle individual found
- {//startif2
-
- //assemble ASP_SCCP_N_ASP
- vl_N_DISCONNECT_ind.originator:=cg_NSP; // network service provider
- vl_N_DISCONNECT_ind.reason:=cg_CREF_unspec_T;
- vl_N_DISCONNECT_ind.connectionId:=pl_N_CONNECT_req.connectionId;
-
- SCCP_SP_PORT.send( t_ASP_N_DISCONNECT_ind(
- vl_N_DISCONNECT_ind.originator,
- omit,
- vl_N_DISCONNECT_ind.reason,
- omit,
- vl_N_DISCONNECT_ind.connectionId,
- omit
- ));//send ASP_SCCP_N_DISCONNECT_ind
- //return to idle
- }//endif2
-
- if ((v_session<=15)and (v_session>=0))
- {//startif2
-
- //assign local reference, SLS:=tsp_MTP3_SLS, protocol class:=2
- ConnectionTable[v_session].localReference:=int2oct(pl_N_CONNECT_req.connectionId,3);
- ConnectionTable[v_session].connectionId :=pl_N_CONNECT_req.connectionId;
-
- //to simplify generation of local reference, connectionID received from user is sent as such
- //only local reference is assigned at this point
- //send connection request, no coupling
- //DPC :remote node
- //no coupling reqrd.
- //compatibility OK
- //no restriction
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.connrequest.messageType:=cr;
- vl_PDU_SCCP.connrequest.sourceLocRef:=ConnectionTable[v_session].localReference;
- // send local reference just assigned!
- vl_PDU_SCCP.connrequest.protClass:={
- class:='0010'B,
- messageHandling:='0000'B
- };//class 2
- vl_PDU_SCCP.connrequest.pointer1:=2;
- vl_PDU_SCCP.connrequest.calledPAddress:=ConvertASPAddressToEncodedAddress(pl_N_CONNECT_req.calledAddress); //new!
- vl_PDU_SCCP.connrequest.pointer2:=vl_PDU_SCCP.connrequest.calledPAddress.paramLength+2; //automatic?
-
- if(ispresent(pl_N_CONNECT_req.callingAddress))
- {//startif3
-
- //temporary variable to avoid type conversion problems
- var SCCP_param_CPartyAddressEnc_opt vl_SCCP_param_CPartyAddressEnc_opt;
- var SCCP_param_CPartyAddressEnc vl_SCCP_param_CPartyAddressEnc;
-
- vl_SCCP_param_CPartyAddressEnc:=
- ConvertASPAddressToEncodedAddress(pl_N_CONNECT_req.callingAddress);
-
- vl_SCCP_param_CPartyAddressEnc_opt.paramName :=con_SCCP_cgPA;
- vl_SCCP_param_CPartyAddressEnc_opt.paramLength:=vl_SCCP_param_CPartyAddressEnc.paramLength;
- vl_SCCP_param_CPartyAddressEnc_opt.addr :=vl_SCCP_param_CPartyAddressEnc.addr;
-
- vl_PDU_SCCP.connrequest.optionalPart.callingPAddress:=vl_SCCP_param_CPartyAddressEnc_opt;
-
- }//endif3
- else { vl_PDU_SCCP.connrequest.optionalPart.callingPAddress:=omit }
-
- if(ispresent(pl_N_CONNECT_req.userData))
- {//startif3
-
- //temporary variable to avoid type conversion problems
- var SCCP_param_Data_opt vl_SCCP_param_Data_opt;
-
- vl_SCCP_param_Data_opt.paramName:=con_SCCP_data;
- vl_SCCP_param_Data_opt.data:=pl_N_CONNECT_req.userData;
- vl_SCCP_param_Data_opt.paramLength:=lengthof(vl_SCCP_param_Data_opt.data);
- vl_PDU_SCCP.connrequest.optionalPart.data:=vl_SCCP_param_Data_opt;
-
- }//endif3
- else { vl_PDU_SCCP.connrequest.optionalPart.data:=omit}
-
- if(ispresent(pl_N_CONNECT_req.callingAddress) or
- ispresent(pl_N_CONNECT_req.userData))
- {
- vl_PDU_SCCP.connrequest.optionalPart.credit:=omit;
- vl_PDU_SCCP.connrequest.optionalPart.hopCounter:=omit;
- vl_PDU_SCCP.connrequest.optionalPart.importance:=omit;
-
- vl_PDU_SCCP.connrequest.eop:= {paramName:=con_SCCP_eop};
- }
- else
- {
- vl_PDU_SCCP.connrequest.optionalPart := omit;
- vl_PDU_SCCP.connrequest.eop := omit;
- }
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Connection request
-
- //start connection timer
- f_StartTimer(conn_est,v_session);
- ConnectionTable[v_session].state:=connection_pending_OG;
- }//endif2
-
- }//endelse
-
- }//processing_ASP_N_CONNECT_req
- //******************************************************************
- //End ASP_SCCP_N_CONNECT_req , originating node
- //******************************************************************
-
- //******************************************************************
- // processing_ASP_N_CONNECT_resp
- //******************************************************************
- function processing_ASP_N_CONNECT_res( in ASP_SCCP_N_CONNECT_res pl_N_CONNECT_res )
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
-
- // first see if session exists in the ConnectionTable
- //search done based on Connection ID
-
- if (ConnectionAlreadyEstablished_connectionId(pl_N_CONNECT_res.connectionId))
- //assume connectionId present
- {//startif1
- //retrieve session
- v_session :=Retrieve_session_connectionId(pl_N_CONNECT_res.connectionId);
-
- //Action Table follows
-
- if (ConnectionTable[v_session].state==idle)
- {
- log("N_CONNECT_resp received in state:idle");
- //do nothing-return to idle state
- }
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- {//startif2
-
- //assign SLS:=tsp_MTP3_SLS, assign protocol class=2 (CO, no flow ctrl.)
-
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.connconfirm.messageType:=cc;
- vl_PDU_SCCP.connconfirm.sourceLocRef:=ConnectionTable[v_session].localReference;
- vl_PDU_SCCP.connconfirm.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.connconfirm.protClass.class:='0010'B;//protocol class 2
- vl_PDU_SCCP.connconfirm.protClass.messageHandling:='0000'B;//no special treatment
-
- if(ispresent(pl_N_CONNECT_res.respondingAddress))
- {//startif3
-
- //temporary variable to avoid type conversion problems
- var SCCP_param_CPartyAddressEnc_opt vl_SCCP_param_CPartyAddressEnc_opt;
- var SCCP_param_CPartyAddressEnc vl_SCCP_param_CPartyAddressEnc;
-
- vl_SCCP_param_CPartyAddressEnc:=
- ConvertASPAddressToEncodedAddress(pl_N_CONNECT_res.respondingAddress);
-
- vl_SCCP_param_CPartyAddressEnc_opt.paramName := con_SCCP_cdPA; // cgPA->cdPA ethbaat, 2003.11.06
- vl_SCCP_param_CPartyAddressEnc_opt.paramLength:= vl_SCCP_param_CPartyAddressEnc.paramLength;
- vl_SCCP_param_CPartyAddressEnc_opt.addr := vl_SCCP_param_CPartyAddressEnc.addr;
-
- vl_PDU_SCCP.connconfirm.optionalPart.calledPAddress:= vl_SCCP_param_CPartyAddressEnc_opt;
- }//endif3
- else { vl_PDU_SCCP.connconfirm.optionalPart.calledPAddress:=omit }
-
- if(ispresent(pl_N_CONNECT_res.userData))
- {//startif3
-
- //temporary variable to avoid type conversion problems
- var SCCP_param_Data_opt vl_SCCP_param_Data_opt;
-
- vl_SCCP_param_Data_opt.paramName:=con_SCCP_data;
- vl_SCCP_param_Data_opt.data:=pl_N_CONNECT_res.userData; // corrected by ethbaat 2003.10.16
- vl_SCCP_param_Data_opt.paramLength:=lengthof(vl_SCCP_param_Data_opt.data);
-
- vl_PDU_SCCP.connconfirm.optionalPart.data:=vl_SCCP_param_Data_opt;
- }//endif3
- else {vl_PDU_SCCP.connconfirm.optionalPart.data:=omit}
-
- if(ispresent(pl_N_CONNECT_res.respondingAddress) or
- ispresent(pl_N_CONNECT_res.userData))
- {
- vl_PDU_SCCP.connconfirm.pointer1:=1;
- vl_PDU_SCCP.connconfirm.optionalPart.credit:=omit;
- vl_PDU_SCCP.connconfirm.optionalPart.importance:=omit;
- vl_PDU_SCCP.connconfirm.eop:= {paramName:=con_SCCP_eop};
- }
- else
- {
- vl_PDU_SCCP.connconfirm.pointer1:=0;
- vl_PDU_SCCP.connconfirm.optionalPart := omit;
- vl_PDU_SCCP.connconfirm.eop:=omit;
- }
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send connection confirm
-
- f_StartTimer(ias,v_session); // ??? check them!!!
- f_StartTimer(iar,v_session); //start inactivity timers
- ConnectionTable[v_session].state:=active;//state change
-
- }//endif2
- else { log("N_CONNECT_resp received in an unexpected state");}
-
- }//endif1
-
- }//processing_ASP_N_CONNECT_resp
-
- //******************************************************************
- // processing_ASP_N_DATA_req
- //******************************************************************
-
- function processing_ASP_N_DATA_req( in ASP_SCCP_N_DATA_req pl_N_DATA_req )
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
-
- // first see if session exists in the ConnectionTable
-
- if (ConnectionAlreadyEstablished_connectionId(pl_N_DATA_req.connectionId))
- //assume connectionId present
- {//startif1
-
- //retrieve v_session
- v_session :=Retrieve_session_connectionId(pl_N_DATA_req.connectionId);
-
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)
- { log ("N_DATA_req received in idle state");}
- else if (ConnectionTable[v_session].state==reset_bothway)
- { log ("N_DATA_req received in reset_bothway state");}
- else if (ConnectionTable[v_session].state==active)
- {//startif2
- sending_dataform1s_in_ASP_MTP_TRANSFERreqs(pl_N_DATA_req);
- //no change of state, remains active
- }//endif2
- else { log ("N_DATA_req received in an unexpected state"); }
-
- }//endif1
- else { log("N_DATA_req with Connection ID not in the state table -- illegal request"); }
-
- }//processing_ASP_N_DATA_req
-
- //******************************************************************
- // processing_ASP_N_DISCONNECT_req
- //******************************************************************
-
- function processing_ASP_N_DISCONNECT_req( in ASP_SCCP_N_DISCONNECT_req pl_N_DISCONNECT_req )
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var boolean vl_opt_part_present:=false;
-
- // first see if session exists in the ConnectionTable
-
- if (ConnectionAlreadyEstablished_connectionId(pl_N_DISCONNECT_req.connectionId))
- //assume connectionId present
- {//startif1
-
- //retrieve v_session
- v_session :=Retrieve_session_connectionId(pl_N_DISCONNECT_req.connectionId);
-
- //Action Table follows
- if (ConnectionTable[v_session].state==idle)
- { log ("N_DISCONNECT_req received in state:idle");}
- else if (ConnectionTable[v_session].state==connection_pending_IC)
- {//startif2
-
- //assemble and route MTP3_ASP
- vl_PDU_SCCP.connrefused.messageType:=cref;
- vl_PDU_SCCP.connrefused.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.connrefused.refusalCause:=pl_N_DISCONNECT_req.reason;
- vl_PDU_SCCP.connrefused.pointer1:=0; //No optional part
- vl_PDU_SCCP.connrefused.optionalPart:=omit;
- vl_PDU_SCCP.connrefused.eop:=omit;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send connection refused
-
- //release resources
- ReleaseResources(v_session);
-
- }//endif2
- else if (ConnectionTable[v_session].state==active)
- {//startif2
-
- //stop inactivity timers
- f_StopTimer(ias,v_session);
- f_StopTimer(iar,v_session);
-
- //assemble and route MTP3_ASP
-
- vl_PDU_SCCP.released.messageType:=rlsd;
- vl_PDU_SCCP.released.destLocRef:=ConnectionTable[v_session].remoteReference;
- vl_PDU_SCCP.released.sourceLocRef:=ConnectionTable[v_session].localReference;
- vl_PDU_SCCP.released.releaseCause:=pl_N_DISCONNECT_req.reason;
- if(ispresent(pl_N_DISCONNECT_req.userData)){
- vl_opt_part_present:=true;
- vl_PDU_SCCP.released.optionalPart.data.paramName:=con_SCCP_data;
- vl_PDU_SCCP.released.optionalPart.data.paramLength:=lengthof(pl_N_DISCONNECT_req.userData);
- vl_PDU_SCCP.released.optionalPart.data.data:=pl_N_DISCONNECT_req.userData;
- } else {
- vl_PDU_SCCP.released.optionalPart.data:=omit;
- }
- if(ispresent(pl_N_DISCONNECT_req.importance)){
- vl_opt_part_present:=true;
- vl_PDU_SCCP.released.optionalPart.importance.paramName:=con_SCCP_imp
- vl_PDU_SCCP.released.optionalPart.importance.paramLength:=1
- vl_PDU_SCCP.released.optionalPart.importance.importance:=pl_N_DISCONNECT_req.importance
- vl_PDU_SCCP.released.optionalPart.importance.reserved:='00000'B
- } else {
- vl_PDU_SCCP.released.optionalPart.importance:=omit;
- }
- if(vl_opt_part_present){
- vl_PDU_SCCP.released.pointer1:=1;
- vl_PDU_SCCP.released.eop.paramName:=con_SCCP_eop;
- } else {
- vl_PDU_SCCP.released.pointer1:=0;//No optional part
- vl_PDU_SCCP.released.optionalPart:=omit;
- vl_PDU_SCCP.released.eop:=omit;
- }
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send released
-
- //start release timer
- f_StartTimer(rel,v_session);
-
- ConnectionTable[v_session].state:=disconnect_pending;
-
- }//endif2
- else if (ConnectionTable[v_session].state==connection_pending_OG)
- {//startif2
-
- //change state to "wait connection confirm "
- ConnectionTable[v_session].state:=wait_conn_confirm;
- //and return
-
- }//endif2
- else { log("N_DISCONNECT_req received in an unexpected state");}
-
- }//endif1
-
- }//processing_ASP_N_DISCONNECT_req
-
-
- //******************************************************************
- // function SCCP_SPC_int2bit - working function to processing_ASP_N_UNITDATA_req
- // v_sio is local to SCCP_CT
- // SCCPServiceType
- //******************************************************************
- function SCCP_SPC_int2bit( in integer pl_SPC, in SCCP_ServiceType pl_SCCP_ServiceType, in octetstring pl_SIO )
- return SCCP_ASPfield_SignallingPointCode
- {
- var SCCP_ASPfield_SignallingPointCode vl_SPC; //bitstring
- vl_SPC :='0000000000000000'B;
-
- if( (pl_SCCP_ServiceType == mtp3_itu) or (pl_SCCP_ServiceType == mtp3b_itu))
- {
- //vl_SPC := '00'B&int2bit( pl_SPC, 14);
- vl_SPC := int2bit( pl_SPC, 14);
- }
- else if ( (pl_SCCP_ServiceType == mtp3_ansi) or (pl_SCCP_ServiceType == mtp3b_ansi) )
- {
- vl_SPC := int2bit( pl_SPC, 24);
- }
- else if( (pl_SCCP_ServiceType == mtp3_ttc) or (pl_SCCP_ServiceType == mtp3b_ttc) )
- {
- if( (pl_SIO == '83'O) or (pl_SIO == '43'O) or (pl_SIO == 'C3'O) ) //ttc national
- {
- vl_SPC := int2bit( pl_SPC, 16);
- }
- else if( pl_SIO == '03'O ) //ttc international
- {
- //vl_SPC := '00'B&int2bit( pl_SPC, 14);
- vl_SPC := int2bit( pl_SPC, 14);
- }
- else { log ( "SIO setting error"); }
- }
- else if( pl_SCCP_ServiceType == mtp3_mpt )
- {
- var integer vl_NI := oct2int(pl_SIO)/64;
- if( vl_NI == 2 ) //mpt national
- {
- vl_SPC := int2bit( pl_SPC, 24);
- }
- else //mpt international
- {
- vl_SPC := int2bit( pl_SPC, 14);
- }
- }
- else
- { log ( "ServiceType setting error. Use values",
- "mtp3_itu, mtp3b_itu, mtp3_ansi, mtp3b_ansi,",
- " mtp3_ttc, mtp3b_ttc, mtp3_mpt or m3ua");
- }
-
- return vl_SPC;
-
- }// SCCP_SPC_int2bit
-
- //******************************************************************
- // sending_udt_in_ASP_MTP_TRANSFERreqs
- // sends data in one step
- //******************************************************************
- function sending_udt_in_ASP_MTP_TRANSFERreqs( in SCCP_param_ProtocolClass pl_protClass,
- in SCCP_param_CPartyAddressEnc pl_CalledPAddress,
- in SCCP_param_CPartyAddressEnc pl_CallingPAddress,
- in SCCP_param_Data pl_data)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- vl_PDU_SCCP.unitdata.messageType := udt ;
- vl_PDU_SCCP.unitdata.protClass := pl_protClass;
- vl_PDU_SCCP.unitdata.calledPAddress := pl_CalledPAddress;
- vl_PDU_SCCP.unitdata.callingPAddress:= pl_CallingPAddress;
- vl_PDU_SCCP.unitdata.data := pl_data;
- vl_PDU_SCCP.unitdata.pointer1 := 0;
- vl_PDU_SCCP.unitdata.pointer2 := 0;
- vl_PDU_SCCP.unitdata.pointer3 := 0;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP));//send Unitdata
- return;
-
- }//sending_udt_in_ASP_MTP_TRANSFERreqs
-
- //******************************************************************
- // sending_xudt_in_ASP_MTP_TRANSFERreqs
- // segmentates and sends data to the encoder
- //******************************************************************
- function sending_xudt_in_ASP_MTP_TRANSFERreqs(in SCCP_param_ProtocolClass pl_protClass,
- in SCCP_param_CPartyAddressEnc pl_CalledPAddress,
- in SCCP_param_CPartyAddressEnc pl_CallingPAddress,
- in SCCP_param_Data pl_data)
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var integer vl_actdatalen; //without length of paramLength field
- var integer vl_len; // remaining data length without length of paramLength field
- var integer vl_from;
- var integer vl_overhead;
- var integer vl_maxdatalen;
- var integer vl_numberofPDUs; // ... to be sent
-
- vl_PDU_SCCP.extudata.messageType := xudt ; //len:1
- vl_PDU_SCCP.extudata.hopCounter := 15; // check it in spec. //len:1
- vl_PDU_SCCP.extudata.protClass := pl_protClass; //len:1
- vl_PDU_SCCP.extudata.pointer1 := 0; //len:4
- vl_PDU_SCCP.extudata.pointer2 := 0;
- vl_PDU_SCCP.extudata.pointer3 := 0;
- vl_PDU_SCCP.extudata.pointer4 := 0;
- vl_PDU_SCCP.extudata.calledPAddress := pl_CalledPAddress;
- vl_PDU_SCCP.extudata.callingPAddress := pl_CallingPAddress;
-
- vl_overhead := 15 +
- (vl_PDU_SCCP.extudata.calledPAddress.paramLength+1) +
- (vl_PDU_SCCP.extudata.callingPAddress.paramLength+1);
-
- vl_len := pl_data.paramLength;
- vl_maxdatalen := v_sccp_pdu_maxlen - vl_overhead -1; // -1:paramLength
- vl_numberofPDUs := vl_len/vl_maxdatalen; // 0 if 1 PDU exists
-
- // init segmentation:
- vl_PDU_SCCP.extudata.optionalPart.segmentation.segmLocalRef:= create_segmLocalRef();
- vl_PDU_SCCP.extudata.optionalPart.segmentation.firstSegm := '1'B; //'yes'
- vl_PDU_SCCP.extudata.optionalPart.segmentation.paramName := con_SCCP_segm;
- vl_PDU_SCCP.extudata.optionalPart.segmentation.paramLength := 4;
- vl_PDU_SCCP.extudata.optionalPart.segmentation.remainingSegment := int2bit(vl_numberofPDUs,4);
- vl_PDU_SCCP.extudata.optionalPart.segmentation.reserved := '00'B;
-
- if( pl_protClass.class == '0001'B )
- { vl_PDU_SCCP.extudata.optionalPart.segmentation.class := '1'B; }
- else
- { vl_PDU_SCCP.extudata.optionalPart.segmentation.class := '0'B; };
-
- vl_PDU_SCCP.extudata.optionalPart.importance:= omit; //len:0
- vl_PDU_SCCP.extudata.eop.paramName := con_SCCP_eop; //len:0
-
- vl_from := 0;
-
- while ( vl_len > 0 )
- {
- vl_PDU_SCCP.extudata.optionalPart.segmentation.remainingSegment := int2bit(vl_numberofPDUs,4);
-
- if ( vl_len > vl_maxdatalen )
- { vl_actdatalen := vl_maxdatalen; }
- else
- { vl_actdatalen := vl_len; };
-
- vl_PDU_SCCP.extudata.data.data := substr( pl_data.data, vl_from, vl_actdatalen );
- vl_PDU_SCCP.extudata.data.paramLength := vl_actdatalen;
-
- MTP3_SCCP_PORT.send( t_ASP_MTP3_TRANSFERreq_sccp
- (v_SIO,v_own_SPC,v_remote_SPC,v_SLS,vl_PDU_SCCP)); //send PDU_SCCP_ExtUnitdata
-
- vl_PDU_SCCP.extudata.optionalPart.segmentation.firstSegm := '0'B; //'no'
-
- vl_numberofPDUs := vl_numberofPDUs -1 ;
- vl_from := vl_from + vl_actdatalen;
- vl_len := vl_len - vl_actdatalen;
- }//while
-
- log("Last remaining Segment:", vl_PDU_SCCP.extudata.optionalPart.segmentation.remainingSegment );
-
- // not necessary, remove it:
- //reset_segmLocalRef(vl_PDU_SCCP.extudata.optionalPart.segmentation.segmLocalRef);
- return;
- }//sending_xudt_in_ASP_MTP_TRANSFERreqs
-
- //******************************************************************
- // processing_ASP_N_UNITDATA_req
- //******************************************************************
-
- function processing_ASP_N_UNITDATA_req( in ASP_SCCP_N_UNITDATA_req pl_N_UNITDATA_req )
- runs on SCCP_CT
- {
- var PDU_SCCP vl_PDU_SCCP;
- var SCCP_param_ProtocolClass vl_protClass;
- var SCCP_param_CPartyAddressEnc vl_CalledPAddress, vl_CallingPAddress;
- var integer vl_overhead_length;
- var SCCP_param_Data vl_data;
-
- // Protocol class mapping :
- // old: vl_protClass.messageHandling:='0000'B;//no special options
-
- // 3.6/ Q.713: bit1-4
- if ( ispresent(pl_N_UNITDATA_req.sequenceControl) and
- (substr(pl_N_UNITDATA_req.sequenceControl,7,1) == '1'B) ) //least significant bit!
- { vl_protClass.class:='0001'B; }
- else
- { vl_protClass.class:='0000'B; } //changed to 0000 from 0001 ethbaat 2003-11-13
-
- // 3.6/ Q.713: bit 5-8:
- if ( ispresent(pl_N_UNITDATA_req.returnOption) and
- (substr(pl_N_UNITDATA_req.returnOption,7,1) == '1'B) ) //least significant bit!
- { vl_protClass.messageHandling:='1000'B}
- else
- { vl_protClass.messageHandling:='0000'B}
-
- //Called Address mapping:
- if (pl_N_UNITDATA_req.calledAddress.addressIndicator.pointCodeIndic=='1'B) //DPC included
- {//startif1
-
- if (bit2int(pl_N_UNITDATA_req.calledAddress.signPointCode) == v_remote_SPC ) // remote SPC
- {//startif2
- vl_CalledPAddress:=
- ConvertASPAddressToEncodedAddress(pl_N_UNITDATA_req.calledAddress);
- }
- else
- {
- log("The remote SPC in ASP_SCCP_N_UNITDATA_req is not the same as the one you called by StartSCCP.ASP dropped")
- return;
- }
-
- }//endif1
- else
- { //DPC not present, use values local for component
-
- var SCCP_PAR_Address vl_SCCP_PAR_Address;
- vl_SCCP_PAR_Address := pl_N_UNITDATA_req.calledAddress;
-
- if ( v_remote_SPC > 0)
- {
- vl_SCCP_PAR_Address.addressIndicator.pointCodeIndic :='1'B; // 3.4.1/Q713.
- vl_SCCP_PAR_Address.addressIndicator.routingIndicator := cg_route_on_SSN;
- // 14,24 or 16 bits:
- vl_SCCP_PAR_Address.signPointCode := SCCP_SPC_int2bit( v_remote_SPC, v_SCCPServiceType, v_SIO);
- }
- // vl_SCCP_PAR_Address.addressIndicator.ssnIndicator unchanged
- // vl_SCCP_PAR_Address.addressIndicator.globalTitleIndic unchanged
- // vl_SCCP_PAR_Address.subsystemNumber unchanged
- // vl_SCCP_PAR_Address.globalTitle unchanged
-
- vl_CalledPAddress :=
- ConvertASPAddressToEncodedAddress(vl_SCCP_PAR_Address);
-
- }//endif1
-
- vl_CallingPAddress :=
- ConvertASPAddressToEncodedAddress(pl_N_UNITDATA_req.callingAddress);
-
- vl_data.data := pl_N_UNITDATA_req.userData;
- vl_data.paramLength:= lengthof( pl_N_UNITDATA_req.userData);
-
- // unitdata overhead calculation:
- // msg type: 1; prot class: 2; 3 pointers: 3=> total:6
- vl_overhead_length := (vl_CalledPAddress.paramLength+1) +
- (vl_CallingPAddress.paramLength +1)+ 6 ;
-
- if( (tsp_force_xudt==0) and
- (vl_overhead_length + vl_data.paramLength + 1) <= v_sccp_pdu_maxlen )
- {
- sending_udt_in_ASP_MTP_TRANSFERreqs(vl_protClass,
- vl_CalledPAddress,
- vl_CallingPAddress,
- vl_data );
- }
- else
- {
- sending_xudt_in_ASP_MTP_TRANSFERreqs(vl_protClass,
- vl_CalledPAddress,
- vl_CallingPAddress,
- vl_data );
- }
-
- }//processing_ASP_N_UNITDATA_req
-
-//******************************************************************
-//******************************************************************
-function ScanEvents() runs on SCCP_CT
-//******************************************************************
-//******************************************************************
-{//startfunction
-
- var PDU_SCCP vl_PDU_SCCP;
-
- var ASP_SCCP_N_CONNECT_req vl_N_CONNECT_req;
- var ASP_SCCP_N_CONNECT_ind vl_N_CONNECT_ind;
- var ASP_SCCP_N_CONNECT_res vl_N_CONNECT_res;
- var ASP_SCCP_N_CONNECT_cfm vl_N_CONNECT_cfm;
- var ASP_SCCP_N_DATA_req vl_N_DATA_req;
- var ASP_SCCP_N_DATA_ind vl_N_DATA_ind;
- var ASP_SCCP_N_DISCONNECT_req vl_N_DISCONNECT_req;
- var ASP_SCCP_N_DISCONNECT_ind vl_N_DISCONNECT_ind;
- var ASP_SCCP_N_UNITDATA_req vl_N_UNITDATA_req;
- var ASP_SCCP_N_UNITDATA_ind vl_N_UNITDATA_ind;
- var ASP_SCCP_N_NOTICE_ind vl_N_NOTICE_ind;
-
- var integer i;
- //this function scans the MTP3 and user port for incoming messages and checks timers for timeout
-
- f_initialize_timer_states();
-
- while (true)
- {//startwhile
-
- alt
- //******************************************************************
- {//startalt0
- //******************************************************************
- [] MTP3_SCCP_PORT.receive(PDU_SCCP : ? ) -> value vl_PDU_SCCP
- {
- //******************************************************************
- //Unitdata received at destination node
- //******************************************************************
- if (ischosen(vl_PDU_SCCP.unitdata))
- {
- // vl_PDU_SCCP.unitdata.pointer1 :=3;
- // vl_PDU_SCCP.unitdata.pointer2 :=0;
- // vl_PDU_SCCP.unitdata.pointer3 :=0;
- processing_PDU_SCCP_Unitdata( vl_PDU_SCCP.unitdata );
- }
-
- //******************************************************************
- //Data received at destination node
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.dataform1))
- {
- // vl_PDU_SCCP.dataform1.pointer1 :=1;
- processing_PDU_SCCP_DataForm1( vl_PDU_SCCP.dataform1 );
- }
-
- //******************************************************************
- //Extended unitdata received at destination node
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.extudata))
- {
- // vl_PDU_SCCP.extudata.pointer1 :=0;
- // vl_PDU_SCCP.extudata.pointer2 :=0;
- // vl_PDU_SCCP.extudata.pointer3 :=0;
- // vl_PDU_SCCP.extudata.pointer4 :=0;
- processing_PDU_SCCP_ExtUnitdata( vl_PDU_SCCP.extudata );
- }
-
- //******************************************************************
- //Connection request received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.connrequest))
- {
- // vl_PDU_SCCP.connrequest.pointer1 :=2;
- // vl_PDU_SCCP.connrequest.pointer2 :=0;
- processing_PDU_SCCP_ConnectionRequest( vl_PDU_SCCP.connrequest );
- }
-
- //******************************************************************
- //Connection confirm received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.connconfirm))
- {
- // vl_PDU_SCCP.connconfirm.pointer1 :=1;
- processing_PDU_SCCP_ConnectionConfirm( vl_PDU_SCCP.connconfirm );
- }
-
- //******************************************************************
- //Released received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.released))
- {
- // vl_PDU_SCCP.released.pointer1 :=1;
- processing_PDU_SCCP_Released( vl_PDU_SCCP.released );
- }
-
- //******************************************************************
- //Release complete received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.relcomp))
- {
- processing_PDU_SCCP_ReleaseComplete( vl_PDU_SCCP.relcomp );
- }
-
- //******************************************************************
- //Unitdata service received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.udataserv))
- {
- // vl_PDU_SCCP.udataserv.pointer1 :=3;
- // vl_PDU_SCCP.udataserv.pointer2 :=0;
- // vl_PDU_SCCP.udataserv.pointer3 :=0;
- processing_PDU_SCCP_UnitdataService( vl_PDU_SCCP.udataserv );
- }
-
- //******************************************************************
- //PDU_Error received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.pduerror))
- {
- processing_PDU_SCCP_ProtDataUnitError( vl_PDU_SCCP.pduerror );
- }
-
- //******************************************************************
- //Inactivity test received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.inacttest))
- {
- processing_PDU_SCCP_InactivityTest( vl_PDU_SCCP.inacttest );
- }
-
- //******************************************************************
- //Reset request received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.resetreq))
- {
- processing_PDU_SCCP_ResetRequest( vl_PDU_SCCP.resetreq );
- }
-
- //******************************************************************
- //Reset confirm received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.resconf))
- {
- processing_PDU_SCCP_ResetConfirm( vl_PDU_SCCP.resconf );
- }
-
- //******************************************************************
- //Connection refused received
- //******************************************************************
- else if (ischosen(vl_PDU_SCCP.connrefused))
- {
- // vl_PDU_SCCP.connrefused.pointer1 :=1;
- processing_PDU_SCCP_ConnectionRefused( vl_PDU_SCCP.connrefused );
- }
- else
- { log ("Unsupported message received and discarded"); }
- }
-
- []MTP3_SCCP_PORT.receive
- { log("Unsupported or unrecognized message discarded after reception") }
-
- //******************************************************************
- //******************************************************************
- ////start second alternative-message received on user port
- //******************************************************************
- //******************************************************************
-
- [] SCCP_SP_PORT.check
- {//start second alternative
-
- alt { //startalt1-subalternatives vill follow
-
- //******************************************************************
- //N_DATA_req
- //******************************************************************
- [] SCCP_SP_PORT.receive( tr_ASP_N_DATA_req)-> value vl_N_DATA_req
- { processing_ASP_N_DATA_req(vl_N_DATA_req); }
-
- //******************************************************************
- //N_UNITDATA_req at originating node
- //******************************************************************
- [] SCCP_SP_PORT.receive( tr_ASP_N_UNITDATA_req ) -> value vl_N_UNITDATA_req
- { processing_ASP_N_UNITDATA_req(vl_N_UNITDATA_req); }
-
- //******************************************************************
- //N_CONNECT_req , originating node
- //******************************************************************
- [] SCCP_SP_PORT.receive( tr_ASP_N_CONNECT_req) -> value vl_N_CONNECT_req
- { processing_ASP_N_CONNECT_req( vl_N_CONNECT_req);}
-
- //******************************************************************
- //N_CONNECT_resp
- //******************************************************************
- [] SCCP_SP_PORT.receive( tr_ASP_N_CONNECT_res)-> value vl_N_CONNECT_res
- { processing_ASP_N_CONNECT_res(vl_N_CONNECT_res); }
-
- //******************************************************************
- //N_DISCONNECT_req
- //******************************************************************
- [] SCCP_SP_PORT.receive( tr_ASP_N_DISCONNECT_req)-> value vl_N_DISCONNECT_req
- { processing_ASP_N_DISCONNECT_req(vl_N_DISCONNECT_req); }
-
- //******************************************************************
- //N_RESET_resp //will not be received!!
- //******************************************************************
- //[] SCCP_SP_PORT.receive( tr_ASP_N_RESET_resp)-> value vl_N_RESET_resp;
-
- //******************************************************************
- //N_RESET_req //will not be received!!
- //******************************************************************
- //[] SCCP_SP_PORT.receive( tr_ASP_N_RESET_req)-> value vl_N_RESET_req;
-
- //******************************************************************
- //If none of the above , then message is removed from the top of the
- //stack and discarded
- //******************************************************************
- [] SCCP_SP_PORT.receive
- { }
-
- }//endalt1
-
- }//end second alternative-message received on user port
-
- //******************************************************************
- //connection timer expired
- //******************************************************************
- [v_T_conn_est[0]] T_conn_est[0].timeout {Conn_Timer_Expired(0);
- v_T_conn_est[0] := false;}
- [v_T_conn_est[1]] T_conn_est[1].timeout {Conn_Timer_Expired(1);
- v_T_conn_est[1] := false;}
- [v_T_conn_est[2]] T_conn_est[2].timeout {Conn_Timer_Expired(2);
- v_T_conn_est[2] := false;}
- [v_T_conn_est[3]] T_conn_est[3].timeout {Conn_Timer_Expired(3);
- v_T_conn_est[3] := false;}
- [v_T_conn_est[4]] T_conn_est[4].timeout {Conn_Timer_Expired(4);
- v_T_conn_est[4] := false;}
- [v_T_conn_est[5]] T_conn_est[5].timeout {Conn_Timer_Expired(5);
- v_T_conn_est[5] := false;}
- [v_T_conn_est[6]] T_conn_est[6].timeout {Conn_Timer_Expired(6);
- v_T_conn_est[6] := false;}
- [v_T_conn_est[7]] T_conn_est[7].timeout {Conn_Timer_Expired(7);
- v_T_conn_est[7] := false;}
- [v_T_conn_est[8]] T_conn_est[8].timeout {Conn_Timer_Expired(8);
- v_T_conn_est[8] := false;}
- [v_T_conn_est[9]] T_conn_est[9].timeout {Conn_Timer_Expired(9);
- v_T_conn_est[9] := false;}
- [v_T_conn_est[10]] T_conn_est[10].timeout {Conn_Timer_Expired(10);
- v_T_conn_est[10] := false;}
- [v_T_conn_est[11]] T_conn_est[11].timeout {Conn_Timer_Expired(11);
- v_T_conn_est[11] := false;}
- [v_T_conn_est[12]] T_conn_est[12].timeout {Conn_Timer_Expired(12);
- v_T_conn_est[12] := false;}
- [v_T_conn_est[13]] T_conn_est[13].timeout {Conn_Timer_Expired(13);
- v_T_conn_est[13] := false;}
- [v_T_conn_est[14]] T_conn_est[14].timeout {Conn_Timer_Expired(14);
- v_T_conn_est[14] := false;}
- [v_T_conn_est[15]] T_conn_est[15].timeout {Conn_Timer_Expired(15);
- v_T_conn_est[15] := false;}
-
- //******************************************************************
- //send inactivity timer expired
- //******************************************************************
-
- [v_T_ias[0]] T_ias[0].timeout {SendInactivity_Timer_Expired(0);
- v_T_ias[0] := false;}
- [v_T_ias[1]] T_ias[1].timeout {SendInactivity_Timer_Expired(1);
- v_T_ias[1] := false;}
- [v_T_ias[2]] T_ias[2].timeout {SendInactivity_Timer_Expired(2);
- v_T_ias[2] := false;}
- [v_T_ias[3]] T_ias[3].timeout {SendInactivity_Timer_Expired(3);
- v_T_ias[3] := false;}
- [v_T_ias[4]] T_ias[4].timeout {SendInactivity_Timer_Expired(4);
- v_T_ias[4] := false;}
- [v_T_ias[5]] T_ias[5].timeout {SendInactivity_Timer_Expired(5);
- v_T_ias[5] := false;}
- [v_T_ias[6]] T_ias[6].timeout {SendInactivity_Timer_Expired(6);
- v_T_ias[6] := false;}
- [v_T_ias[7]] T_ias[7].timeout {SendInactivity_Timer_Expired(7);
- v_T_ias[7] := false;}
- [v_T_ias[8]] T_ias[8].timeout {SendInactivity_Timer_Expired(8);
- v_T_ias[8] := false;}
- [v_T_ias[9]] T_ias[9].timeout {SendInactivity_Timer_Expired(9);
- v_T_ias[i] := false;}
- [v_T_ias[10]] T_ias[10].timeout {SendInactivity_Timer_Expired(10);
- v_T_ias[10] := false;}
- [v_T_ias[11]] T_ias[11].timeout {SendInactivity_Timer_Expired(11);
- v_T_ias[11] := false;}
- [v_T_ias[12]] T_ias[12].timeout {SendInactivity_Timer_Expired(12);
- v_T_ias[12] := false;}
- [v_T_ias[13]] T_ias[13].timeout {SendInactivity_Timer_Expired(13);
- v_T_ias[13] := false;}
- [v_T_ias[14]] T_ias[14].timeout {SendInactivity_Timer_Expired(14);
- v_T_ias[14] := false;}
- [v_T_ias[15]] T_ias[15].timeout {SendInactivity_Timer_Expired(15);
- v_T_ias[15] := false;}
-
- //******************************************************************
- //receive inactivity timer expired
- //******************************************************************
- [v_T_iar[0]] T_iar[0].timeout {ReceiveInactivity_Timer_Expired(0);
- v_T_iar[0] := false;}
- [v_T_iar[1]] T_iar[1].timeout {ReceiveInactivity_Timer_Expired(1);
- v_T_iar[1] := false;}
- [v_T_iar[2]] T_iar[2].timeout {ReceiveInactivity_Timer_Expired(2);
- v_T_iar[2] := false;}
- [v_T_iar[3]] T_iar[3].timeout {ReceiveInactivity_Timer_Expired(3);
- v_T_iar[3] := false;}
- [v_T_iar[4]] T_iar[4].timeout {ReceiveInactivity_Timer_Expired(4);
- v_T_iar[4] := false;}
- [v_T_iar[5]] T_iar[5].timeout {ReceiveInactivity_Timer_Expired(5);
- v_T_iar[5] := false;}
- [v_T_iar[6]] T_iar[6].timeout {ReceiveInactivity_Timer_Expired(6);
- v_T_iar[6] := false;}
- [v_T_iar[7]] T_iar[7].timeout {ReceiveInactivity_Timer_Expired(7);
- v_T_iar[7] := false;}
- [v_T_iar[8]] T_iar[8].timeout {ReceiveInactivity_Timer_Expired(8);
- v_T_iar[8] := false;}
- [v_T_iar[9]] T_iar[9].timeout {ReceiveInactivity_Timer_Expired(9);
- v_T_iar[9] := false;}
- [v_T_iar[10]] T_iar[10].timeout {ReceiveInactivity_Timer_Expired(10);
- v_T_iar[10] := false;}
- [v_T_iar[11]] T_iar[11].timeout {ReceiveInactivity_Timer_Expired(11);
- v_T_iar[11] := false;}
- [v_T_iar[12]] T_iar[12].timeout {ReceiveInactivity_Timer_Expired(12);
- v_T_iar[12] := false;}
- [v_T_iar[13]] T_iar[13].timeout {ReceiveInactivity_Timer_Expired(13);
- v_T_iar[13] := false;}
- [v_T_iar[14]] T_iar[14].timeout {ReceiveInactivity_Timer_Expired(14);
- v_T_iar[14] := false;}
- [v_T_iar[15]] T_iar[15].timeout {ReceiveInactivity_Timer_Expired(15);
- v_T_iar[15] := false;}
-
- //******************************************************************
- //release timer expired
- //******************************************************************
- [v_T_rel[0]] T_rel[0].timeout {Release_Timer_Expired(0);
- v_T_rel[0] := false;}
- [v_T_rel[1]] T_rel[1].timeout {Release_Timer_Expired(1);
- v_T_rel[1] := false;}
- [v_T_rel[2]] T_rel[2].timeout {Release_Timer_Expired(2);
- v_T_rel[2] := false;}
- [v_T_rel[3]] T_rel[3].timeout {Release_Timer_Expired(3);
- v_T_rel[3] := false;}
- [v_T_rel[4]] T_rel[4].timeout {Release_Timer_Expired(4);
- v_T_rel[4] := false;}
- [v_T_rel[5]] T_rel[5].timeout {Release_Timer_Expired(5);
- v_T_rel[5] := false;}
- [v_T_rel[6]] T_rel[6].timeout {Release_Timer_Expired(6);
- v_T_rel[6] := false;}
- [v_T_rel[7]] T_rel[7].timeout {Release_Timer_Expired(7);
- v_T_rel[7] := false;}
- [v_T_rel[8]] T_rel[8].timeout {Release_Timer_Expired(8);
- v_T_rel[8] := false;}
- [v_T_rel[9]] T_rel[9].timeout {Release_Timer_Expired(9);
- v_T_rel[9] := false;}
- [v_T_rel[10]] T_rel[10].timeout {Release_Timer_Expired(10);
- v_T_rel[10] := false;}
- [v_T_rel[11]] T_rel[11].timeout {Release_Timer_Expired(11);
- v_T_rel[11] := false;}
- [v_T_rel[12]] T_rel[12].timeout {Release_Timer_Expired(12);
- v_T_rel[12] := false;}
- [v_T_rel[13]] T_rel[13].timeout {Release_Timer_Expired(13);
- v_T_rel[13] := false;}
- [v_T_rel[14]] T_rel[14].timeout {Release_Timer_Expired(14);
- v_T_rel[14] := false;}
- [v_T_rel[15]] T_rel[15].timeout {Release_Timer_Expired(15);
- v_T_rel[15] := false;}
-
- //******************************************************************
- //repeat release timer expired
- //******************************************************************
-
- [v_T_repeat_rel[0]] T_repeat_rel[0].timeout {RepeatRelease_Timer_Expired(0);
- v_T_repeat_rel[0] := false;}
- [v_T_repeat_rel[1]] T_repeat_rel[1].timeout {RepeatRelease_Timer_Expired(1);
- v_T_repeat_rel[1] := false;}
- [v_T_repeat_rel[2]] T_repeat_rel[2].timeout {RepeatRelease_Timer_Expired(2);
- v_T_repeat_rel[2] := false;}
- [v_T_repeat_rel[3]] T_repeat_rel[3].timeout {RepeatRelease_Timer_Expired(3);
- v_T_repeat_rel[3] := false;}
- [v_T_repeat_rel[4]] T_repeat_rel[4].timeout {RepeatRelease_Timer_Expired(4);
- v_T_repeat_rel[4] := false;}
- [v_T_repeat_rel[5]] T_repeat_rel[5].timeout {RepeatRelease_Timer_Expired(5);
- v_T_repeat_rel[5] := false;}
- [v_T_repeat_rel[6]] T_repeat_rel[6].timeout {RepeatRelease_Timer_Expired(6);
- v_T_repeat_rel[6] := false;}
- [v_T_repeat_rel[7]] T_repeat_rel[7].timeout {RepeatRelease_Timer_Expired(7);
- v_T_repeat_rel[7] := false;}
- [v_T_repeat_rel[8]] T_repeat_rel[8].timeout {RepeatRelease_Timer_Expired(8);
- v_T_repeat_rel[8] := false;}
- [v_T_repeat_rel[9]] T_repeat_rel[9].timeout {RepeatRelease_Timer_Expired(9);
- v_T_repeat_rel[9] := false;}
- [v_T_repeat_rel[10]] T_repeat_rel[10].timeout {RepeatRelease_Timer_Expired(10);
- v_T_repeat_rel[10] := false;}
- [v_T_repeat_rel[11]] T_repeat_rel[11].timeout {RepeatRelease_Timer_Expired(11);
- v_T_repeat_rel[11] := false;}
- [v_T_repeat_rel[12]] T_repeat_rel[12].timeout {RepeatRelease_Timer_Expired(12);
- v_T_repeat_rel[12] := false;}
- [v_T_repeat_rel[13]] T_repeat_rel[13].timeout {RepeatRelease_Timer_Expired(13);
- v_T_repeat_rel[13] := false;}
- [v_T_repeat_rel[14]] T_repeat_rel[14].timeout {RepeatRelease_Timer_Expired(14);
- v_T_repeat_rel[14] := false;}
- [v_T_repeat_rel[15]] T_repeat_rel[15].timeout {RepeatRelease_Timer_Expired(15);
- v_T_repeat_rel[15] := false;}
-
- //******************************************************************
- //interval timer expired
- //******************************************************************
- [v_T_int[0]] T_int[0].timeout {Interval_Timer_Expired(0);
- v_T_int[0] := false;}
- [v_T_int[1]] T_int[1].timeout {Interval_Timer_Expired(1);
- v_T_int[1] := false;}
- [v_T_int[2]] T_int[2].timeout {Interval_Timer_Expired(2);
- v_T_int[2] := false;}
- [v_T_int[3]] T_int[3].timeout {Interval_Timer_Expired(3);
- v_T_int[3] := false;}
- [v_T_int[4]] T_int[4].timeout {Interval_Timer_Expired(4);
- v_T_int[4] := false;}
- [v_T_int[5]] T_int[5].timeout {Interval_Timer_Expired(5);
- v_T_int[5] := false;}
- [v_T_int[6]] T_int[6].timeout {Interval_Timer_Expired(6);
- v_T_int[6] := false;}
- [v_T_int[7]] T_int[7].timeout {Interval_Timer_Expired(7);
- v_T_int[7] := false;}
- [v_T_int[8]] T_int[8].timeout {Interval_Timer_Expired(8);
- v_T_int[8] := false;}
- [v_T_int[9]] T_int[9].timeout {Interval_Timer_Expired(9);
- v_T_int[9] := false;}
- [v_T_int[10]] T_int[10].timeout {Interval_Timer_Expired(10);
- v_T_int[10] := false;}
- [v_T_int[11]] T_int[11].timeout {Interval_Timer_Expired(11);
- v_T_int[11] := false;}
- [v_T_int[12]] T_int[12].timeout {Interval_Timer_Expired(12);
- v_T_int[12] := false;}
- [v_T_int[13]] T_int[13].timeout {Interval_Timer_Expired(13);
- v_T_int[13] := false;}
- [v_T_int[14]] T_int[14].timeout {Interval_Timer_Expired(14);
- v_T_int[14] := false;}
- [v_T_int[15]] T_int[15].timeout {Interval_Timer_Expired(15);
- v_T_int[15] := false;}
-
- //******************************************************************
- //reset timer expired
- //******************************************************************
- [v_T_reset[0]] T_reset[0].timeout {Reset_Timer_Expired(0);
- v_T_reset[0] := false;}
- [v_T_reset[1]] T_reset[1].timeout {Reset_Timer_Expired(1);
- v_T_reset[1] := false;}
- [v_T_reset[2]] T_reset[2].timeout {Reset_Timer_Expired(2);
- v_T_reset[2] := false;}
- [v_T_reset[3]] T_reset[3].timeout {Reset_Timer_Expired(3);
- v_T_reset[3] := false;}
- [v_T_reset[4]] T_reset[4].timeout {Reset_Timer_Expired(4);
- v_T_reset[4] := false;}
- [v_T_reset[5]] T_reset[5].timeout {Reset_Timer_Expired(5);
- v_T_reset[5] := false;}
- [v_T_reset[6]] T_reset[6].timeout {Reset_Timer_Expired(6);
- v_T_reset[6] := false;}
- [v_T_reset[7]] T_reset[7].timeout {Reset_Timer_Expired(7);
- v_T_reset[7] := false;}
- [v_T_reset[8]] T_reset[8].timeout {Reset_Timer_Expired(8);
- v_T_reset[8] := false;}
- [v_T_reset[9]] T_reset[9].timeout {Reset_Timer_Expired(9);
- v_T_reset[9] := false;}
- [v_T_reset[10]] T_reset[10].timeout {Reset_Timer_Expired(10);
- v_T_reset[10] := false;}
- [v_T_reset[11]] T_reset[11].timeout {Reset_Timer_Expired(11);
- v_T_reset[11] := false;}
- [v_T_reset[12]] T_reset[12].timeout {Reset_Timer_Expired(12);
- v_T_reset[12] := false;}
- [v_T_reset[13]] T_reset[13].timeout {Reset_Timer_Expired(13);
- v_T_reset[13] := false;}
- [v_T_reset[14]] T_reset[14].timeout {Reset_Timer_Expired(14);
- v_T_reset[14] := false;}
- [v_T_reset[15]] T_reset[15].timeout {Reset_Timer_Expired(15);
- v_T_reset[15] := false;}
-
- //******************************************************************
- //internal_reset timer expired-sending internal signals!
- //******************************************************************
- [v_T_internal_reset[0]] T_internal_reset[0].timeout {InternalResetTimer_Expired(0);
- v_T_internal_reset[0] := false;}
- [v_T_internal_reset[1]] T_internal_reset[1].timeout {InternalResetTimer_Expired(1);
- v_T_internal_reset[1] := false;}
- [v_T_internal_reset[2]] T_internal_reset[2].timeout {InternalResetTimer_Expired(2);
- v_T_internal_reset[2] := false;}
- [v_T_internal_reset[3]] T_internal_reset[3].timeout {InternalResetTimer_Expired(3);
- v_T_internal_reset[3] := false;}
- [v_T_internal_reset[4]] T_internal_reset[4].timeout {InternalResetTimer_Expired(4);
- v_T_internal_reset[4] := false;}
- [v_T_internal_reset[5]] T_internal_reset[5].timeout {InternalResetTimer_Expired(5);
- v_T_internal_reset[5] := false;}
- [v_T_internal_reset[6]] T_internal_reset[6].timeout {InternalResetTimer_Expired(6);
- v_T_internal_reset[6] := false;}
- [v_T_internal_reset[7]] T_internal_reset[7].timeout {InternalResetTimer_Expired(7);
- v_T_internal_reset[7] := false;}
- [v_T_internal_reset[8]] T_internal_reset[8].timeout {InternalResetTimer_Expired(8);
- v_T_internal_reset[8] := false;}
- [v_T_internal_reset[9]] T_internal_reset[9].timeout {InternalResetTimer_Expired(9);
- v_T_internal_reset[9] := false;}
- [v_T_internal_reset[10]] T_internal_reset[10].timeout {InternalResetTimer_Expired(10);
- v_T_internal_reset[10] := false;}
- [v_T_internal_reset[11]] T_internal_reset[11].timeout {InternalResetTimer_Expired(11);
- v_T_internal_reset[11] := false;}
- [v_T_internal_reset[12]] T_internal_reset[12].timeout {InternalResetTimer_Expired(12);
- v_T_internal_reset[12] := false;}
- [v_T_internal_reset[13]] T_internal_reset[13].timeout {InternalResetTimer_Expired(13);
- v_T_internal_reset[13] := false;}
- [v_T_internal_reset[14]] T_internal_reset[14].timeout {InternalResetTimer_Expired(14);
- v_T_internal_reset[14] := false;}
- [v_T_internal_reset[15]] T_internal_reset[15].timeout {InternalResetTimer_Expired(15);
- v_T_internal_reset[15] := false;}
-
- //******************************************************************
- //guard timer expired - no answer to ASP_SCCP_N_CONNECT_ind received
- //******************************************************************
- [v_T_guard[0]] T_guard[0].timeout {GuardTimer_Expired(0);
- v_T_guard[0] := false;}
- [v_T_guard[1]] T_guard[1].timeout {GuardTimer_Expired(1);
- v_T_guard[1] := false;}
- [v_T_guard[2]] T_guard[2].timeout {GuardTimer_Expired(2);
- v_T_guard[2] := false;}
- [v_T_guard[3]] T_guard[3].timeout {GuardTimer_Expired(3);
- v_T_guard[3] := false;}
- [v_T_guard[4]] T_guard[4].timeout {GuardTimer_Expired(4);
- v_T_guard[4] := false;}
- [v_T_guard[5]] T_guard[5].timeout {GuardTimer_Expired(5);
- v_T_guard[5] := false;}
- [v_T_guard[6]] T_guard[6].timeout {GuardTimer_Expired(6);
- v_T_guard[6] := false;}
- [v_T_guard[7]] T_guard[7].timeout {GuardTimer_Expired(7);
- v_T_guard[7] := false;}
- [v_T_guard[8]] T_guard[8].timeout {GuardTimer_Expired(8);
- v_T_guard[8] := false;}
- [v_T_guard[9]] T_guard[9].timeout {GuardTimer_Expired(9);
- v_T_guard[9] := false;}
- [v_T_guard[10]] T_guard[10].timeout {GuardTimer_Expired(10);
- v_T_guard[10] := false;}
- [v_T_guard[11]] T_guard[11].timeout {GuardTimer_Expired(11);
- v_T_guard[11] := false;}
- [v_T_guard[12]] T_guard[12].timeout {GuardTimer_Expired(12);
- v_T_guard[12] := false;}
- [v_T_guard[13]] T_guard[13].timeout {GuardTimer_Expired(13);
- v_T_guard[13] := false;}
- [v_T_guard[14]] T_guard[14].timeout {GuardTimer_Expired(14);
- v_T_guard[14] := false;}
- [v_T_guard[15]] T_guard[15].timeout {GuardTimer_Expired(15);
- v_T_guard[15] := false;}
-
-
- }//endalt0
-
- //******************************************************************
- }//endwhile
- //******************************************************************
-
-}//endfunction ScanEvents
-
-//******************************************************************
-}//endgroup SCCPFunctions
-//******************************************************************
-
-}//endmodule
diff --git a/SCCP_CNL113341/src/SCCP_EncDec.cc b/SCCP_CNL113341/src/SCCP_EncDec.cc
deleted file mode 100644
index f00b08a9b..000000000
--- a/SCCP_CNL113341/src/SCCP_EncDec.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2007 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-// File: SCCP_EncDec.cc
-// Rev: R6A05
-// Prodnr: CNL 113 341
-// Updated: 2007-09-17
-// Contact: http://ttcn.ericsson.se
-
-// Please note: Because the encoder/decoder functions are generated by the
-// TITAN, the SCCP_EncDec.cc is kept only for compatibility issue and
-// should be removed from the projects.
diff --git a/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp b/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp
deleted file mode 100644
index 0de496b72..000000000
--- a/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp
+++ /dev/null
@@ -1,129 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2012 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-// File: SCCP_Mapping.ttcnpp
-// Description: SCCP <-> MTP3 dual faced port definition
-// Rev: R6A05
-// Prodnr: CNL 113 341
-// Updated: 2012-11-05
-// Contact: http://ttcn.ericsson.se
-module SCCP_Mapping
-{
-import from MTP3asp_Types all;
-import from MTP3asp_PortType all;
-import from SCCP_Types all;
-import from SCCPasp_Types all;
-
-// *************************************************************************
-// *************************************************************************
-//SCCP Component related declarations
-// *************************************************************************
-// *************************************************************************
-
-type integer UnhandledProtocol;
-
-// SCCPasp_SP_PT SCCP_SP_PORT
-//+-----------------+-----------------+
-//| SCCP_CT /
-//| /
-//+-----------------+-----------------+
-//MTP3asp_SCCP_PT MTP3_SCCP_PORT
-// |
-//
-
-//#ifdef USE_MTP3_DISTRIBUTOR
-//Version to internal port
-type port MTP3asp_SCCP_PT message
-{
- in PDU_SCCP;
- out ASP_MTP3_TRANSFERreq_sccp;
-}
-with
-{ extension
- "internal user MTP3asp_PT
- out(ASP_MTP3_TRANSFERreq_sccp
- -> ASP_MTP3_TRANSFERreq: function(f_enc_SCCP_to_MTP))
- in( ASP_MTP3_TRANSFERind
- -> PDU_SCCP: function(f_dec_MTP_to_SCCP),
- - : discard;
- ASP_MTP3_PAUSE -> -: discard;
- ASP_MTP3_RESUME -> -: discard;
- ASP_MTP3_STATUS -> -: discard)
- "
-}
-/*#else
-//Version to external port
-type port MTP3asp_SCCP_PT message
-{
- in PDU_SCCP;
- in UnhandledProtocol;
- out ASP_MTP3_TRANSFERreq_sccp;
-}
-with
-{ extension
- "user MTP3asp_PT
- out(ASP_MTP3_TRANSFERreq_sccp
- -> ASP_MTP3_TRANSFERreq: function(f_enc_SCCP_to_MTP))
- in( ASP_MTP3_TRANSFERind ->
- PDU_SCCP: function(f_dec_MTP_to_SCCP),
- UnhandledProtocol: function(f_dec_MTP_to_UnhandledProtocol);
- ASP_MTP3_PAUSE -> -: discard;
- ASP_MTP3_RESUME -> -: discard;
- ASP_MTP3_STATUS -> -: discard)
- "
-}
-
-function f_dec_MTP_to_UnhandledProtocol(in ASP_MTP3_TRANSFERind pl_in, out UnhandledProtocol pl_out) return integer
-{
- pl_out := 1;
- return 0;
-} with {extension "prototype(backtrack)" }
-
-#endif
-*/
-
-function f_enc_SCCP_to_MTP
- (in ASP_MTP3_TRANSFERreq_sccp pl_in,
- out ASP_MTP3_TRANSFERreq pl_out) return integer
-{
- var bitstring vl_sio_bit := oct2bit(pl_in.sio);
- var MTP3_Field_sio vl_sio_struct;
- vl_sio_struct.ni := substr(vl_sio_bit,0,2);
- vl_sio_struct.prio := substr(vl_sio_bit,2,2);
- vl_sio_struct.si := substr(vl_sio_bit,4,4);
-
- pl_out :=
- {
- sio := vl_sio_struct,
- opc := pl_in.opc,
- dpc := pl_in.dpc,
- sls := pl_in.sls,
- data:= enc_PDU_SCCP(pl_in.data)
- }
- return 0;
-} with {extension "prototype(backtrack)" }
-
-function f_dec_MTP_to_SCCP
- (in ASP_MTP3_TRANSFERind pl_in,
- out PDU_SCCP pl_out) return integer
-{
- if (pl_in.sio.si != '0011'B)
- {
- log("The received message is not SCCP. Ignored.");
- return 1;
- }
- pl_out := dec_PDU_SCCP(pl_in.data);
-
- return 0;
-} with {extension "prototype(backtrack)" }
-
-
-
-}
diff --git a/SCCP_CNL113341/src/SCCP_Types.ttcn b/SCCP_CNL113341/src/SCCP_Types.ttcn
deleted file mode 100644
index 168c317a9..000000000
--- a/SCCP_CNL113341/src/SCCP_Types.ttcn
+++ /dev/null
@@ -1,1553 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2008 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-// File: SCCP_Types.ttcn
-// Description: SS7 SCCP definitions according to specification
-// ITU-T SS7 SCCP, ANSI ..., ttc ..., mpt
-// Reference: ITU-T: Recommendation Q.711-Q.714 (07/96)
-// ANSI: T1.112-2001
-// ttc: JT-Q711 -JT-Q714 (ver 2, 04/97)
-// Rev: R6A05
-// Prodnr: CNL 113 341
-// Updated: 2008-05-08
-// Contact: http://ttcn.ericsson.se
-
-module SCCP_Types.objid { itu_t(0) identified_organization (4) etsi(0)
- reserved(127) etsi_identified_organization(0) ericsson(5)
- testing (0) generic(0) sccp(1) v3(3) typeDefinitions(2) patchNo(3)}
-
-{//start of the module
-
-modulepar
-{//startparameters
-
-//------------------Protocol Timer Values----------------------------------
-
-//Waiting for connection confirm message -1 to 2 minutes
-
- float tspc_timer_T_conn_est:=120.0;
-
- //Delay to send a message on a conn IT on a
- //connection section when there are no
- //messages to send
- //5 to 10 minutes
-
- float tspc_timer_T_ias:=600.0;
- //Waiting to receive a message on a connection
- //section
- //11 to 21 minutes
- float tspc_timer_T_iar:=1260.0;
- //Waiting for release complete message -10 to 20 seconds
-
- float tspc_timer_T_rel:=20.0;
- //Waiting for release complete message; or to
- //repeat sending released message after the
- //initial T(rel) expiry
- //10 to 20 seconds
- float tspc_timer_T_repeat_rel:=20.0;
-
- //Waiting for release complete message; or to
- //release connection resources, freeze the LRN
- //and alert a maintenance function after the
- //initial T(rel) expiry
- //extending to 1 minute
- float tspc_timer_T_int:=60.0;
-
- //Waiting to resume normal procedure for
- //temporary connection sections during the
- //restart procedure
- //23 to 25 minutes
- float tspc_timer_T_guard:=1500.0;
-
- //Waiting to release temporary connection
- //section or alert maintenance function after
- //reset request message is sent
- //10 to 20 seconds
- float tspc_timer_T_reset:=20.0;
- //Waiting to receive all the segments of the
- //remaining segments single segmented
- //message after receiving the first segment
- //10 to 20 seconds
-
- // float tspc_timer_T_reasssembly;
-
- float tspc_timer_T_internal_reset:=0.0;
- //zero-only for sending internal signals!!
-
-
- float tspc_timer_guard :=120.0
- //the same as tspc_timer_T_conn_est:1 or 2 minutes
-
-}//end parameters
-
-
-
-import from General_Types all;
-import from MTP3asp_Types all;
-//import from MTP3asp_PortType all;
-
-import from SCCPasp_Types all;
-
-external function enc_PDU_SCCP( in PDU_SCCP pdu) return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-external function dec_PDU_SCCP( in octetstring o) return PDU_SCCP
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-// Address encoder/decoder for itu:
-external function enc_PDU_SCCP_Address_itu( in SCCP_param_CPartyAddress_itu pdu) return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-external function dec_PDU_SCCP_Address_itu( in octetstring o) return SCCP_param_CPartyAddress_itu
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-// Address encoder/decoder for ansi:
-external function enc_PDU_SCCP_Address_ansi( in SCCP_param_CPartyAddress_ansi pdu) return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-external function dec_PDU_SCCP_Address_ansi( in octetstring o) return SCCP_param_CPartyAddress_ansi
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-// Address encoder/decoder for ttc:
-external function enc_PDU_SCCP_Address_ttc( in SCCP_param_CPartyAddress_ttc pdu) return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-external function dec_PDU_SCCP_Address_ttc( in octetstring o) return SCCP_param_CPartyAddress_ttc
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-// Address encoder/decoder for mpt:
-external function enc_PDU_SCCP_Address_mpt( in SCCP_param_CPartyAddress_mpt pdu) return octetstring
- with { extension "prototype(convert)"
- extension "encode(RAW)"
- };
-external function dec_PDU_SCCP_Address_mpt( in octetstring o) return SCCP_param_CPartyAddress_mpt
- with { extension "prototype(convert)"
- extension "decode(RAW)"
- };
-
-group Types
-{
- group FieldDefinitions
- {
- //---------------------------------------------------------------------------
- // Field Parameter Name (ITU:$3/Q713 $3, ANSI:Table 2/T1.112.3-2001
- //---------------------------------------------------------------------------
- type integer SCCP_field_ParameterName with { variant "FIELDLENGTH(8)"};
- const SCCP_field_ParameterName con_SCCP_eop :=0, con_SCCP_dLocRef:=1,
- con_SCCP_sLocRef:=2, con_SCCP_cdPA:=3,
- con_SCCP_cgPA:=4, con_SCCP_protclass:=5,
- con_SCCP_segmReas:=6, con_SCCP_recSeqNum:=7,
- con_SCCP_seqSegm:=8, con_SCCP_credit:=9,
- con_SCCP_relCause:=10, con_SCCP_retCause:=11,
- con_SCCP_resCause:=12, con_SCCP_errorCause:=13,
- con_SCCP_refCause:=14, con_SCCP_data:=15,
- con_SCCP_segm:=16, con_SCCP_hopCount:=17,
- con_SCCP_imp:=18, con_SCCP_longData:=19,
- con_SCCP_mti:=248, con_SCCP_ins:=249,
- con_SCCP_isni:=250;
-
-
- //EOP End of optional parameters, DLocRef Destination local reference,
- //SLocRef Source local reference, CdPA Called party address,
- //CgPA Calling party address, ProtClass Protocol class,
- //SegmReas Segmenting/reassembling, RecSeqNum Receive sequence number,
- //SeqSegm Sequencing/segmenting, Credit Credit,
- //RelCause Release cause, RetCau Return cause,
- //ResCau Reset cause, ErrCau Error cause,
- //RefCau Refusal cause, Data Data,
- //SEGM Segmentation, HopCount Hop counter,
- //IMP Importance, LongData Long data,
- // --- only in ANSI:---
- //MTI Message Type Interworking
- //INS
- //ISNI
- //ISNI
-
- //---------------------------------------------------------------------------
- // Field Address Indicator (ITU: Q713 $3.4.1, ANSI: T1.112.3 $3.4.1)
- //---------------------------------------------------------------------------
- type record SCCP_field_AddressIndicator_itu
- {
- BIT1 pointCodeIndic,
- BIT1 ssnIndicator,
- BIT4 globalTitleIndic,
- BIT1 routingIndicator,
- BIT1 reserved
- }
- with { variant "" }
-
- // field order is interesting at coding/decoding
- type record SCCP_field_AddressIndicator_ansi
- {
- BIT1 ssnIndicator,
- BIT1 pointCodeIndic,
- BIT4 globalTitleIndic,
- BIT1 routingIndicator,
- BIT1 reserved
- }
- with { variant "" }
-
- //---------------------------------------------------------------------------
- // Subfield Signalling Point Code (Q713 $3.4.2.1)
- //---------------------------------------------------------------------------
- // use functions SCCP_getSPC and SCCP_setSPC to handle it!!!
-
- type BIT16 SCCP_field_SignallingPointCode_itu; // TO BE DEFINED: msb or lsb ???
- type BIT24 SCCP_field_SignallingPointCode_ansi; // TO BE DEFINED: msb or lsb ???
- type BIT16 SCCP_field_SignallingPointCode_ttc; // TO BE DEFINED: msb or lsb ???
- type BIT24 SCCP_field_SignallingPointCode_mpt; // TO BE DEFINED: msb or lsb ???
- //---------------------------------------------------------------------------
- // Subfield Subsystem Number (Q713 $3.4.2.2)
- //---------------------------------------------------------------------------
- //values declared in SCCPConstants in SCCP.ttcn
-
- type integer SCCP_field_SubsystemNumber
- with { variant "FIELDLENGTH(8)" };
-
-
- //---------------------------------------------------------------------------
- // Subfield Global Title (ITU: Q713 $3.4.2.3, ANSI T1.112.3 $3.4.2.3
- //---------------------------------------------------------------------------
-
- //---------------------------------------------------------------------------
- // Subfield Global Title, Nature of address only
- //ITU: GTI=0001, Q713 $3.4.2.3.1
- //ANSI: -
-
- type record SCCP_field_GlobalTitle_NoA
- {
- BIT7 natureOfAddress,
- BIT1 oddeven,
- hexstring globalTitleAddress
- //it should be hexstring, number digits are in BCD;
- //hexstring is already supported yet by ETH compiler
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Global Title, Translation type only (
- // ITU: GTI=0010, Q713 $3.4.2.3.2
- // ANSI: GTI=0010, Figure6A/T1.112.3
-
- type record SCCP_field_GlobalTitle_TT
- {
- OCT1 translationType,
- hexstring globalTitleAddress
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Global Title, Translation type & numbering plan & encoding scheme
- // ITU: GTI=0011, Q713 $3.4.2.3.3)
- // ANSI GTI=0001, Figure6/T1.112.3
-
- type record SCCP_field_GlobalTitle_TT_NP_ES
- {
- OCT1 translationType,
- BIT4 encodingScheme,
- BIT4 numberingPlan,
- hexstring globalTitleAddress
- }
- with { variant "" }
-
-
- //-----------------------------------------------------------------------------
- // Global Title, Translation type & numbering plan & encoding scheme & nature of
- // address
- // GTI=0100, Q713 $3.4.2.3.4)
- // ANSI: -
-
- // Suggested to change name to SCCP_field_GlobalTitle_TT_NP_ES_NoA
-
- type record SCCP_field_SignallingPointCode_TT_NP_ES_NoA
- {
- OCT1 translationType,
- BIT4 encodingScheme,
- BIT4 numberingPlan,
- BIT7 natureOfAddress,
- BIT1 reserved,
- hexstring globalTitleAddress
- }
- with { variant "" }
-
-
- type union SCCP_field_GlobalTitle_itu
- {
- SCCP_field_GlobalTitle_NoA gti0001,
- SCCP_field_GlobalTitle_TT gti0010,
- SCCP_field_GlobalTitle_TT_NP_ES gti0011,
- SCCP_field_SignallingPointCode_TT_NP_ES_NoA gti0100
- }
- with { variant "" }
- // no TAG is added as alternatives depend on the gti field of the address indicator
-
- type union SCCP_field_GlobalTitle_ansi
- {
- SCCP_field_GlobalTitle_TT_NP_ES gti0001,
- SCCP_field_GlobalTitle_TT gti0010
- }
- with { variant "" }
-
-//---------------------------------------------------------------------------
-// Field Protocol Class (Q713 $3.6)
-//---------------------------------------------------------------------------
-//type enumerated SCCP_field_ProtocolClass
-// { class0 (0), class1(1), class2(2), class3(3) }
-// with { variant "FIELDLENGTH(4)" }
-//ethgry(2002-08-01): replaced by BIT4
-
-//---------------------------------------------------------------------------
-// Field Importance (Q713 $3.19)
-//---------------------------------------------------------------------------
- type integer SCCP_field_Importance
- with { variant "FIELDLENGTH(3)" }
-
-
-}//endgroup FieldDefinitions
-
-
-group ParameterDefinitions
-{
- //---------------------------------------------------------------------------
- // Parameter Message Type (Q713 $2.1)
- //---------------------------------------------------------------------------
- type integer SCCP_param_MessageType with { variant "FIELDLENGTH(8)" }
- const SCCP_param_MessageType cr:=1, cc:=2, cref:=3,
- rlsd:=4, rlc:=5, dt1:=6, dt2:=7,
- ak:=8, udt:=9, udts:=10, ed:=11,
- ea:=12, rsr:=13, rsc:=14, err:=15,
- it:=16, xudt:=17, xudts:=18, ludt:=19,
- ludts:=20;
-
-
- //CR Connection request, CC Connection confirm, CREF Connection refused,
- //RLSD Released, RLC Release complete, DT1 Data form 1,
- //DT2 Data form 2, AK Data acknowledgement, UDT Unitdata,
- //UDTS Unitdata service, ED Expedited data, EA Expedited data acknowledgement,
- //RSR Reset request, RSC Reset confirm, ERR Protocol data unit error,
- //IT Inactivity test, XUDT Extended unitdata, XUDTS Extended unitdata service,
- //LUDT Long unitdata, LUDTS Long unitdata service
-
-
- //---------------------------------------------------------------------------
- // End of Optional Parameters (Q713 $3.1)
- //---------------------------------------------------------------------------
- type record SCCP_param_EndOfOptionalParams
- {
- SCCP_field_ParameterName paramName (con_SCCP_eop)
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Destination Local Reference (Q713 $3.2)
- //---------------------------------------------------------------------------
- type octetstring SCCP_param_DestLocalReference
- with { variant "FIELDLENGTH(3)"}
-
-
- //---------------------------------------------------------------------------
- // Parameter Source Local Reference (Q713 $3.3)
- //---------------------------------------------------------------------------
-
- type octetstring SCCP_param_SourceLocalReference
- with { variant "FIELDLENGTH(3)" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Called/Calling Party Address (Q713 $3.4/$3.5)
- //---------------------------------------------------------------------------
- /* Removed 2004.02.16 by ethbaat:
-
- type union SCCP_superfield_SignallingPointCode_itu
- {
- SCCP_field_SignallingPointCode_itu present,
- Dummy absent
- } with { variant "" }
-
-
- type union SCCP_superfield_SignallingPointCode_ansi
- {
- SCCP_field_SignallingPointCode_ansi present,
- Dummy absent
- } with { variant "" }
-
- type union SCCP_superfield_SignallingPointCode_ttc
- {
- SCCP_field_SignallingPointCode_ttc present,
- Dummy absent
- } with { variant "" }
-
- type union SCCP_superfield_SubsystemNumber
- {
- SCCP_field_SubsystemNumber present,
- Dummy absent
- } with { variant "" }
-
- */
-
- // Standard Independent Encoded Calling/Called Party Address:
- // used in SCCP.ttcn/Convert
-
- // this address is used everywhere in SCCP inside:
- type octetstring SCCP_CPartyAddressEnc_addr with { variant ""};
-
- type record SCCP_param_CPartyAddressEnc
- {
- LIN1 paramLength,
- SCCP_CPartyAddressEnc_addr addr
- } with { variant (paramLength) "LENGTHTO( addr )"}
-
- // Structured, decoded versions:
-
- type record SCCP_param_CPartyAddress_itu {
-
- SCCP_field_AddressIndicator_itu addressIndicator,
- SCCP_field_SignallingPointCode_itu signPointCode optional,
- SCCP_field_SubsystemNumber subsystemNumber optional,
- SCCP_field_GlobalTitle_itu globalTitle optional
- }
- with { variant (signPointCode) "PRESENCE( addressIndicator.pointCodeIndic = '1'B)";
- variant (subsystemNumber) "PRESENCE( addressIndicator.ssnIndicator = '1'B)";
- variant (globalTitle) "PRESENCE( {addressIndicator.globalTitleIndic = '0001'B,
- addressIndicator.globalTitleIndic = '0010'B,
- addressIndicator.globalTitleIndic = '0011'B,
- addressIndicator.globalTitleIndic = '0100'B}),
- CROSSTAG(
- gti0001, addressIndicator.globalTitleIndic = '0001'B;
- gti0010, addressIndicator.globalTitleIndic = '0010'B;
- gti0011, addressIndicator.globalTitleIndic = '0011'B;
- gti0100, addressIndicator.globalTitleIndic = '0100'B)"
- }
-
- type record SCCP_param_CPartyAddress_ansi
- {
- SCCP_field_AddressIndicator_ansi addressIndicator,
- SCCP_field_SubsystemNumber subsystemNumber optional,
- SCCP_field_SignallingPointCode_ansi signPointCode optional,
- SCCP_field_GlobalTitle_ansi globalTitle optional
- }
- with {
- variant (subsystemNumber) "PRESENCE( addressIndicator.ssnIndicator = '1'B )";
- variant (signPointCode) "PRESENCE( addressIndicator.pointCodeIndic = '1'B )";
- variant (globalTitle) "PRESENCE( {addressIndicator.globalTitleIndic = '0001'B,
- addressIndicator.globalTitleIndic = '0010'B}),
- CROSSTAG(
- gti0001, addressIndicator.globalTitleIndic = '0001'B;
- gti0010, addressIndicator.globalTitleIndic = '0010'B)"
- }
-
- type record SCCP_param_CPartyAddress_ttc {
-
- SCCP_field_AddressIndicator_itu addressIndicator,
- SCCP_field_SignallingPointCode_ttc signPointCode optional,
- SCCP_field_SubsystemNumber subsystemNumber optional,
- SCCP_field_GlobalTitle_itu globalTitle optional
- }
- with { variant (signPointCode) "PRESENCE( addressIndicator.pointCodeIndic = '1'B)";
- variant (subsystemNumber) "PRESENCE( addressIndicator.ssnIndicator = '1'B)";
- variant (globalTitle) "PRESENCE( {addressIndicator.globalTitleIndic = '0001'B,
- addressIndicator.globalTitleIndic = '0010'B,
- addressIndicator.globalTitleIndic = '0011'B,
- addressIndicator.globalTitleIndic = '0100'B}),
- CROSSTAG(
- gti0001, addressIndicator.globalTitleIndic = '0001'B;
- gti0010, addressIndicator.globalTitleIndic = '0010'B;
- gti0011, addressIndicator.globalTitleIndic = '0011'B;
- gti0100, addressIndicator.globalTitleIndic = '0100'B)"
- }
-
- type record SCCP_param_CPartyAddress_mpt {
-
- SCCP_field_AddressIndicator_itu addressIndicator,
- SCCP_field_SignallingPointCode_mpt signPointCode optional,
- SCCP_field_SubsystemNumber subsystemNumber optional,
- SCCP_field_GlobalTitle_itu globalTitle optional
- }
- with { variant (signPointCode) "PRESENCE( addressIndicator.pointCodeIndic = '1'B)";
- variant (subsystemNumber) "PRESENCE( addressIndicator.ssnIndicator = '1'B)";
- variant (globalTitle) "PRESENCE( {addressIndicator.globalTitleIndic = '0001'B,
- addressIndicator.globalTitleIndic = '0010'B,
- addressIndicator.globalTitleIndic = '0011'B,
- addressIndicator.globalTitleIndic = '0100'B}),
- CROSSTAG(
- gti0001, addressIndicator.globalTitleIndic = '0001'B;
- gti0010, addressIndicator.globalTitleIndic = '0010'B;
- gti0011, addressIndicator.globalTitleIndic = '0011'B;
- gti0100, addressIndicator.globalTitleIndic = '0100'B)"
- }
-
-// type record SCCP_param_CPartyAddress_opt_itu
- type record SCCP_param_CPartyAddressEnc_opt
- {
- SCCP_field_ParameterName paramName(con_SCCP_cdPA, con_SCCP_cgPA),
- LIN1 paramLength,
- SCCP_CPartyAddressEnc_addr addr
- } with { variant (paramLength) "LENGTHTO( addr )"}
-
- //---------------------------------------------------------------------------
- // Parameter Protocol Class (Q713 $3.6)
- //---------------------------------------------------------------------------
- type record SCCP_param_ProtocolClass
- {
- BIT4 class,
- BIT4 messageHandling
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Segmenting/reassembling (Q713 $3.7)
- //---------------------------------------------------------------------------
- type record SCCP_param_SegmentingReassembl
- {
- BIT1 more,
- BIT7 reserved
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Receive Sequence Number (Q713 $3.8)
- //---------------------------------------------------------------------------
- type record SCCP_param_RecSeqNumber
- {
- BIT1 reserved,
- BIT7 pr
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Sequencing/Segmenting (Q713 $3.9)
- //---------------------------------------------------------------------------
- type record SCCP_param_SequencingSegmenting
- {
- BIT1 reserved,
- BIT7 p_s,
- BIT1 more,
- BIT7 pr
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Credit(Q713 $3.10)
- //---------------------------------------------------------------------------
- type octetstring SCCP_param_Credit
- with { variant "FIELDLENGTH(1)" }//ethlel0813
-
-
- type record SCCP_param_Credit_opt
- {
- SCCP_field_ParameterName paramName(con_SCCP_credit),
- LIN1 paramLength, // always 1!
- OCT1 credit
- }
- with { variant "" }
-
-
-//---------------------------------------------------------------------------
-// Parameter Release Cause(Q713 $3.11)
-//---------------------------------------------------------------------------
-//type enumerated SCCP_param_ReleaseCause
-// { endUserOrig(0), endUserCong(1), endUserFailure(2), sCCPUserOrig(3),
-// remProcError(4), inconsConnData(5), accessFailure(6), accessCongestion(7),
-// subsystFailure(8), subsystCongest(9), mTPFailure(10), networkCongest(11),
-// expResetTimer(12), expRecInacTimer(13), reserved(14), unqualified(15),
-// sCCPFailure(16)
-// }
-// with { variant "FIELDLENGTH(8)" }
-
-//values declared in SCCPConstants in SCCP.ttcn
-
- type integer SCCP_param_ReleaseCause
- with { variant "FIELDLENGTH(8), COMP(nosign)" };
-
-
-//---------------------------------------------------------------------------
-// Parameter Return Cause(Q713 $3.12)
-//---------------------------------------------------------------------------
-//type enumerated SCCP_param_ReturnCause
-// { noTransl4AddrNature(0), noTransl4SpecifAddr(1), subsystemCongestion(2),
-// subsystemFailure(3), unequippedUser(4), mTPFailure(5),
-// networkCongestion(6), unqualified(7), errorMessageTransport(8),
-// errorLocalProcessing(9), destNoReassembly(10), sCCPFailure(11),
-// hopCounterViolation(12), segmeNotSupported(13), segmentationFailure(14)
-// }
-// with { variant "FIELDLENGTH(8)" }
-
- //values declared in SCCPConstants in SCCP.ttcn
- type integer SCCP_param_ReturnCause
- with { variant "FIELDLENGTH(8), COMP(nosign)" };
-
-
-//---------------------------------------------------------------------------
-// Parameter Reset Cause(Q713 $3.13)
-//---------------------------------------------------------------------------
-//type enumerated SCCP_param_ResetCause
-// { endUserOriginated(0), sCCPUserOriginated(1),
-// messOutOfOrder_incPs(2), messOutOfOrder_incPr(3),
-// remProcErr_messOutOfWindow(4), emProcErr_IncPsAfterReinit(5),
-// remProcErr_general(6), remEndUserOperational(7),
-// networkOperational(8), accessOperational(9),
-// networkCongestion(10), reserved(11),
-// unqualified(12)
-// }
-// with { variant "FIELDLENGTH(8)" }
-
-
- //values declared in SCCPConstants in SCCP.ttcn
-
- type integer SCCP_param_ResetCause
- with { variant "FIELDLENGTH(8), COMP(nosign)" };
-
-
- //---------------------------------------------------------------------------
- // Parameter Error Cause(Q713 $3.14)
- //---------------------------------------------------------------------------
- //type enumerated SCCP_param_ErrorCause
- // { unassignedDestinationLRN(0), inconsistentSourceLRN(1),
- // pointCodeMismatch(2), serviceClassMismatch(3),
- // unqualified(4)
- // }
- // with { variant "FIELDLENGTH(8)" }
-
- //values declared in SCCPConstants in SCCP.ttcn
-
- type integer SCCP_param_ErrorCause
- with { variant "FIELDLENGTH(8), COMP(nosign)" };
-
-
- //---------------------------------------------------------------------------
- // Parameter Refusal Cause(Q713 $3.15)
- //---------------------------------------------------------------------------
- //type enumerated SCCP_param_RefusalCause
- // { endUserOrigin(0), endUserConges(1), endUserFailure(2),
- // sCCPUserOrigin(3), destAddrUnkn(4), destInaccess(5),
- // qOSNotAvail_nonTransient(6), qOSNotAvail_transient(7), accessFailure(8),
- // accessCongestion(9), subsystemFailure(10), subsystemCongest(11),
- // expConnEstTimer(12), incomUserData(13), reserved(14),
- // unqualified(15), hopCounterViol(16), sCCPFailure(17),
- // noTransl4address(18), unequippedUser(19)
- // }
- // with { variant "FIELDLENGTH(8)" }
-
-
- //values declared in SCCPConstants in SCCP.ttcn
-
- type integer SCCP_param_RefusalCause
- with { variant "FIELDLENGTH(8), COMP(nosign)" };
-
-
- //---------------------------------------------------------------------------
- // Parameter User data (Q713 $3.16)
- //---------------------------------------------------------------------------
- type record SCCP_param_Data
- {
- LIN1 paramLength,
- OCTN data
- }
- with { variant (paramLength) "LENGTHTO(data)" }
-
-
- type record SCCP_param_Data_opt
- {
- SCCP_field_ParameterName paramName(con_SCCP_data),
- LIN1 paramLength,
- OCTN data
- }
- with { variant (paramLength) "LENGTHTO(data)" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Segmentation (Q713 $3.17)
- //---------------------------------------------------------------------------
-
- type record SCCP_param_Segmentation_opt
- {
- SCCP_field_ParameterName paramName(con_SCCP_segm),
- LIN1 paramLength, //always 4!
- BIT4 remainingSegment,
- BIT2 reserved,
- BIT1 class,
- BIT1 firstSegm,
- OCT3 segmLocalRef
- }
- with { variant "" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Hop counter (Q713 $3.18)
- //---------------------------------------------------------------------------
- type integer SCCP_param_HopCounter
- with { variant "FIELDLENGTH(8), COMP(nosign)" };
-
-
- type record SCCP_param_HopCounter_opt
- {
- SCCP_field_ParameterName paramName(con_SCCP_hopCount),
- LIN1 paramLength, //always 1!
- SCCP_param_HopCounter counter
- }
- with { variant (paramLength) "LENGTHTO(counter)" }
-
-
- //---------------------------------------------------------------------------
- // Parameter Importance (Q713 $3.19)
- //---------------------------------------------------------------------------
-
- type record SCCP_param_Importance_opt
- {
- SCCP_field_ParameterName paramName(con_SCCP_imp),
- LIN1 paramLength, //always 1!
- SCCP_field_Importance importance,
- BIT5 reserved
- }
- with { variant ""}
- //with { variant (paramLength) "LENGTHTO(importance)" } //????
-
-
- //---------------------------------------------------------------------------
- // Parameter Long data (Q713 $3.20)
- //---------------------------------------------------------------------------
- type record SCCP_param_LongData
- {
- LIN2 paramLength,
- OCTN data
- }
- with { variant (paramLength) "LENGTHTO(data)" }
-
-
- //********************************************************************************
- // SCCP management parameters (Q713 $5)
- //********************************************************************************
-
- //---------------------------------------------------------------------------
- // SCMG format identifier (Q713 $5.1)
- //---------------------------------------------------------------------------
- type enumerated SCMG_param_FormatId
- {
- sSAallowed(1), // SSA subsystem-allowed
- sSPprohib(2), // SSP subsystem-prohibited
- sSTstaTest(3), // SST subsystem-status-test
- sORoutReq(4), // SOR subsystem-out-of-service-request
- sORoutGrant (5), // SOG subsystem-out-of-service-grant
- sSCcongest(6) // SSC SCCP/subsystem-congested
- }
- with { variant "FIELDLENGTH(8)" }
-
-
- //---------------------------------------------------------------------------
- // Affected SSN (Q713 $5.2.1)
- //---------------------------------------------------------------------------
- /* not supported yet:
- type SCCP_field_SubsystemNumber SCMG_param_AffectedSSN
- with { variant "" }
- */
-
- //---------------------------------------------------------------------------
- // Affected Pointcode (Q713 $5.2.2)
- //---------------------------------------------------------------------------
- /* not supported yet:
- type SCCP_field_SignallingPointCode SCMG_param_AffectedPointCode
- with { variant "" }
- */
-
- //---------------------------------------------------------------------------
- // Subsystem Multiplicity Indicator (Q713 $5.2.3)
- //---------------------------------------------------------------------------
- /* not supported yet:
- type record SCMG_param_MultiplIndicator
- {
- BIT2 smi,
- BIT6 reserved
- }
- with { variant "" }
- */
-
- //---------------------------------------------------------------------------
- // SCCP congestion level (Q713 $5.2.4)
- //---------------------------------------------------------------------------
- /* not supported yet:
- type record SCMG_param_CongestionLevel
- {
- BIT4 congLevel,
- BIT4 reserved
- }
- with { variant "" }
- */
-
-}//endgroup ParameterDefinitions
-
-
-group PDUDefinitions
-{
- //********************************************************************************
- // Message Connection Request (CR) (Q713 $4.2)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- type set SCCP_ConnReq_optionalPart
- {
- SCCP_param_Credit_opt credit optional,
- SCCP_param_CPartyAddressEnc_opt callingPAddress optional,
- SCCP_param_Data_opt data optional,
- SCCP_param_HopCounter_opt hopCounter optional,
- SCCP_param_Importance_opt importance optional
- }
- with { variant "TAG ( credit, paramName= con_SCCP_credit;
- callingPAddress, paramName= con_SCCP_cgPA;
- data, paramName= con_SCCP_data;
- hopCounter, paramName= con_SCCP_hopCount;
- importance , paramName= con_SCCP_imp)"
- }
-
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ConnectionRequest
- {
- SCCP_param_MessageType messageType,
- SCCP_param_SourceLocalReference sourceLocRef,
- SCCP_param_ProtocolClass protClass,
- LIN1 pointer1, //will be 2
- LIN1 pointer2,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_ConnReq_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop )"
- //Note, that optional part itself is mandatory but it may be empty!
- }
-
-
- //********************************************************************************
- // Message Connection Confirm (CC) (Q713 $4.3)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- type set SCCP_ConnConfirm_optionalPart
- {
- SCCP_param_Credit_opt credit optional,
- SCCP_param_CPartyAddressEnc_opt calledPAddress optional,
- SCCP_param_Data_opt data optional,
- SCCP_param_Importance_opt importance optional
- }
- with { variant "TAG ( credit, paramName= con_SCCP_credit;
- calledPAddress, paramName= con_SCCP_cdPA;
- data, paramName= con_SCCP_data;
- importance, paramName= con_SCCP_imp)"
- }
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ConnectionConfirm
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SourceLocalReference sourceLocRef,
- SCCP_param_ProtocolClass protClass,
- LIN1 pointer1,
- SCCP_ConnConfirm_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop )"}
-
-
- //********************************************************************************
- // Message Connection Refused (CREF) (Q713 $4.4)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- type set SCCP_ConnRefused_optionalPart
- {
- SCCP_param_CPartyAddressEnc_opt calledPAddress optional,
- SCCP_param_Data_opt data optional,
- SCCP_param_Importance_opt importance optional
- }
- with { variant "TAG (calledPAddress, paramName= con_SCCP_cdPA;
- data, paramName= con_SCCP_data;
- importance, paramName= con_SCCP_imp)"
- }
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ConnectionRefused
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_RefusalCause refusalCause,
- LIN1 pointer1,
- SCCP_ConnRefused_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop )"}
-
-
- //********************************************************************************
- // Message Released (RLSD) (Q713 $4.5)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- type set SCCP_Released_optionalPart
- {
- SCCP_param_Data_opt data optional,
- SCCP_param_Importance_opt importance optional
- }
- with { variant "TAG (data, paramName= con_SCCP_data;
- importance, paramName= con_SCCP_imp)"
- }
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_Released
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SourceLocalReference sourceLocRef,
- SCCP_param_ReleaseCause releaseCause,
- LIN1 pointer1,
- SCCP_Released_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop )" }
-
-
- //********************************************************************************
- // Message Release Complete (RLC) (Q713 $4.6)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ReleaseComplete
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SourceLocalReference sourceLocRef
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Data form 1 (DT1) (Q713 $4.7)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_DataForm1
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SegmentingReassembl segmentingReassembl,
- LIN1 pointer1, //always 1!
- SCCP_param_Data data
- }
- with { variant (pointer1) "POINTERTO(data)"; }
-
-
- //********************************************************************************
- // Message Data form 2 (DT2) (Q713 $4.8)
- //********************************************************************************
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_DataForm2
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SequencingSegmenting sequencingSegmenting,
- LIN1 pointer1, //always 1!
- SCCP_param_Data data
- }
- with { variant (pointer1) "POINTERTO(data)"; }
-
-
- //********************************************************************************
- // Message Data Acknowledgement (AK) (Q713 $4.9)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_DataAcknowledgement
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_RecSeqNumber recSeqNumber,
- SCCP_param_Credit credit
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Unitdata (UDT) (Q713 $4.10)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_Unitdata
- {
- SCCP_param_MessageType messageType,
- SCCP_param_ProtocolClass protClass,
- LIN1 pointer1, //will be 3
- LIN1 pointer2,
- LIN1 pointer3,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_param_CPartyAddressEnc callingPAddress,
- SCCP_param_Data data
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(callingPAddress)";
- variant (pointer3) "POINTERTO(data)"
- }
-
-
- //********************************************************************************
- // Message Unitdata service (UDTS) (Q713 $4.11)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_UnitdataService
- {
- SCCP_param_MessageType messageType,
- SCCP_param_ReturnCause returnCause,
- LIN1 pointer1, //will be 3
- LIN1 pointer2,
- LIN1 pointer3,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_param_CPartyAddressEnc callingPAddress,
- SCCP_param_Data data
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(callingPAddress)";
- variant (pointer3) "POINTERTO(data)"
- }
-
-
- //********************************************************************************
- // Message Expedited Data (ED) (Q713 $4.12)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ExpeditedData
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- LIN1 pointer1, //always 1!
- SCCP_param_Data data
- }
- with { variant (pointer1) "POINTERTO(data)" }
-
-
- //********************************************************************************
- // Message Expedited Data Acknowledgement (EA) (Q713 $4.13)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ExpeditedDataAck
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Reset Request (RSR) (Q713 $4.14)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ResetRequest
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SourceLocalReference sourceLocRef,
- SCCP_param_ResetCause resetCause
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Reset Confirmation (RSC) (Q713 $4.15)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ResetConfirm
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SourceLocalReference sourceLocRef
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Protocol data unit error (ERR) (Q713 $4.16)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ProtDataUnitError
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_ErrorCause errorCause
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Inactivity test (IT) (Q713 $4.17)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_InactivityTest
- {
- SCCP_param_MessageType messageType,
- SCCP_param_DestLocalReference destLocRef,
- SCCP_param_SourceLocalReference sourceLocRef,
- SCCP_param_ProtocolClass protClass,
- SCCP_param_SequencingSegmenting sequencingSegmenting,
- SCCP_param_Credit credit
- }
- with { variant "" }
-
-
- //********************************************************************************
- // Message Extended Unitdata (XUDT) (Q713 $4.18)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- type record SCCP_ExtUnitdata_optionalPart
- {
- SCCP_param_Segmentation_opt segmentation optional,
- SCCP_param_Importance_opt importance optional
- }
- with { variant "TAG (segmentation, paramName= con_SCCP_segm;
- importance, paramName= con_SCCP_imp)"
- }
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ExtUnitdata
- {
- SCCP_param_MessageType messageType,
- SCCP_param_ProtocolClass protClass,
- SCCP_param_HopCounter hopCounter,
- LIN1 pointer1, //will be 4
- LIN1 pointer2,
- LIN1 pointer3,
- LIN1 pointer4,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_param_CPartyAddressEnc callingPAddress,
- SCCP_param_Data data,
- SCCP_ExtUnitdata_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(callingPAddress)";
- variant (pointer3) "POINTERTO(data)";
- variant (pointer4) "POINTERTO(optionalPart)";
- variant "TAG (eop, paramName=con_SCCP_eop )"
- }
-
-
- //********************************************************************************
- // Message Extended Unitdata Service(XUDTS) (Q713 $4.19)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- // The same as SCCP_ExtUnitdata_optionalPart
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_ExtUnitdataService
- {
- SCCP_param_MessageType messageType,
- SCCP_param_ReturnCause returnCause,
- SCCP_param_HopCounter hopCounter,
- LIN1 pointer1, //will be 4
- LIN1 pointer2,
- LIN1 pointer3,
- LIN1 pointer4,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_param_CPartyAddressEnc callingPAddress,
- SCCP_param_Data data,
- SCCP_ExtUnitdata_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(callingPAddress)";
- variant (pointer3) "POINTERTO(data)";
- variant (pointer4) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop )"
- }
-
-
- //********************************************************************************
- // Message Long Unitdata (LUDT) (Q713 $4.20)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- // The same as SCCP_ExtUnitdata_optionalPart
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_LongUnitdata
- {
- SCCP_param_MessageType messageType,
- SCCP_param_ProtocolClass protClass,
- SCCP_param_HopCounter hopCounter,
- LIN2 pointer1,
- LIN2 pointer2,
- LIN2 pointer3,
- LIN2 pointer4,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_param_CPartyAddressEnc callingPAddress,
- SCCP_param_LongData longData,
- SCCP_ExtUnitdata_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(callingPAddress)";
- variant (pointer3) "POINTERTO(longData)";
- variant (pointer4) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop) "
- }
-
-
- //********************************************************************************
- // Message Long Unitdata Service (LUDTS) (Q713 $4.21)
- //********************************************************************************
- //---------------------------------------------------------------------------
- // Optional part
- // The same as SCCP_ExtUnitdata_optionalPart
-
- //---------------------------------------------------------------------------
- // Message definition
- //---------------------------------------------------------------------------
- type record PDU_SCCP_LongUnitdataService
- {
- SCCP_param_MessageType messageType,
- SCCP_param_ReturnCause returnCause,
- SCCP_param_HopCounter hopCounter,
- LIN2 pointer1, //will be 5
- LIN2 pointer2,
- LIN2 pointer3,
- LIN2 pointer4,
- SCCP_param_CPartyAddressEnc calledPAddress,
- SCCP_param_CPartyAddressEnc callingPAddress,
- SCCP_param_LongData longData,
- SCCP_ExtUnitdata_optionalPart optionalPart optional,
- SCCP_param_EndOfOptionalParams eop optional
- }
- with { variant (pointer1) "POINTERTO(calledPAddress)";
- variant (pointer2) "POINTERTO(callingPAddress)";
- variant (pointer3) "POINTERTO(longData)";
- variant (pointer4) "POINTERTO(optionalPart)";
- variant "TAG (eop,paramName=con_SCCP_eop) "
- }
-
-
- //********************************************************************************
- // SCCP management messages (Q713 $5.3)
- //********************************************************************************
- /*type record PDU_SCMG_message
- {
- SCMG_param_FormatId messageType,
- SCMG_param_AffectedSSN affectedSSN,
- SCMG_param_AffectedPointCode affectedPC,
- SCMG_param_MultiplIndicator smi,
- SCMG_param_CongestionLevel congLevel optional
- //shall be present in all messages except SSG
- }
- with { variant "" }
- */
-
- //********************************************************************************
- // SCCP Top Level PDU (Q713 $4.2)
- //********************************************************************************
-
- type union PDU_SCCP
- {
- PDU_SCCP_ConnectionRequest connrequest,
- PDU_SCCP_ConnectionRefused connrefused,
- PDU_SCCP_Released released,
- PDU_SCCP_ReleaseComplete relcomp,
- PDU_SCCP_DataForm1 dataform1,
- PDU_SCCP_DataForm2 dataform2,
- PDU_SCCP_DataAcknowledgement dataack,
- PDU_SCCP_UnitdataService udataserv,
- PDU_SCCP_ExpeditedData expdata,
- PDU_SCCP_ExpeditedDataAck expdataack ,
- PDU_SCCP_ResetRequest resetreq,
- PDU_SCCP_ResetConfirm resconf,
- PDU_SCCP_ProtDataUnitError pduerror,
- PDU_SCCP_InactivityTest inacttest,
- PDU_SCCP_ExtUnitdata extudata,
- PDU_SCCP_ExtUnitdataService extudataserv ,
- PDU_SCCP_LongUnitdata longudata,
- PDU_SCCP_LongUnitdataService longudataserv,
- PDU_SCCP_Unitdata unitdata,
- PDU_SCCP_ConnectionConfirm connconfirm
- // PDU_SCMG_message scmg
- }
- with { variant "TAG (connrequest, messageType = cr;
- connconfirm, messageType = cc;
- connrefused, messageType = cref;
- released, messageType = rlsd;
- relcomp, messageType = rlc;
- dataform1, messageType = dt1;
- dataform2, messageType = dt2;
- dataack, messageType = ak;
- unitdata, messageType = udt;
- udataserv, messageType = udts;
- expdata, messageType = ed;
- expdataack, messageType = ea;
- resetreq, messageType = rsr;
- resconf, messageType = rsc;
- pduerror, messageType = err;
- inacttest, messageType = it;
- extudata, messageType = xudt;
- extudataserv, messageType = xudts;
- longudata, messageType = ludt;
- longudataserv, messageType = ludts)"
- }
-
-}//endgroup PDUDefinitions
-
-}//endgroup Types
-
-
-
-group OtherTypedefinitions
-{//startgroup OtherTypedefinitions
-
- // enum replaced with this solution:
- type integer states;
- const states
- idle:=0,
- connection_pending_OG:=1,
- connection_pending_IC:=2,
- active:=3, // ==data transfer, see 6.1.1.2.1/Q.711.
- disconnect_pending:=4, // ==
- //reset_OG,- as N_RESET_req and N_RESET_resp will not be received, this state should never occur
- reset_bothway:=5,
- reset_IC:=5,
- //frozen_reference,
- wait_conn_confirm:=6;
-
- type record sccp_buffer
- {
- octetstring buffer,
- integer actlen,
- integer maxlen
- }
-
- // === Connection Oriented Data: ===
-
- // record holding all data of a connection
- type record ConnectionData
- {
- OCT3 localReference, //segmLocReference????,
- OCT3 remoteReference, //segmRemoteRef????,
- states state,
- integer connectionId,
- //integer max_len, //maximal length of input buffer
- sccp_buffer reassembler_buffer // data collected here before sending up to the User
- }
-
- // === Connectionless Data: =======================
- // == sending:==
- // Segmentation Local Reference
- type integer segmLocRef_states;
- const segmLocRef_states segmLocRef_idle :=0, segmLocRef_busy:=1;
-
- type record segmLocRef
- {
- OCT3 val,
- segmLocRef_states state
- }
-
- // == receiving: ==
- type record ClessRcvBuff
- {
- //OCT3 segmLocalRef, // not used ??
- OCT3 segmRemoteRef,
- segmLocRef_states state,
- sccp_buffer reassembler_buffer
- }
-
- type charstring SCCP_ServiceType;
-
- const charstring mtp3_itu := "mtp3_itu"; // SCCP_itu
- const charstring mtp3_ansi := "mtp3_ansi"; //SCCP_ansi
- const charstring mtp3_ttc := "mtp3_ttc"; //SCCP_ttc
- const charstring mtp3b_itu := "mtp3b_itu";
- const charstring mtp3b_ansi:= "mtp3b_ansi";
- const charstring mtp3b_ttc := "mtp3b_ttc";
- const charstring m3ua := "m3ua";
- const charstring mtp3_mpt := "mtp3_mpt";
-
- type record MSC_SCCP_MTP3_parameters
- {
- MTP3_Field_sio sio,
- integer opc,
- integer dpc,
- integer sls,
- SCCP_ServiceType sccp_serviceType,
- integer ssn optional //This should be set if you want only one
- } //active subsystem on the link.
-
-}//endgroup OtherTypedefinitions
-
-group MessageTypes
-{
- // *************************************************************************
- // * ASP_sccp type definitions *
- // *************************************************************************
-
-
- // type record ASP_MTP3_TRANSFERind_sccp
- // {
- // octetstring sio length(1), // see values in Q.704 $14.2.1
- // integer opc,
- // integer dpc,
- // integer sls,
- // PDU_SCCP data
- // }
-
-
- type record ASP_MTP3_TRANSFERreq_sccp
- {
- octetstring sio length(1), // see values in Q.704 $14.2.1
- integer opc,
- integer dpc,
- integer sls,
- PDU_SCCP data
- }
-
-}//end group Messagetypes
-
-group ASPTemplates
-{
-
-// *************************************************************************
-// * ASP template definitions sending
-// *************************************************************************
-
-// template ASP_MTP3_TRANSFERind_sccp t_ASP_MTP3_TRANSFERind_sccp
-// (
-//
-// octetstring pl_sio,
-// integer pl_opc,
-// integer pl_dpc,
-// integer pl_sls,
-// template PDU_SCCP pl_data) :=
-// {
-// sio := pl_sio,
-// opc := pl_opc,
-// dpc := pl_dpc,
-// sls := pl_sls,
-// data := pl_data
-// }
-
-
- template ASP_MTP3_TRANSFERreq_sccp t_ASP_MTP3_TRANSFERreq_sccp
- (
-
- octetstring pl_sio,
- integer pl_opc,
- integer pl_dpc,
- integer pl_sls,
- template PDU_SCCP pl_data
- ) :=
- {
- sio := pl_sio,
- opc := pl_opc,
- dpc := pl_dpc,
- sls := pl_sls,
- data := pl_data
- }
-
-
-// *************************************************************************
-// * ASP template definitions receiving *
-// *************************************************************************
-
-
-//template ASP_MTP3_TRANSFERind_sccp tr_ASP_MTP3_TRANSFERind_sccp
-// (
-//
-// PDU_SCCP pl_data) :=
-// {
-// sio := ?,
-// opc := ?,
-// dpc := ?,
-// sls := ?,
-// data := pl_data
-// }
-
-
- template ASP_MTP3_TRANSFERreq_sccp tr_ASP_MTP3_TRANSFERreq_sccp
- // (
-
- // PDU_SCCP pl_data)
- :=
- {
- sio := ?,
- opc := ?,
- dpc := ?,
- sls := ?,
- data := ? //pl_data
- }
-
-
-
-
-
-
-}//endgroup ASPTemplates
-
-
-} with { encode "RAW" } // end module
diff --git a/SCCP_CNL113341/src/SCCPasp_Types.ttcn b/SCCP_CNL113341/src/SCCPasp_Types.ttcn
deleted file mode 100644
index c66fa864a..000000000
--- a/SCCP_CNL113341/src/SCCPasp_Types.ttcn
+++ /dev/null
@@ -1,895 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2006 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-// //
-///////////////////////////////////////////////////////////////////////////////
-// File: SCCPasp_Types.ttcn
-// Description: SS7 SCCP definitions according to specification
-// ITU-T SS7 SCCP, ANSI ..., TCC ...
-// References: ITU-T: Recommendation Q.711-Q.714,
-// ANSI: T1.112-2001,
-// TCC: JT-Q711 - JT-Q714
-// Rev: R6A05
-// Prodnr: CNL 113 341
-// Updated: 2006-01-26
-// Contact: http://ttcn.ericsson.se
-
-module SCCPasp_Types.objid
-{
- itu_t(0) identified_organization (4) etsi(0) reserved(127)
- etsi_identified_organization(0) ericsson(5) testing (0)
- generic(0) sccp(1) v96(3) aspDefinitions(3) patchNo(0)
-}
-
-
-{//startmodule
-
-//content: the following groups:
-//Field Definitions
-//ASPParameters
-//ASPTypes
-//SCCPportTypeDefinitions
-//ASPTemplateDefinitionsSending
-//ASPTemplateDefinitionsReceiving
-//ethlel: 08.23:"reserved" fields removed
-//SCCP_PAR_Importance chenged from structure to integer
-//type enumerated SCCP_ASPfield_ParameterName removed
-
-import from General_Types all;
-
-group FieldDefinitions
-{
-
-//--------------------------------------------------------------------------------
-// Field Address Indicator (Q713 $3.4.1)
-//--------------------------------------------------------------------------------
-type record SCCP_ASPfield_AddressIndicator
-{
- BIT1n pointCodeIndic,
- BIT1n ssnIndicator,
- BIT4n globalTitleIndic,
- BIT1n routingIndicator
-}
-
-//--------------------------------------------------------------------------------
-// Subfield Signalling Point Code (Q713 $3.4.2.1)
-//--------------------------------------------------------------------------------
-// type changed from BIT14 to bitstring 2003.11.04 baat
-
-
-// supposed that the leading zeros are filled in according to specification
-// i.e.: length itu: 16 (2 reserved)
-// ansi:24
-// ttc national: 16 (0 spare)
-
-type bitstring SCCP_ASPfield_SignallingPointCode;
-
-type union SCCP_ASPfield_GlobalTitle
-{
- SCCP_ASPfield_GlobalTitle_NoA gti0001,
- SCCP_ASPfield_GlobalTitle_TT gti0010,
- SCCP_ASPfield_GlobalTitle_TT_NP_ES gti0011, //ansi: gti=0001
- SCCP_ASPfield_SignallingPointCode_TT_NP_ES_NoA gti0100
- //octetstring gti0000
-}
-
-
-//--------------------------------------------------------------------------------
-// Subfield Global Title, Nature of address only
- //ITU: GTI=0001, Q713 $3.4.2.3.1
- //ANSI: -
-
-type record SCCP_ASPfield_GlobalTitle_NoA
-{
- BIT7n natureOfAddress,
- BIT1n oddeven,
- hexstring globalTitleAddress
- //it should be hexstring, number digits are in BCD;
- //hexstring already supported by ETH compiler
-}
-
-
-//--------------------------------------------------------------------------------
-// Global Title, Translation type only
-// ITU: GTI=0010, Q713 $3.4.2.3.2
-// ANSI: GTI=0010, Figure6A/T1.112.3
-
-type record SCCP_ASPfield_GlobalTitle_TT
-{
- OCT1n translationType,
- hexstring globalTitleAddress
-}
-
-
-//--------------------------------------------------------------------------------
-// Global Title, Translation type & numbering plan & encoding scheme
-// ITU: GTI=0011, Q713 $3.4.2.3.3)
-// ANSI GTI=0001, Figure6/T1.112.3
-
-type record SCCP_ASPfield_GlobalTitle_TT_NP_ES
-{
- OCT1n translationType,
- BIT4n encodingScheme,
- BIT4n numberingPlan,
- hexstring globalTitleAddress
-}
-
-
-//--------------------------------------------------------------------------------
-// Global Title, Translation type & numbering plan & encoding scheme & nature of
-// address
- // GTI=0100, Q713 $3.4.2.3.4)
- // ANSI: -
-
-type record SCCP_ASPfield_SignallingPointCode_TT_NP_ES_NoA
-{
- OCT1n translationType,
- BIT4n encodingScheme,
- BIT4n numberingPlan,
- BIT7n natureOfAddress,
- hexstring globalTitleAddress
-}
-
-
-}//endgroup FieldDefinitions
-
-
-
-
-//********************************************************************************
-//********************************************************************************
-// ASPDefinitions
-//********************************************************************************
-//********************************************************************************
-group ASPParameters
-{
-//--------------------------------------------------------------------------------
-// Parameter Address
-//--------------------------------------------------------------------------------
-
-type record SCCP_PAR_Address
-{
- SCCP_ASPfield_AddressIndicator addressIndicator,
- SCCP_ASPfield_SignallingPointCode signPointCode optional,
- integer subsystemNumber optional,
- SCCP_ASPfield_GlobalTitle globalTitle optional
-}
-
-//--------------------------------------------------------------------------------
-// Parameter Quality of service
-//--------------------------------------------------------------------------------
-
-
-type integer SCCP_PAR_Quality_Of_Service;
-
-//--------------------------------------------------------------------------------
-// Parameter Expedited data selection
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_Expedited_Data_Sel;
-
-//--------------------------------------------------------------------------------
-// Parameter User Data
-//--------------------------------------------------------------------------------
-
-//type SCCP_param_Data SCCP_PAR_UserData;
-
-type octetstring SCCP_PAR_UserData;
-// ETHLAFA: type changed from RANAP_PDU to octetstring 020718
-
-//--------------------------------------------------------------------------------
-// Parameter Connection Id
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_Connection_Id;
-
-
-//--------------------------------------------------------------------------------
-// Parameter Importance
-//--------------------------------------------------------------------------------
-
-
-type integer SCCP_PAR_Importance;
-
-
-//--------------------------------------------------------------------------------
-// Parameter Originator
-//--------------------------------------------------------------------------------
-//Undefined (0)
-//SCCP User (or Network Service User-NSU)(1)
-//SCCP itself (or Network Service Provider-NSP)(2)
-
-type integer SCCP_PAR_Originator;
-
-//--------------------------------------------------------------------------------
-// Parameter Reason
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_Reason;
-
-
-//--------------------------------------------------------------------------------
-// Parameter Return Option
-//--------------------------------------------------------------------------------
-//bit0==0-return option off
-//bit0==1-return option on
-
-type BIT8n SCCP_PAR_Return_Option;
-
-
-//--------------------------------------------------------------------------------
-// Parameter Sequence Control
-//--------------------------------------------------------------------------------
-//bit0 == 0-sequence control off
-//bit0 == 1-sequence control on
-
-type BIT8n SCCP_PAR_Sequence_Control;
-
-//--------------------------------------------------------------------------------
-// Parameter Reason For Return
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_Reason_For_Return;
-
-
-//--------------------------------------------------------------------------------
-// Parameter Subsystem Number
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_SubSystemNumber;
-
-//--------------------------------------------------------------------------------
-// Parameter User Status
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_User_Status;
-
-//--------------------------------------------------------------------------------
-// Parameter Subsystem Multiplicity Indicator
-//--------------------------------------------------------------------------------
-
-type integer SCCP_PAR_Subsystem_multi_indicator;
-
-}//endgroup ASPParameters
-
-group ASPTypes
-{
-//********************************************************************************
-// Network service primitives Q711
-//********************************************************************************
-
-
-type record ASP_SCCP_N_CONNECT_req
-{
- SCCP_PAR_Address calledAddress,
- SCCP_PAR_Address callingAddress optional,
- SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional,
- SCCP_PAR_Quality_Of_Service qualityOfService optional,
- SCCP_PAR_UserData userData optional,
- SCCP_PAR_Connection_Id connectionId optional,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_CONNECT_ind
-{
- SCCP_PAR_Address calledAddress,
- SCCP_PAR_Address callingAddress optional,
- SCCP_PAR_Quality_Of_Service qualityOfService optional,
- SCCP_PAR_UserData userData optional,
- SCCP_PAR_Connection_Id connectionId optional,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_CONNECT_res
-{
- SCCP_PAR_Address respondingAddress optional,
- SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional,
- SCCP_PAR_Quality_Of_Service qualityOfService optional,
- SCCP_PAR_UserData userData optional,
- SCCP_PAR_Connection_Id connectionId optional,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_CONNECT_cfm
-{
- SCCP_PAR_Address respondingAddress optional,
- SCCP_PAR_Quality_Of_Service qualityOfService optional,
- SCCP_PAR_UserData userData optional,
- SCCP_PAR_Connection_Id connectionId optional,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_DATA_req
-{
- SCCP_PAR_UserData userData ,
- SCCP_PAR_Connection_Id connectionId optional ,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_DATA_ind
-{
- SCCP_PAR_UserData userData ,
- SCCP_PAR_Connection_Id connectionId optional ,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_DISCONNECT_req
-{
- SCCP_PAR_Address respondingAddress optional,
- SCCP_PAR_Reason reason ,
- SCCP_PAR_UserData userData optional ,
- SCCP_PAR_Connection_Id connectionId optional ,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_DISCONNECT_ind
-{
- SCCP_PAR_Originator originator ,
- SCCP_PAR_Address respondingAddress optional ,
- SCCP_PAR_Reason reason ,
- SCCP_PAR_UserData userData optional ,
- SCCP_PAR_Connection_Id connectionId optional ,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_UNITDATA_req
-{
- SCCP_PAR_Address calledAddress ,
- SCCP_PAR_Address callingAddress ,
- SCCP_PAR_Sequence_Control sequenceControl optional ,
- SCCP_PAR_Return_Option returnOption optional ,
- SCCP_PAR_UserData userData ,
- SCCP_PAR_Importance importance optional
- }
-
-
-type record ASP_SCCP_N_UNITDATA_ind
-{
- SCCP_PAR_Address calledAddress ,
- SCCP_PAR_Address callingAddress ,
- SCCP_PAR_Sequence_Control sequenceControl optional ,
- SCCP_PAR_Return_Option returnOption optional ,
- SCCP_PAR_UserData userData ,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_NOTICE_ind
-{
- SCCP_PAR_Address calledAddress ,
- SCCP_PAR_Address callingAddress ,
- SCCP_PAR_Reason_For_Return reasonForReturn ,
- SCCP_PAR_UserData userData ,
- SCCP_PAR_Importance importance optional
-}
-
-
-type record ASP_SCCP_N_STATE_ind
-{
- SCCP_PAR_SubSystemNumber affectedSubSystem ,
- SCCP_PAR_User_Status userStatus ,
- SCCP_PAR_Subsystem_multi_indicator subsystmultiindicator optional
-}
-
-
-
-type record ASP_SCCP_N_RESET_req
-{
- SCCP_PAR_Originator originator, //always NSU
- SCCP_PAR_Reason reason,
- SCCP_PAR_Connection_Id connectionId optional
-}
-
-type record ASP_SCCP_N_RESET_ind
-{
- SCCP_PAR_Originator originator,
- SCCP_PAR_Reason reason,
- SCCP_PAR_Connection_Id connectionId optional
-}
-
-type record ASP_SCCP_N_RESET_resp
-{
- SCCP_PAR_Connection_Id connectionId optional
-}
-
-type record ASP_SCCP_N_RESET_cfm
-{
- SCCP_PAR_Connection_Id connectionId optional
-}
-
-} //endgroup ASPTypes
-
-
-group SCCP_PT_Definitions
-{
-//*******************************************************************
-// Port Type definitions
-//*******************************************************************
-
-type port SCCPasp_SP_PT
-message
-{
-
- in ASP_SCCP_N_CONNECT_req, ASP_SCCP_N_CONNECT_res,
- ASP_SCCP_N_DATA_req, ASP_SCCP_N_DISCONNECT_req,
- ASP_SCCP_N_UNITDATA_req, ASP_SCCP_N_RESET_req,
- ASP_SCCP_N_RESET_resp;
-
- out ASP_SCCP_N_CONNECT_ind, ASP_SCCP_N_CONNECT_cfm,
- ASP_SCCP_N_DATA_ind, ASP_SCCP_N_DISCONNECT_ind,
- ASP_SCCP_N_UNITDATA_ind, ASP_SCCP_N_NOTICE_ind,
- ASP_SCCP_N_STATE_ind, ASP_SCCP_N_RESET_ind,
- ASP_SCCP_N_RESET_cfm;
-
-} with {extension "internal"}
-
-
-type port SCCPasp_PT
-message
-{
-
- in ASP_SCCP_N_CONNECT_ind, ASP_SCCP_N_CONNECT_cfm,
- ASP_SCCP_N_DATA_ind, ASP_SCCP_N_DISCONNECT_ind,
- ASP_SCCP_N_UNITDATA_ind, ASP_SCCP_N_NOTICE_ind,
- ASP_SCCP_N_STATE_ind, ASP_SCCP_N_RESET_ind,
- ASP_SCCP_N_RESET_cfm;
-
- out ASP_SCCP_N_CONNECT_req, ASP_SCCP_N_CONNECT_res,
- ASP_SCCP_N_DATA_req, ASP_SCCP_N_DISCONNECT_req,
- ASP_SCCP_N_UNITDATA_req, ASP_SCCP_N_RESET_req,
- ASP_SCCP_N_RESET_resp;
-
-} with {extension "internal"}
-
-
-
-}// endgroup SCCP_PT_Definitions
-
-
-
-
-//********************************************************************************
-// ASP Template Definitions
-//********************************************************************************
-
-
-group ASPTemplateDefinitionsSending
-
-
-{
-
-
-template ASP_SCCP_N_CONNECT_req t_ASP_N_CONNECT_req
-(
-
- template SCCP_PAR_Address PAR_CalledAddress ,
- template SCCP_PAR_Address PAR_CallingAddress ,
- template SCCP_PAR_Expedited_Data_Sel PAR_ExpDataSel ,
- template SCCP_PAR_Quality_Of_Service PAR_QoS ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- calledAddress :=PAR_CalledAddress ,
- callingAddress :=PAR_CallingAddress ,
- expeditedDataSel :=PAR_ExpDataSel ,
- qualityOfService :=PAR_QoS ,
- userData :=PAR_UserData ,
- connectionId :=PAR_ConnID ,
- importance :=PAR_Imp
- }
-
-
-template ASP_SCCP_N_CONNECT_ind t_ASP_N_CONNECT_ind
-(
- template SCCP_PAR_Address PAR_CalledAddress ,
- template SCCP_PAR_Address PAR_CallingAddress ,
- template SCCP_PAR_Quality_Of_Service PAR_QoS ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- calledAddress :=PAR_CalledAddress ,
- callingAddress :=PAR_CallingAddress,
- qualityOfService :=PAR_QoS ,
- userData :=PAR_UserData ,
- connectionId :=PAR_ConnID ,
- importance := PAR_Imp
- }
-
-
-template ASP_SCCP_N_CONNECT_res t_ASP_N_CONNECT_res
-(
-
- template SCCP_PAR_Address PAR_RespondingAddress ,
- template SCCP_PAR_Expedited_Data_Sel PAR_ExpDataSel ,
- template SCCP_PAR_Quality_Of_Service PAR_QoS ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-
-):=
- {
- respondingAddress:= PAR_RespondingAddress ,
- expeditedDataSel := PAR_ExpDataSel ,
- qualityOfService := PAR_QoS ,
- userData := PAR_UserData ,
- connectionId := PAR_ConnID ,
- importance := PAR_Imp
- }
-
-
-template ASP_SCCP_N_CONNECT_cfm t_ASP_N_CONNECT_cfm
-(
- template SCCP_PAR_Address PAR_RespondingAddress ,
- template SCCP_PAR_Quality_Of_Service PAR_QoS ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- respondingAddress:= PAR_RespondingAddress ,
- qualityOfService := PAR_QoS ,
- userData := PAR_UserData ,
- connectionId := PAR_ConnID ,
- importance := PAR_Imp
- }
-
-
-template ASP_SCCP_N_DATA_req t_ASP_N_DATA_req
-(
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- userData := PAR_UserData ,
- connectionId := PAR_ConnID ,
- importance := PAR_Imp
- }
-
-
-template ASP_SCCP_N_DATA_ind t_ASP_N_DATA_ind
-(
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- userData := PAR_UserData ,
- connectionId := PAR_ConnID ,
- importance := PAR_Imp
- }
-
-
-template ASP_SCCP_N_DISCONNECT_req t_ASP_N_DISCONNECT_req
-(
- template SCCP_PAR_Address PAR_RespondingAddress ,
- template SCCP_PAR_Reason PAR_Reason ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- respondingAddress:= PAR_RespondingAddress ,
- reason := PAR_Reason ,
- userData := PAR_UserData ,
- connectionId := PAR_ConnID ,
- importance := PAR_Imp
-}
-
-
-template ASP_SCCP_N_DISCONNECT_ind t_ASP_N_DISCONNECT_ind
-(
- template SCCP_PAR_Originator PAR_Originator ,
- template SCCP_PAR_Address PAR_RespondingAddress ,
- template SCCP_PAR_Reason PAR_Reason ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Connection_Id PAR_ConnID ,
- template SCCP_PAR_Importance PAR_Imp
-
-):=
- {
- originator :=PAR_Originator ,
- respondingAddress:= PAR_RespondingAddress ,
- reason := PAR_Reason ,
- userData := PAR_UserData ,
- connectionId := PAR_ConnID ,
- importance := PAR_Imp
- }
-
-
-
-
-template ASP_SCCP_N_UNITDATA_req t_ASP_N_UNITDATA_req
-(
-
-template SCCP_PAR_Address PAR_CalledAddress ,
-template SCCP_PAR_Address PAR_CallingAddress ,
-template SCCP_PAR_Sequence_Control PAR_SeqCtrl ,
-template SCCP_PAR_Return_Option PAR_RetOpt ,
-template SCCP_PAR_UserData PAR_UserData ,
-template SCCP_PAR_Importance PAR_Imp
-):=
- {
- calledAddress :=PAR_CalledAddress ,
- callingAddress :=PAR_CallingAddress,
- sequenceControl :=PAR_SeqCtrl ,
- returnOption :=PAR_RetOpt ,
- userData :=PAR_UserData ,
- importance :=PAR_Imp
- }
-
-
-template ASP_SCCP_N_UNITDATA_ind t_ASP_N_UNITDATA_ind
-(
- template SCCP_PAR_Address PAR_CalledAddress ,
- template SCCP_PAR_Address PAR_CallingAddress ,
- template SCCP_PAR_Sequence_Control PAR_SeqCtrl ,
- template SCCP_PAR_Return_Option PAR_RetOpt ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- calledAddress :=PAR_CalledAddress ,
- callingAddress :=PAR_CallingAddress,
- sequenceControl :=PAR_SeqCtrl ,
- returnOption :=PAR_RetOpt ,
- userData :=PAR_UserData ,
- importance :=PAR_Imp
- }
-
-
-template ASP_SCCP_N_NOTICE_ind t_ASP_N_NOTICE_ind
-(
- template SCCP_PAR_Address PAR_CalledAddress ,
- template SCCP_PAR_Address PAR_CallingAddress ,
- template SCCP_PAR_Reason_For_Return PAR_ReasForRet ,
- template SCCP_PAR_UserData PAR_UserData ,
- template SCCP_PAR_Importance PAR_Imp
-):=
- {
- calledAddress :=PAR_CalledAddress ,
- callingAddress :=PAR_CallingAddress,
- reasonForReturn :=PAR_ReasForRet ,
- userData :=PAR_UserData ,
- importance :=PAR_Imp
- }
-
-
-template ASP_SCCP_N_STATE_ind t_ASP_N_STATE_ind
-(
- template SCCP_PAR_SubSystemNumber PAR_SSN ,
- template SCCP_PAR_User_Status PAR_UserStatus ,
- template SCCP_PAR_Subsystem_multi_indicator PAR_Smi
-):=
- {
- affectedSubSystem :=PAR_SSN ,
- userStatus :=PAR_UserStatus ,
- subsystmultiindicator :=PAR_Smi
- }
-
-template ASP_SCCP_N_RESET_req t_ASP_N_RESET_req
-(
- template SCCP_PAR_Originator PAR_Originator,
- template SCCP_PAR_Reason PAR_Reason,
- template SCCP_PAR_Connection_Id PAR_Connection_Id
-):=
- {
- originator :=PAR_Originator,
- reason :=PAR_Reason,
- connectionId :=PAR_Connection_Id
- }
-
-
-template ASP_SCCP_N_RESET_ind t_ASP_N_RESET_ind
-(
- template SCCP_PAR_Originator PAR_Originator,
- template SCCP_PAR_Reason PAR_Reason,
- template SCCP_PAR_Connection_Id PAR_Connection_Id
-):=
- {
- originator :=PAR_Originator,
- reason :=PAR_Reason,
- connectionId :=PAR_Connection_Id
- }
-
-template ASP_SCCP_N_RESET_resp t_ASP_N_RESET_resp
-(
- template SCCP_PAR_Connection_Id PAR_Connection_Id
-):=
- {
- connectionId :=PAR_Connection_Id
- }
-
-template ASP_SCCP_N_RESET_cfm t_ASP_N_RESET_cfm
-(
- template SCCP_PAR_Connection_Id PAR_Connection_Id
-):=
- {
- connectionId :=PAR_Connection_Id
- }
-
-
-
-}//endgroup ASPTemplateDefinitionsSending
-
-//********************************************************************************
-
-group ASPTemplateDefinitionsReceiving
-
-
-{
-
-
-template ASP_SCCP_N_CONNECT_req tr_ASP_N_CONNECT_req:=
-{
- calledAddress :=?,
- callingAddress :=*,
- expeditedDataSel :=*,
- qualityOfService :=*,
- userData :=*,
- connectionId :=*,
- importance :=*
-}
-
-
-template ASP_SCCP_N_CONNECT_ind tr_ASP_N_CONNECT_ind:=
-{
- calledAddress :=?,
- callingAddress :=*,
- qualityOfService :=*,
- userData :=*,
- connectionId :=*,
- importance :=*
-}
-
-
-template ASP_SCCP_N_CONNECT_res tr_ASP_N_CONNECT_res:=
-{
- respondingAddress:= *,
- expeditedDataSel := *,
- qualityOfService := *,
- userData := *,
- connectionId := *,
- importance := *
-}
-
-
-template ASP_SCCP_N_CONNECT_cfm tr_ASP_N_CONNECT_cfm:=
-{
- respondingAddress:= *,
- qualityOfService := *,
- userData := *,
- connectionId := *,
- importance := *
-}
-
-
-template ASP_SCCP_N_DATA_req tr_ASP_N_DATA_req :=
-{
- userData := ?,
- connectionId := *,
- importance := *
-}
-
-
-template ASP_SCCP_N_DATA_ind tr_ASP_N_DATA_ind:=
-{
- userData := ?,
- connectionId := *,
- importance := *
-}
-
-
-template ASP_SCCP_N_DISCONNECT_req tr_ASP_N_DISCONNECT_req:=
-{
- respondingAddress:= *,
- reason := ?,
- userData := *,
- connectionId := *,
- importance := *
-}
-
-
-template ASP_SCCP_N_DISCONNECT_ind tr_ASP_N_DISCONNECT_ind:=
-{
- originator := ?,
- respondingAddress:= *,
- reason := ?,
- userData := *,
- connectionId := *,
- importance := *
-}
-
-
-
-
-template ASP_SCCP_N_UNITDATA_req tr_ASP_N_UNITDATA_req:=
-{
- calledAddress :=?,
- callingAddress :=?,
- sequenceControl :=*,
- returnOption :=*,
- userData :=?,
- importance :=*
-}
-
-
-template ASP_SCCP_N_UNITDATA_ind tr_ASP_N_UNITDATA_ind:=
-{
- calledAddress :=?,
- callingAddress :=?,
- sequenceControl :=*,
- returnOption :=*,
- userData :=?,
- importance :=*
-}
-
-
-template ASP_SCCP_N_NOTICE_ind tr_ASP_N_NOTICE_ind:=
-{
- calledAddress :=?,
- callingAddress :=?,
- reasonForReturn :=?,
- userData :=?,
- importance :=*
-}
-
-
-template ASP_SCCP_N_STATE_ind tr_ASP_N_STATE_ind:=
-{
- affectedSubSystem :=?,
- userStatus :=?,
- subsystmultiindicator :=*
-}
-
-template ASP_SCCP_N_RESET_req tr_ASP_N_RESET_req:=
-{
- originator :=?,
- reason :=?,
- connectionId :=*
-}
-
-
-template ASP_SCCP_N_RESET_ind tr_ASP_N_RESET_ind:=
-{
- originator :=?,
- reason :=?,
- connectionId :=*
-}
-
-template ASP_SCCP_N_RESET_resp tr_ASP_N_RESET_resp:=
-{
- connectionId :=*
-}
-
-template ASP_SCCP_N_RESET_cfm tr_ASP_N_RESET_cfm:=
-{
- connectionId :=*
-}
-
-
-
-}//endgroup ASPTemplateDefinitionsReceiving
-
-
-
-} //with { encode "RAW"}
-//endmodule SCCP ASP types
-
diff --git a/SCTPasp_CNL113469/SCTPasp_CNL113469.tpd b/SCTPasp_CNL113469/SCTPasp_CNL113469.tpd
deleted file mode 100644
index 125ad9fc8..000000000
--- a/SCTPasp_CNL113469/SCTPasp_CNL113469.tpd
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
- SCTPasp_CNL113469
-
-
-
-
-
-
-
-
-
- Default
-
-
-
-
- true
- true
- true
- bin/SCTPasp_CNL113469
-
- USE_SCTP
-
- Level 3 - Creating object files with dependency update
-
-
- bin
-
-
-
-
-
diff --git a/SCTPasp_CNL113469/doc/SCTPasp_CNL113469_PRI.doc b/SCTPasp_CNL113469/doc/SCTPasp_CNL113469_PRI.doc
deleted file mode 100644
index 5923989c7..000000000
Binary files a/SCTPasp_CNL113469/doc/SCTPasp_CNL113469_PRI.doc and /dev/null differ
diff --git a/SCTPasp_CNL113469/doc/SCTPasp_CNL113469_UG.doc b/SCTPasp_CNL113469/doc/SCTPasp_CNL113469_UG.doc
deleted file mode 100644
index e0c17fefd..000000000
Binary files a/SCTPasp_CNL113469/doc/SCTPasp_CNL113469_UG.doc and /dev/null differ
diff --git a/SCTPasp_CNL113469/doc/SCTPasp_FS.pdf b/SCTPasp_CNL113469/doc/SCTPasp_FS.pdf
deleted file mode 100644
index 0e66447bc..000000000
Binary files a/SCTPasp_CNL113469/doc/SCTPasp_FS.pdf and /dev/null differ
diff --git a/SCTPasp_CNL113469/src/SCTPasp_PT.cc b/SCTPasp_CNL113469/src/SCTPasp_PT.cc
deleted file mode 100644
index 6d7b02b4a..000000000
--- a/SCTPasp_CNL113469/src/SCTPasp_PT.cc
+++ /dev/null
@@ -1,1549 +0,0 @@
-/******************************************************************************
-* Copyright (c) 2005, 2014 Ericsson AB
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* Peter Dimitrov- initial implementation and initial documentation
-* Adam Delic
-* Eduard Czimbalmos
-* Endre Kulcsar
-* Gabor Bettesch
-* Gabor Szalai
-* Tamas Buti
-* Zoltan Medve
-******************************************************************************/
-//
-// File: SCTPasp_PT.cc
-// Description: SCTPasp test port source
-// Rev: R11A
-// Prodnr: CNL 113 469
-//
-
-
-#include "SCTPasp_PT.hh"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#define BUFLEN 1024
-#define MAP_LENGTH 10
-#ifdef SCTP_ADAPTION_LAYER
- #ifdef LKSCTP_1_0_7
- #undef LKSCTP_1_0_7
- #error LKSCTP_1_0_7 defined but the lksctp older than 1.0.7. Use only -DUSE_SCTP, version is automatically selected
- #endif
- #ifdef LKSCTP_1_0_9
- #error LKSCTP_1_0_9 defined but the lksctp older than 1.0.7. Use only -DUSE_SCTP, version is automatically selected
- #undef LKSCTP_1_0_9
- #endif
-#else
-// 1.0.7 or newer
- #ifdef SCTP_AUTH_CHUNK
- // 1.0.9 or newer
- #ifdef LKSCTP_1_0_7
- #undef LKSCTP_1_0_7
- #error LKSCTP_1_0_7 defined but the lksctp newer than 1.0.7. Use only -DUSE_SCTP, version is automatically selected
- #endif
- #ifndef LKSCTP_1_0_9
- #define LKSCTP_1_0_9
- #endif
- #else
- // 1.0.7
- #ifdef LKSCTP_1_0_9
- #undef LKSCTP_1_0_9
- #error LKSCTP_1_0_9 defined but the lksctp older than 1.0.9. Use only -DUSE_SCTP, version is automatically selected
- #endif
- #ifndef LKSCTP_1_0_7
- #define LKSCTP_1_0_7
- #endif
-
- #endif
-
-#endif
-
-namespace SCTPasp__PortType {
-
-struct SCTPasp__PT_PROVIDER::fd_map_item
-{ // used by map operations
- int fd; // socket descriptor
- boolean erased;
- boolean processing_message; // if true only part of the message is received
- boolean einprogress; // connection establishment is in progress
- void * buf; // buffer
- ssize_t buflen; // length of the buffer
- ssize_t nr; // number of received bytes
- struct sockaddr_in sin; // storing remote address
-};
-
-
-struct SCTPasp__PT_PROVIDER::fd_map_server_item // server item
-{ // used by map operations
- int fd; // socket descriptor
- boolean erased;
- struct in_addr local_IP_address;
- unsigned short local_port;
-};
-
-
-SCTPasp__PT_PROVIDER::SCTPasp__PT_PROVIDER(const char *par_port_name)
- : PORT(par_port_name)
-{
- simple_mode = FALSE;
- reconnect = FALSE;
- reconnect_max_attempts = 6;
- server_mode = FALSE;
- debug = FALSE;
- server_backlog = 1;
- local_IP_address.s_addr = INADDR_ANY;
- (void) memset(&initmsg, 0, sizeof(struct sctp_initmsg));
- initmsg.sinit_num_ostreams = 64;
- initmsg.sinit_max_instreams = 64;
- initmsg.sinit_max_attempts = 0;
- initmsg.sinit_max_init_timeo = 0;
- (void) memset(&events, 0, sizeof (events));
- events.sctp_data_io_event = TRUE;
- events.sctp_association_event = TRUE;
- events.sctp_address_event = TRUE;
- events.sctp_send_failure_event = TRUE;
- events.sctp_peer_error_event = TRUE;
- events.sctp_shutdown_event = TRUE;
- events.sctp_partial_delivery_event = TRUE;
-#if defined(LKSCTP_1_0_7) || defined(LKSCTP_1_0_9)
- events.sctp_adaptation_layer_event = TRUE;
-#else
- events.sctp_adaption_layer_event = TRUE;
-#endif
- local_port_is_present = FALSE;
- peer_IP_address_is_present = FALSE;
- peer_port_is_present = FALSE;
-
- fd_map=NULL;
- list_len=0;
-
- fd_map_server=NULL;
- list_len_server=0;
-
- fd = -1;
- FD_ZERO(&readfds);
- FD_ZERO(&writefds);
- local_port=-1;
- peer_port=-1;
- receiving_fd=-1;
-}
-
-
-SCTPasp__PT_PROVIDER::~SCTPasp__PT_PROVIDER()
-{
- for(int i=0;i=0) )
- reconnect_max_attempts = value;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "server_mode") == 0)
- {
- if (strcasecmp(parameter_value,"yes") == 0)
- server_mode = TRUE;
- else if(strcasecmp(parameter_value,"no") == 0)
- server_mode = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only yes and no can be used!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "debug") == 0)
- {
- if (strcasecmp(parameter_value,"yes") == 0)
- debug = TRUE;
- else if(strcasecmp(parameter_value,"no") == 0)
- debug = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. Only yes and no can be used!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "server_backlog") == 0)
- {
- int value;
- if ( (sscanf(parameter_value, "%d", &value) == 1) && (value>=0) )
- server_backlog = value;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "local_IP_address") == 0)
- {
- local_IP_address = get_in_addr((const char *) parameter_value);
- }
- else if(strcmp(parameter_name, "local_port") == 0)
- {
- unsigned short value;
- if (sscanf(parameter_value, "%hu", &value) == 1)
- {
- local_port = value;
- local_port_is_present = TRUE;
- }
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "peer_IP_address") == 0)
- {
- peer_IP_address = get_in_addr((const char *) parameter_value);
- peer_IP_address_is_present = TRUE;
- }
- else if(strcmp(parameter_name, "peer_port") == 0)
- {
- unsigned short value;
- if (sscanf(parameter_value, "%hu", &value) == 1)
- {
- peer_port = value;
- peer_port_is_present = TRUE;
- }
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sinit_num_ostreams") == 0)
- {
- long value;
- if ( (sscanf(parameter_value, "%ld", &value) == 1) && (value>=0) )
- initmsg.sinit_num_ostreams = value;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sinit_max_instreams") == 0)
- {
- long value;
- if ( (sscanf(parameter_value, "%ld", &value) == 1) && (value>=0) )
- initmsg.sinit_max_instreams = value;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sinit_max_attempts") == 0)
- {
- long value;
- if ( (sscanf(parameter_value, "%ld", &value) == 1) && (value>=0) )
- initmsg.sinit_max_attempts = value;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sinit_max_init_timeo") == 0)
- {
- long value;
- if ( (sscanf(parameter_value, "%ld", &value) == 1) && (value>=0) )
- initmsg.sinit_max_init_timeo = value;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be positive integer!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_association_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
- events.sctp_association_event = TRUE;
- else if(strcasecmp(parameter_value,"disabled") == 0)
- events.sctp_association_event = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_address_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
- events.sctp_address_event = TRUE;
- else if(strcasecmp(parameter_value,"disabled") == 0)
- events.sctp_address_event = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_send_failure_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
- events.sctp_send_failure_event = TRUE;
- else if(strcasecmp(parameter_value,"disabled") == 0)
- events.sctp_send_failure_event = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_peer_error_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
- events.sctp_peer_error_event = TRUE;
- else if(strcasecmp(parameter_value,"disabled") == 0)
- events.sctp_peer_error_event = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_shutdown_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
- events.sctp_shutdown_event = TRUE;
- else if(strcasecmp(parameter_value,"disabled") == 0)
- events.sctp_shutdown_event = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_partial_delivery_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
- events.sctp_partial_delivery_event = TRUE;
- else if(strcasecmp(parameter_value,"disabled") == 0)
- events.sctp_partial_delivery_event = FALSE;
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else if(strcmp(parameter_name, "sctp_adaption_layer_event") == 0)
- {
- if (strcasecmp(parameter_value,"enabled") == 0)
-#if defined(LKSCTP_1_0_7) || defined(LKSCTP_1_0_9)
- events.sctp_adaptation_layer_event = TRUE;
-#else
- events.sctp_adaption_layer_event = TRUE;
-#endif
- else if(strcasecmp(parameter_value,"disabled") == 0)
-#if defined(LKSCTP_1_0_7) || defined(LKSCTP_1_0_9)
- events.sctp_adaptation_layer_event = FALSE;
-#else
- events.sctp_adaption_layer_event = FALSE;
-#endif
- else
- error("set_parameter(): Invalid parameter value: %s for parameter %s. It should be enabled or disabled!" ,
- parameter_value, parameter_name);
- }
- else
- TTCN_warning("%s: unknown & unhandled parameter: %s",
- get_name(), parameter_name);
- errno = 0;
-}
-
-
-void SCTPasp__PT_PROVIDER::Event_Handler(const fd_set *read_fds,
- const fd_set *write_fds, const fd_set */*error_fds*/,
- double /*time_since_last_call*/)
-{
- // Accepting new client
- if(!simple_mode)
- {
- for(int i=0;isinfo_ppid);
- INTEGER i_ppid;
- if (ui <= (unsigned long)INT_MAX)
- i_ppid = ui;
- else {
- char sbuf[16];
- sprintf(sbuf, "%u", ui);
- i_ppid = INTEGER(sbuf);
- }
- incoming_message(SCTPasp__Types::ASP__SCTP(
- INTEGER(receiving_fd),
- INTEGER(sri->sinfo_stream),
- i_ppid,
- OCTETSTRING(fd_map[i].nr,(const unsigned char *)fd_map[i].buf)));
- }
- Free(fd_map[i].buf);
- fd_map[i].buf = NULL;
- break;
- case PARTIAL_RECEIVE:
- fd_map[i].processing_message = TRUE;
- break;
- case EOF_OR_ERROR:
- if (!server_mode) fd = -1; // setting closed socket to -1 in client mode (and reconnect mode)
- FD_CLR(receiving_fd, &readfds);
- Install_Handler(&readfds, NULL, NULL, 0.0);
- map_delete_item(i);
- if (events.sctp_association_event) incoming_message(SCTPasp__Types::ASP__SCTP__ASSOC__CHANGE(
- INTEGER(receiving_fd),
- SCTPasp__Types::SAC__STATE(SCTP_COMM_LOST)));
- log("getmsg() returned with NULL. Socket is closed.");
- if (reconnect) forced_reconnect(reconnect_max_attempts);
-
- break;
- }//endswitch
- }// endif
- }// endfor
-}
-
-
-void SCTPasp__PT_PROVIDER::user_map(const char *system_port)
-{
- log("Calling user_map(%s).",system_port);
- if(simple_mode)
- {
- if ( server_mode && reconnect )
- {
- error("user_map(): server mode and reconnect mode are mutually exclusive!");
- }
- if ( server_mode && !local_port_is_present )
- {
- error("user_map(): in server mode local_port must be defined!");
- }
-
- // Server mode: turns on listening
- if (server_mode)
- {
- log("Running in SERVER_MODE.");
- create_socket();
- if (listen(fd, server_backlog) == -1) error("Listen error!");
- log("Listening @ (%s):(%d)", inet_ntoa(local_IP_address), local_port);
- FD_SET(fd, &readfds);
- Install_Handler(&readfds, NULL, NULL, 0.0);
- } else if (reconnect) {
- log("Running in RECONNECT MODE.");
- forced_reconnect(reconnect_max_attempts+1);
- } else {
- log("Running in CLIENT MODE.");
- }
- }
- else
- {
- log("Running in NORMAL MODE.");
- }
- log("Leaving user_map().");
-}
-
-
-void SCTPasp__PT_PROVIDER::user_unmap(const char *system_port)
-{
- log("Calling user_unmap(%s).",system_port);
- Uninstall_Handler();
- FD_ZERO(&readfds);
- FD_ZERO(&writefds);
- if(!simple_mode)
- {
- for(int i=0;icmsg_len = sizeof (*cmsg) + sizeof (*sri);
- cmsg->cmsg_level = IPPROTO_SCTP;
- cmsg->cmsg_type = SCTP_SNDRCV;
-
- sri->sinfo_stream = (int) send_par.sinfo__stream();
-
- int target;
- if(!simple_mode)
- {
- if (!send_par.client__id().ispresent())
- error("In NORMAL mode the client_id field of ASP_SCTP should be set to a valid value and not to omit!");
- target = (int) (const INTEGER&) send_par.client__id();
- if ( (map_get_item(target)==-1) && (map_get_item_server(target)==-1)) error("Bad client id! %d",target);
- }
- else
- {
- if (server_mode)
- {
- if (!send_par.client__id().ispresent())
- error("In server mode the client_id field of ASP_SCTP should be set to a valid value and not to omit!");
- }
- else // client mode
- {
- if (send_par.client__id().ispresent())
- error("In client mode the client_id field of ASP_SCTP should be set to OMIT!");
- }
- target = fd;
- if (server_mode)
- target = (int) (const INTEGER&) send_par.client__id();
- if (map_get_item(target)==-1) error("Bad client id! %d",target);
- }
-
- uint32_t ui;
- if (send_par.sinfo__ppid().get_val().is_native() && send_par.sinfo__ppid() > 0)
- ui = (int)send_par.sinfo__ppid();
- else {
- OCTETSTRING os = int2oct(send_par.sinfo__ppid(), 4);
- unsigned char* p = (unsigned char*)&ui;
- *(p++) = os[3].get_octet();
- *(p++) = os[2].get_octet();
- *(p++) = os[1].get_octet();
- *(p++) = os[0].get_octet();
- }
- sri->sinfo_ppid = htonl(ui);
-
- log("Sending SCTP message to file descriptor %d.", target);
- if (sendmsg(target, &msg, 0) < 0)
- {
- SCTPasp__Types::ASP__SCTP__SENDMSG__ERROR asp_sctp_sendmsg_error;
- if (server_mode) asp_sctp_sendmsg_error.client__id() = target;
- else asp_sctp_sendmsg_error.client__id() = OMIT_VALUE;
- asp_sctp_sendmsg_error.sinfo__stream() = send_par.sinfo__stream();
- asp_sctp_sendmsg_error.sinfo__ppid() = send_par.sinfo__ppid();
- asp_sctp_sendmsg_error.data() = send_par.data();
- incoming_message(asp_sctp_sendmsg_error);
- TTCN_warning("Sendmsg error! Strerror=%s", strerror(errno));
-
- errno = 0;
- }
- log("Leaving outgoing_send (ASP_SCTP).");
-}
-
-
-SCTPasp__PT_PROVIDER::return_value_t SCTPasp__PT_PROVIDER::getmsg(int fd, struct msghdr *msg)
-{
- log("Calling getmsg().");
- int index = map_get_item(fd);
- if ( !fd_map[index].processing_message ) fd_map[index].nr = 0;
-
- ssize_t value = recvmsg(fd, msg, 0);
- if (value <= 0) // EOF or error
- {
- log("Leaving getmsg(): EOF or error.");
- errno = 0;
- return EOF_OR_ERROR;
- }
- fd_map[index].nr += value;
- log("getmsg(): [%d] bytes received. Receiving buffer now has [%d] bytes.", value, fd_map[index].nr);
- // Whole message is received, return it.
- if (msg->msg_flags & MSG_EOR)
- {
- log("Leaving getmsg(): whole message is received.");
- return WHOLE_MESSAGE_RECEIVED;
- }
-
- // Maybe we need a bigger buffer, do realloc().
- if (fd_map[index].buflen == fd_map[index].nr)
- {
- log("getmsg(): resizing receiving buffer: [%d] bytes -> [%d] bytes",
- fd_map[index].buflen, (fd_map[index].buflen * 2));
- fd_map[index].buf = Realloc(fd_map[index].buf, fd_map[index].buflen * 2);
- fd_map[index].buflen *= 2;
- }
- log("Leaving getmsg(): part of the message is received.");
- return PARTIAL_RECEIVE;
-}
-
-
-void SCTPasp__PT_PROVIDER::handle_event(void *buf)
-{
- union sctp_notification *snp;
- snp = (sctp_notification *)buf;
- switch (snp->sn_header.sn_type)
- {
- case SCTP_ASSOC_CHANGE:
- {
- log("incoming SCTP_ASSOC_CHANGE event.");
- struct sctp_assoc_change *sac;
- sac = &snp->sn_assoc_change;
-
-// #ifdef LKSCTP_1_0_7
- SCTPasp__Types::SAC__STATE sac_state_ttcn;
- switch(sac->sac_state)
- {
- case SCTP_COMM_UP:
- sac_state_ttcn = SCTPasp__Types::SAC__STATE::SCTP__COMM__UP;
- break;
-
- case SCTP_COMM_LOST:
- sac_state_ttcn = SCTPasp__Types::SAC__STATE::SCTP__COMM__LOST;
- break;
-
- case SCTP_RESTART:
- sac_state_ttcn = SCTPasp__Types::SAC__STATE::SCTP__RESTART;
- break;
-
- case SCTP_SHUTDOWN_COMP:
- sac_state_ttcn = SCTPasp__Types::SAC__STATE::SCTP__SHUTDOWN__COMP;
- break;
-
- case SCTP_CANT_STR_ASSOC:
- sac_state_ttcn = SCTPasp__Types::SAC__STATE::SCTP__CANT__STR__ASSOC;
- break;
-
- default:
- sac_state_ttcn = SCTPasp__Types::SAC__STATE::SCTP__UNKNOWN__SAC__STATE;
- TTCN_warning("Unexpected sac_state value received %d", sac->sac_state);
- break;
- }
-// #endif
-
- if(sac->sac_state == SCTP_COMM_LOST)
- {
- if(simple_mode)
- {
- if (!server_mode) fd = -1; // setting closed socket to -1 in client mode (and reconnect mode)
- FD_CLR(receiving_fd, &readfds);
- Install_Handler(&readfds, NULL, NULL, 0.0);
- map_delete_item_fd(receiving_fd);
- }
- else
- {
- FD_CLR(receiving_fd, &readfds);
- Install_Handler(&readfds, NULL, NULL, 0.0);
- map_delete_item_fd(receiving_fd);
- map_delete_item_fd_server(receiving_fd);
- }
- }
- if (events.sctp_association_event) incoming_message(SCTPasp__Types::ASP__SCTP__ASSOC__CHANGE(
- INTEGER(receiving_fd),
- sac_state_ttcn
- ));
-
- if(simple_mode)
- {
- if (reconnect && (sac->sac_state == SCTP_COMM_LOST) ) forced_reconnect(reconnect_max_attempts);
- }
- break;
- }
- case SCTP_PEER_ADDR_CHANGE:{
- log("incoming SCTP_PEER_ADDR_CHANGE event.");
- struct sctp_paddr_change *spc;
- spc = &snp->sn_paddr_change;
-// #ifdef LKSCTP_1_0_7
- SCTPasp__Types::SPC__STATE spc_state_ttcn;
- switch(spc->spc_state)
- {
- case SCTP_ADDR_AVAILABLE:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__ADDR__AVAILABLE;
- break;
-
- case SCTP_ADDR_UNREACHABLE:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__ADDR__UNREACHABLE;
- break;
-
- case SCTP_ADDR_REMOVED:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__ADDR__REMOVED;
- break;
-
- case SCTP_ADDR_ADDED:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__ADDR__ADDED;
- break;
-
- case SCTP_ADDR_MADE_PRIM:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__ADDR__MADE__PRIM;
- break;
-#if defined(LKSCTP_1_0_7) || defined(LKSCTP_1_0_9)
- case SCTP_ADDR_CONFIRMED:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__ADDR__CONFIRMED;
- break;
-#endif
- default:
- spc_state_ttcn = SCTPasp__Types::SPC__STATE::SCTP__UNKNOWN__SPC__STATE;
- TTCN_warning("Unexpected spc_state value received %d", spc->spc_state);
- break;
- }
-// #endif
- if (events.sctp_address_event) incoming_message(SCTPasp__Types::ASP__SCTP__PEER__ADDR__CHANGE(
- INTEGER(receiving_fd),
- spc_state_ttcn
- ));
- break;
- }
- case SCTP_REMOTE_ERROR:
- log("incoming SCTP_REMOTE_ERROR event.");
- //struct sctp_remote_error *sre;
- //sre = &snp->sn_remote_error;
- if (events.sctp_peer_error_event) incoming_message(SCTPasp__Types::ASP__SCTP__REMOTE__ERROR(INTEGER(receiving_fd)));
- break;
- case SCTP_SEND_FAILED:
- log("incoming SCTP_SEND_FAILED event.");
- //struct sctp_send_failed *ssf;
- //ssf = &snp->sn_send_failed;
- if (events.sctp_send_failure_event) incoming_message(SCTPasp__Types::ASP__SCTP__SEND__FAILED(INTEGER(receiving_fd)));
- break;
- case SCTP_SHUTDOWN_EVENT:
- log("incoming SCTP_SHUTDOWN_EVENT event.");
- //struct sctp_shutdown_event *sse;
- //sse = &snp->sn_shutdown_event;
- if (events.sctp_shutdown_event) incoming_message(SCTPasp__Types::ASP__SCTP__SHUTDOWN__EVENT(INTEGER(receiving_fd)));
- break;
-#if defined(LKSCTP_1_0_7) || defined(LKSCTP_1_0_9)
- case SCTP_ADAPTATION_INDICATION:
- log("incoming SCTP_ADAPTION_INDICATION event.");
- //struct sctp_adaptation_event *sai;
- //sai = &snp->sn_adaptation_event;
- if (events.sctp_adaptation_layer_event) incoming_message(SCTPasp__Types::ASP__SCTP__ADAPTION__INDICATION(INTEGER(receiving_fd)));
- break;
-#else
- case SCTP_ADAPTION_INDICATION:
- log("incoming SCTP_ADAPTION_INDICATION event.");
- //struct sctp_adaption_event *sai;
- //sai = &snp->sn_adaption_event;
- if (events.sctp_adaption_layer_event) incoming_message(SCTPasp__Types::ASP__SCTP__ADAPTION__INDICATION(INTEGER(receiving_fd)));
- break;
-#endif
- case SCTP_PARTIAL_DELIVERY_EVENT:
- log("incoming SCTP_PARTIAL_DELIVERY_EVENT event.");
- //struct sctp_pdapi_event *pdapi;
- //pdapi = &snp->sn_pdapi_event;
- if (events.sctp_partial_delivery_event) incoming_message(SCTPasp__Types::ASP__SCTP__PARTIAL__DELIVERY__EVENT(INTEGER(receiving_fd)));
- break;
- default:
- TTCN_warning("Unknown notification type!");
- break;
- }
-}
-
-
-void SCTPasp__PT_PROVIDER::log(const char *fmt, ...)
-{
- if(debug)
- {
- va_list ap;
- va_start(ap, fmt);
- TTCN_Logger::begin_event(TTCN_DEBUG);
- TTCN_Logger::log_event("SCTPasp Test Port (%s): ", get_name());
- TTCN_Logger::log_event_va_list(fmt, ap);
- TTCN_Logger::end_event();
- va_end(ap);
-
- }
-}
-
-
-void SCTPasp__PT_PROVIDER::error(const char *fmt, ...)
-{
- va_list ap;
- va_start(ap, fmt);
- TTCN_Logger::begin_event(TTCN_ERROR);
- TTCN_Logger::log_event("SCTPasp Test Port (%s): ", get_name());
- TTCN_Logger::log_event_va_list(fmt, ap);
- TTCN_Logger::end_event();
- va_end(ap);
- TTCN_error("Fatal error in SCTPasp Test Port %s (see above).", get_name());
-}
-
-
-void SCTPasp__PT_PROVIDER::forced_reconnect(int attempts)
-{
- struct sockaddr_in sin;
- sin.sin_family = AF_INET;
- sin.sin_port = htons(peer_port);
- sin.sin_addr.s_addr = peer_IP_address.s_addr;
- log("[reconnect] Connecting to (%s):(%d)", inet_ntoa(peer_IP_address), peer_port);
- unsigned int sleep_interval = 1;
- int i;
- for(i = 0; i < attempts; i++)
- {
- create_socket();
- if (connect(fd, (struct sockaddr *)&sin, sizeof (sin)) == -1)
- {
- close(fd);
- fd = -1;
- TTCN_warning("Connect error!");
- errno = 0;
- if( ((i % 2 ) == 0) && (i != 0)) sleep_interval *= 2;
- sleep(sleep_interval);
-
- }
- else
- {
- map_put_item(fd);
- setNonBlocking(fd);
- FD_SET(fd, &readfds);
- Install_Handler(&readfds, NULL, NULL, 0.0);
- log("[reconnect] Connection successfully established to (%s):(%d)", inet_ntoa(peer_IP_address), peer_port);
- break;
- }
- }
- if (i == attempts) error("Forced reconnect failed! Remote end is unreachable!");
-
-}
-
-
-void SCTPasp__PT_PROVIDER::map_put_item(int fd)
-{
- int i=0;
- while((i=list_len) || (index<0)) error("map_delete_item: index out of range (0-%d): %d",list_len-1,index);
-
- if(fd_map[index].fd!=-1) close(fd_map[index].fd);
- fd_map[index].fd=-1;
- fd_map[index].erased=TRUE;
- fd_map[index].einprogress=FALSE;
- if(fd_map[index].buf) Free(fd_map[index].buf);
- fd_map[index].buf=NULL;
- fd_map[index].buflen=0;
- fd_map[index].processing_message=FALSE;
- fd_map[index].nr=0;
- fd_map[index].sin.sin_family=AF_INET;
- fd_map[index].sin.sin_port=0;
- fd_map[index].sin.sin_addr.s_addr=0;
-}
-
-
-void SCTPasp__PT_PROVIDER::map_put_item_server(int fd, struct in_addr local_IP_address, unsigned short local_port)
-{
- int i=0;
- while((i=list_len_server) || (index<0)) error("map_delete_item: index out of range (0-%d): %d",list_len_server-1,index);
-
- if(fd_map_server[index].fd!=-1) close(fd_map_server[index].fd);
- fd_map_server[index].fd=-1;
- fd_map_server[index].erased=TRUE;
- fd_map_server[index].local_IP_address.s_addr = INADDR_ANY;
- fd_map_server[index].local_port = 0;
-}
-
-
-void SCTPasp__PT_PROVIDER::create_socket()
-{
- struct sockaddr_in sin;
-
- log("Creating SCTP socket.");
- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP)) == -1)
- error("Socket error: cannot create socket!");
-
- if ( local_port_is_present ) {
- sin.sin_family = AF_INET;
- sin.sin_port = htons(local_port);
- sin.sin_addr.s_addr = local_IP_address.s_addr;
- log("Binding SCTP socket: bind address (%s):(%d)",
- inet_ntoa(local_IP_address),local_port);
- if (bind(fd, (struct sockaddr *)&sin, sizeof (sin)) == -1)
- {
- close(fd);
- fd = -1;
- error("Bind error!");
- }
- }
-
- log("Setting SCTP socket options (initmsg).");
- if (setsockopt(fd, IPPROTO_SCTP, SCTP_INITMSG, &initmsg,
- sizeof(struct sctp_initmsg)) < 0)
- {
- TTCN_warning("Setsockopt error!");
- errno = 0;
- }
-
- log("Setting SCTP socket options (events).");
- if (setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &events, sizeof (events)) < 0)
- {
- TTCN_warning("Setsockopt error!");
- errno = 0;
- }
-}
-
-
-in_addr SCTPasp__PT_PROVIDER::get_in_addr(const char *hostname)
-{
- struct hostent *h;
- if ((h=gethostbyname(hostname)) == NULL)
- error("Gethostbyname error!");
- if(h->h_addr == NULL) error("Gethostbyname error! h->h_addr is NULL!");
- return *((struct in_addr *)h->h_addr);
-}
-
-void SCTPasp__PT_PROVIDER::setNonBlocking(int fd)
-{
- int flags = fcntl(fd, F_GETFL);
- flags |= O_NONBLOCK;
- int result = fcntl(fd, F_SETFL, flags);
- if (result==-1) error("SCTPasp__PT::setNonBlocking(): Fcntl() error!");
-}
-
-
-}
diff --git a/SCTPasp_CNL113469/src/SCTPasp_PT.hh b/SCTPasp_CNL113469/src/SCTPasp_PT.hh
deleted file mode 100644
index 7d6311d3c..000000000
--- a/SCTPasp_CNL113469/src/SCTPasp_PT.hh
+++ /dev/null
@@ -1,157 +0,0 @@
-/******************************************************************************
-* Copyright (c) 2005, 2014 Ericsson AB
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* Peter Dimitrov- initial implementation and initial documentation
-* Adam Delic
-* Eduard Czimbalmos
-* Endre Kulcsar
-* Gabor Bettesch
-* Gabor Szalai
-* Tamas Buti
-* Zoltan Medve
-******************************************************************************/
-//
-// File: SCTPasp_PT.hh
-// Description: SCTPasp test port header
-// Rev: R11A
-// Prodnr: CNL 113 469
-//
-
-
-#ifndef SCTPasp__PT_HH
-#define SCTPasp__PT_HH
-
-#include
-#include "SCTPasp_Types.hh"
-#include
-#include
-#include
-
-namespace SCTPasp__Types {
- class ASP__SCTP;
- class ASP__SCTP__Connect;
- class ASP__SCTP__ConnectFrom;
- class ASP__SCTP__Listen;
-
- class SCTP__INIT;
- class SCTP__EVENTS;
- class SO__LINGER;
- class SCTP__RTOINFO;
- class SAC__STATE;
- class SPC__STATE;
-
- class ASP__SCTP__SetSocketOptions;
- class ASP__SCTP__Close;
- class ASP__SCTP__ASSOC__CHANGE;
- class ASP__SCTP__PEER__ADDR__CHANGE;
- class ASP__SCTP__SEND__FAILED;
- class ASP__SCTP__REMOTE__ERROR;
- class ASP__SCTP__SHUTDOWN__EVENT;
- class ASP__SCTP__PARTIAL__DELIVERY__EVENT;
- class ASP__SCTP__ADAPTION__INDICATION;
- class ASP__SCTP__Connected;
- class ASP__SCTP__SENDMSG__ERROR;
- class ASP__SCTP__RESULT;
-}
-
-namespace SCTPasp__PortType {
-class SCTPasp__PT_PROVIDER : public PORT {
-public:
- SCTPasp__PT_PROVIDER(const char *par_port_name = NULL);
- ~SCTPasp__PT_PROVIDER();
-
- void set_parameter(const char *parameter_name,
- const char *parameter_value);
-
- void Event_Handler(const fd_set *read_fds,
- const fd_set *write_fds, const fd_set *error_fds,
- double time_since_last_call);
-
-protected:
- void user_map(const char *system_port);
- void user_unmap(const char *system_port);
-
- void user_start();
- void user_stop();
-
- void outgoing_send(const SCTPasp__Types::ASP__SCTP__Connect& send_par);
- void outgoing_send(const SCTPasp__Types::ASP__SCTP__ConnectFrom& send_par);
- void outgoing_send(const SCTPasp__Types::ASP__SCTP__Listen& send_par);
- void outgoing_send(const SCTPasp__Types::ASP__SCTP__SetSocketOptions& send_par);
- void outgoing_send(const SCTPasp__Types::ASP__SCTP__Close& send_par);
- void outgoing_send(const SCTPasp__Types::ASP__SCTP& send_par);
-
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__ASSOC__CHANGE& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__PEER__ADDR__CHANGE& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__SEND__FAILED& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__REMOTE__ERROR& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__SHUTDOWN__EVENT& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__PARTIAL__DELIVERY__EVENT& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__ADAPTION__INDICATION& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__Connected& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__SENDMSG__ERROR& incoming_par) = 0;
- virtual void incoming_message(const SCTPasp__Types::ASP__SCTP__RESULT& incoming_par) = 0;
-
-private:
- enum return_value_t { WHOLE_MESSAGE_RECEIVED, PARTIAL_RECEIVE, EOF_OR_ERROR };
- return_value_t getmsg(int fd, struct msghdr *msg);
- void handle_event(void *buf);
- void log(const char *fmt, ...);
- void error(const char *fmt, ...);
- void handle_event_reconnect(void *buf);
- void forced_reconnect(int attempts);
- // map operations
- void map_put_item(int fd);
- int map_get_item(int fd);
- void map_delete_item_fd(int fd);
- void map_delete_item(int index);
-
- void map_put_item_server(int fd, struct in_addr local_IP_address, unsigned short local_port);
- int map_get_item_server(int fd);
- void map_delete_item_fd_server(int fd);
- void map_delete_item_server(int index);
-
- void create_socket();
- in_addr get_in_addr(const char *hostname);
- void setNonBlocking(int fd);
-
- boolean simple_mode;
- boolean reconnect;
- int reconnect_max_attempts;
- boolean server_mode;
- boolean debug;
- int server_backlog;
- struct in_addr local_IP_address;
- struct in_addr peer_IP_address;
- unsigned short local_port;
- unsigned short peer_port;
-
- struct sctp_event_subscribe events;
- struct sctp_initmsg initmsg;
-
- boolean local_port_is_present;
- boolean peer_IP_address_is_present;
- boolean peer_port_is_present;
-
- int fd;
- fd_set readfds, writefds;
- int receiving_fd;
-
- struct fd_map_item;
- fd_map_item *fd_map;
- int list_len;
-
- struct fd_map_server_item;
- fd_map_server_item *fd_map_server;
- int list_len_server;
-
-
-};
-}
-#endif
diff --git a/SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn b/SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn
deleted file mode 100644
index 27aae086f..000000000
--- a/SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn
+++ /dev/null
@@ -1,62 +0,0 @@
-/******************************************************************************
-* Copyright (c) 2005, 2014 Ericsson AB
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* Peter Dimitrov- initial implementation and initial documentation
-* Adam Delic
-* Eduard Czimbalmos
-* Endre Kulcsar
-* Gabor Bettesch
-* Gabor Szalai
-* Tamas Buti
-* Zoltan Medve
-******************************************************************************/
-//
-// File: SCTPasp_PortType.ttcn
-// Description: SCTPasp testport definition file
-// Rev: R11A
-// Prodnr: CNL 113 469
-//
-
-module SCTPasp_PortType
-{
-
-import from SCTPasp_Types all;
-
-//=========================================================================
-//Port Types
-//=========================================================================
-
-type port SCTPasp_PT message
-{
- inout ASP_SCTP;
-
- out ASP_SCTP_Connect;
- out ASP_SCTP_ConnectFrom;
- out ASP_SCTP_Listen;
- out ASP_SCTP_SetSocketOptions;
- out ASP_SCTP_Close;
-
- in ASP_SCTP_ASSOC_CHANGE;
- in ASP_SCTP_PEER_ADDR_CHANGE;
- in ASP_SCTP_SEND_FAILED;
- in ASP_SCTP_REMOTE_ERROR;
- in ASP_SCTP_SHUTDOWN_EVENT;
- in ASP_SCTP_PARTIAL_DELIVERY_EVENT;
- in ASP_SCTP_ADAPTION_INDICATION;
-
- in ASP_SCTP_Connected;
- in ASP_SCTP_SENDMSG_ERROR;
- in ASP_SCTP_RESULT;
-
-} with { extension "provider" }
-
-}//end of module
-with {
-extension "version R11A"
-}
-
diff --git a/SCTPasp_CNL113469/src/SCTPasp_Types.ttcn b/SCTPasp_CNL113469/src/SCTPasp_Types.ttcn
deleted file mode 100644
index f10fc5881..000000000
--- a/SCTPasp_CNL113469/src/SCTPasp_Types.ttcn
+++ /dev/null
@@ -1,201 +0,0 @@
-/******************************************************************************
-* Copyright (c) 2005, 2014 Ericsson AB
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* Peter Dimitrov- initial implementation and initial documentation
-* Adam Delic
-* Eduard Czimbalmos
-* Endre Kulcsar
-* Gabor Bettesch
-* Gabor Szalai
-* Tamas Buti
-* Zoltan Medve
-******************************************************************************/
-//
-// File: SCTPasp_Types.ttcn
-// Description: SCTP ASP definition file
-// Rev: R11A
-// Prodnr: CNL 113 469
-//
-
-
-module SCTPasp_Types
-{
-
-//=========================================================================
-// Data Types
-//=========================================================================
-
-type octetstring PDU_SCTP;
-
-type record ASP_SCTP
-{
- integer client_id optional,
- integer sinfo_stream,
- integer sinfo_ppid,
- PDU_SCTP data
-}
-
-
-type record ASP_SCTP_Connect
-{
- charstring peer_hostname optional,
- integer peer_portnumber (1..65535) optional
-}
-
-
-type record ASP_SCTP_ConnectFrom
-{
- charstring local_hostname optional,
- integer local_portnumber (1..65535),
- charstring peer_hostname optional,
- integer peer_portnumber (1..65535) optional
-}
-
-
-type record ASP_SCTP_Listen
-{
- charstring local_hostname optional,
- integer local_portnumber (1..65535)
-}
-
-
-type record SCTP_INIT
-{
- integer sinit_num_ostreams,
- integer sinit_max_instreams,
- integer sinit_max_attempts,
- integer sinit_max_init_timeo
-}
-
-type record SCTP_EVENTS
-{
- boolean sctp_data_io_event,
- boolean sctp_association_event,
- boolean sctp_address_event,
- boolean sctp_send_failure_event,
- boolean sctp_peer_error_event,
- boolean sctp_shutdown_event,
- boolean sctp_partial_delivery_event,
- boolean sctp_adaption_layer_event
-}
-
-type record SO_LINGER
-{
- integer l_onoff,
- integer l_linger
-}
-
-type record SCTP_RTOINFO
-{
- integer client_id,
- integer srto_initial,
- integer srto_max,
- integer srto_min
-}
-
-type union ASP_SCTP_SetSocketOptions
-{
- SCTP_INIT Sctp_init,
- SCTP_EVENTS Sctp_events,
- SO_LINGER So_linger,
- SCTP_RTOINFO Sctp_rtoinfo
-}
-
-
-type record ASP_SCTP_Close
-{
- integer client_id optional
-}
-
-
-type enumerated SAC_STATE
-{
- SCTP_COMM_UP, SCTP_COMM_LOST, SCTP_RESTART,
- SCTP_SHUTDOWN_COMP, SCTP_CANT_STR_ASSOC, SCTP_UNKNOWN_SAC_STATE
-}
-
-type record ASP_SCTP_ASSOC_CHANGE
-{
- integer client_id,
- SAC_STATE sac_state
-}
-
-
-type enumerated SPC_STATE
-{
- SCTP_ADDR_AVAILABLE, SCTP_ADDR_UNREACHABLE, SCTP_ADDR_REMOVED,
- SCTP_ADDR_ADDED, SCTP_ADDR_MADE_PRIM, SCTP_ADDR_CONFIRMED, SCTP_UNKNOWN_SPC_STATE
-}
-
-type record ASP_SCTP_PEER_ADDR_CHANGE
-{
- integer client_id,
- SPC_STATE spc_state
-}
-
-
-type record ASP_SCTP_SEND_FAILED
-{
- integer client_id
-}
-
-
-type record ASP_SCTP_REMOTE_ERROR
-{
- integer client_id
-}
-
-
-type record ASP_SCTP_SHUTDOWN_EVENT
-{
- integer client_id
-}
-
-
-type record ASP_SCTP_PARTIAL_DELIVERY_EVENT
-{
- integer client_id
-}
-
-
-type record ASP_SCTP_ADAPTION_INDICATION
-{
- integer client_id
-}
-
-
-type record ASP_SCTP_Connected
-{
- integer client_id,
- charstring local_hostname,
- integer local_portnumber (1..65535),
- charstring peer_hostname,
- integer peer_portnumber (1..65535)
-}
-
-
-type record ASP_SCTP_SENDMSG_ERROR
-{
- integer client_id optional,
- integer sinfo_stream,
- integer sinfo_ppid,
- PDU_SCTP data
-}
-
-type record ASP_SCTP_RESULT
-{
- integer client_id optional,
- boolean error_status,
- charstring error_message optional
-}
-
-}//end of module
-with {
-extension "version R11A"
-}
-
diff --git a/bin/install.script b/bin/install.script
index a55440809..799b1568c 100755
--- a/bin/install.script
+++ b/bin/install.script
@@ -5,26 +5,26 @@ SRC_BASE_DIR=~/projects/git/osmo-ttcn3-hacks
ln -sf $SRC_BASE_DIR/COMMON/src/General_Types.ttcn .
#M3UA protocol module
-ln -sf $SRC_BASE_DIR/M3UA_CNL113536/src/M3UA_Types.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.ProtocolModules.M3UA/src/M3UA_Types.ttcn .
#M3UA Emulator
-ln -sf $SRC_BASE_DIR/M3UA_CNL113537/src/M3UA_Emulation.ttcn .
+ln -sf $SRC_BASE_DIR/src/titan.ProtocolEmulations.M3UA/src/M3UA_Emulation.ttcn .
#MTP3 test port (partly)
-ln -sf $SRC_BASE_DIR/MTP3asp_CNL113337/src/MTP3asp_Types.ttcn .
-ln -sf $SRC_BASE_DIR/MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.TestPorts.MTP3asp/src/MTP3asp_Types.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.TestPorts.MTP3asp/src/MTP3asp_PortType.ttcn .
#SCCP Emulator + protocol module
-ln -sf $SRC_BASE_DIR/SCCP_CNL113341/src/SCCPasp_Types.ttcn .
-ln -sf $SRC_BASE_DIR/SCCP_CNL113341/src/SCCP_Types.ttcn .
-ln -sf $SRC_BASE_DIR/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp .
-ln -sf $SRC_BASE_DIR/SCCP_CNL113341/src/SCCP_Emulation.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.ProtocolEmulations.SCCP/src/SCCPasp_Types.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.ProtocolEmulations.SCCP/src/SCCP_Types.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.ProtocolEmulations.SCCP/src/SCCP_Mapping.ttcnpp .
+ln -sf $SRC_BASE_DIR/deps/titan.ProtocolEmulations.SCCP/src/SCCP_Emulation.ttcn .
#SCTP test port
-ln -sf $SRC_BASE_DIR/SCTPasp_CNL113469/src/SCTPasp_Types.ttcn .
-ln -sf $SRC_BASE_DIR/SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn .
-ln -sf $SRC_BASE_DIR/SCTPasp_CNL113469/src/SCTPasp_PT.hh .
-ln -sf $SRC_BASE_DIR/SCTPasp_CNL113469/src/SCTPasp_PT.cc .
+ln -sf $SRC_BASE_DIR/deps/titan.TestPorts.SCTPasp/src/SCTPasp_Types.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.TestPorts.SCTPasp/src/SCTPasp_PortType.ttcn .
+ln -sf $SRC_BASE_DIR/deps/titan.TestPorts.SCTPasp/src/SCTPasp_PT.hh .
+ln -sf $SRC_BASE_DIR/deps/titan.TestPorts.SCTPasp/src/SCTPasp_PT.cc .
#Test cases
diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh
index 77c9563f3..453d8caff 100755
--- a/bsc-nat/gen_links.sh
+++ b/bsc-nat/gen_links.sh
@@ -21,14 +21,13 @@ FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttc
gen_links $DIR $FILES
# required by SCCP Emulation
-DIR=../MTP3asp_CNL113337/src
+DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
FILES="MTP3asp_PortType.ttcn MTP3asp_Types.ttcn"
gen_links $DIR $FILES
-DIR=../SCCP_CNL113341/src
+DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
FILES="SCCP_Emulation.ttcn SCCP_EncDec.cc SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh
index 3d17cfe11..5c2536619 100755
--- a/bsc-nat/regen_makefile.sh
+++ b/bsc-nat/regen_makefile.sh
@@ -4,6 +4,6 @@ MAIN=IPA_Test.ttcn
FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc"
-export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP"
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR"
../regen-makefile.sh $MAIN $FILES
diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh
index ee55c3e09..a6a1b0a6a 100755
--- a/bsc/gen_links.sh
+++ b/bsc/gen_links.sh
@@ -31,25 +31,19 @@ DIR=$BASEDIR/titan.TestPorts.SCTPasp/src
FILES="SCTPasp_PT.cc SCTPasp_PT.hh SCTPasp_PortType.ttcn SCTPasp_Types.ttcn"
gen_links $DIR $FILES
-# required by M3UA Emulation
-DIR=../MTP3asp_CNL113337/src
-FILES="MTP3asp_PortType.ttcn MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
-
# required by SCCP Emulation
-DIR=../M3UA_CNL113537/src
+DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src
FILES="M3UA_Emulation.ttcn"
gen_links $DIR $FILES
# required by SCCP Emulation
-DIR=../MTP3asp_CNL113337/src
+DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
FILES="MTP3asp_PortType.ttcn MTP3asp_Types.ttcn"
gen_links $DIR $FILES
-DIR=../SCCP_CNL113341/src
+DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
FILES="SCCP_Emulation.ttcn SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh
index e9eb8084e..1e522523c 100755
--- a/bsc/regen_makefile.sh
+++ b/bsc/regen_makefile.sh
@@ -4,6 +4,6 @@ MAIN=BSC_Tests.ttcn
FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c"
-export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP"
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR"
../regen-makefile.sh $MAIN $FILES
diff --git a/deps/Makefile b/deps/Makefile
index d67e065df..c9c01ca19 100644
--- a/deps/Makefile
+++ b/deps/Makefile
@@ -37,10 +37,13 @@ ECLIPSEGIT2_REPOS= titan.ProtocolModules.GRE \
titan.ProtocolModules.LLC_v7.1.0 \
titan.ProtocolModules.MobileL3_v13.4.0 \
titan.ProtocolModules.NS_v7.3.0 \
- titan.ProtocolModules.SNDCP_v7.0.0
+ titan.ProtocolModules.SNDCP_v7.0.0 \
+ titan.ProtocolEmulations.M3UA
OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \
- titan.TestPorts.UNIX_DOMAIN_SOCKETasp
+ titan.TestPorts.MTP3asp \
+ titan.TestPorts.UNIX_DOMAIN_SOCKETasp \
+ titan.ProtocolEmulations.SCCP
ALL_REPOS=$(ECLIPSEGIT_REPOS) $(ECLIPSEGIT2_REPOS) $(OSMOGITHUB_REPOS)
diff --git a/msc/gen_links.sh b/msc/gen_links.sh
index a7144a69f..efb377039 100755
--- a/msc/gen_links.sh
+++ b/msc/gen_links.sh
@@ -32,19 +32,18 @@ FILES="SCTPasp_PT.cc SCTPasp_PT.hh SCTPasp_PortType.ttcn SCTPasp_Types.ttcn"
gen_links $DIR $FILES
# required by M3UA Emulation
-DIR=../MTP3asp_CNL113337/src
+DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
FILES="MTP3asp_PortType.ttcn MTP3asp_Types.ttcn"
gen_links $DIR $FILES
# required by SCCP Emulation
-DIR=../M3UA_CNL113537/src
+DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src
FILES="M3UA_Emulation.ttcn"
gen_links $DIR $FILES
-DIR=../SCCP_CNL113341/src
+DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
FILES="SCCP_Emulation.ttcn SCCP_EncDec.cc SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/msc/regen_makefile.sh b/msc/regen_makefile.sh
index 84b16f7ea..c3db4e747 100755
--- a/msc/regen_makefile.sh
+++ b/msc/regen_makefile.sh
@@ -2,6 +2,6 @@
FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc *.c"
-export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_GSUP"
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_GSUP -DUSE_MTP3_DISTRIBUTOR"
../regen-makefile.sh MSC_Tests.ttcn $FILES
diff --git a/rmlinks.sh b/rmlinks.sh
index 2b356a52f..cd04866de 100755
--- a/rmlinks.sh
+++ b/rmlinks.sh
@@ -1,2 +1,2 @@
#!/bin/sh
-find . -type l -not -path "./bin/*" -not -path "./M3UA_CNL113537/*" -not -path "./SCCP_CNL113341/*" -exec rm \{\} \;
+find . -type l -not -path "./bin/*" -exec rm \{\} \;
diff --git a/selftest/gen_links.sh b/selftest/gen_links.sh
index b5e86cb84..1b6171cad 100755
--- a/selftest/gen_links.sh
+++ b/selftest/gen_links.sh
@@ -22,14 +22,13 @@ FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttc
gen_links $DIR $FILES
# required by IPA Emulation
-DIR=../MTP3asp_CNL113337/src
+DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
FILES="MTP3asp_PortType.ttcn MTP3asp_Types.ttcn"
gen_links $DIR $FILES
-DIR=../SCCP_CNL113341/src
+DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
FILES="SCCP_Emulation.ttcn SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/selftest/regen_makefile.sh b/selftest/regen_makefile.sh
index d79b921be..2503fca05 100755
--- a/selftest/regen_makefile.sh
+++ b/selftest/regen_makefile.sh
@@ -4,6 +4,6 @@ MAIN=Selftest.ttcn
FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc"
-export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL"
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DUSE_MTP3_DISTRIBUTOR"
../regen-makefile.sh $MAIN $FILES