From c87abfcb6098bb696f8941bac5be2b5d418a2d76 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 18 Mar 2018 10:58:00 +0100 Subject: Remove M3UA/MTP3/SCCP code from this repo, use upstream repos Originally, this code was not yet in an official upstream git repo. However, it has been for many months, so let's remove our local copy and use upstream git repositories like for all the other modules. Change-Id: I2c616fb865df32cfec323d42e5d0d06de40c497b --- M3UA_CNL113536/M3UA_CNL113536.tpd | 44 - M3UA_CNL113536/doc/documentation_note.txt | 13 - M3UA_CNL113536/src/M3UA_Types.ttcn | 805 --- M3UA_CNL113537/demo/Abstract_Socket.cc | 1 - M3UA_CNL113537/demo/Abstract_Socket.hh | 1 - M3UA_CNL113537/demo/BICC_EncDec.cc | 1 - M3UA_CNL113537/demo/BICC_Types.ttcn | 1 - M3UA_CNL113537/demo/General_Types.ttcn | 1 - M3UA_CNL113537/demo/M3UA_Emulation.ttcn | 1 - M3UA_CNL113537/demo/M3UA_Emulation_Test.ttcn | 152 - M3UA_CNL113537/demo/M3UA_Types.ttcn | 1 - M3UA_CNL113537/demo/MTP3asp_EncDec.cc | 1 - M3UA_CNL113537/demo/MTP3asp_Types.ttcn | 1 - M3UA_CNL113537/demo/Makefile | 920 --- M3UA_CNL113537/demo/SCTPasp_PT.cc | 1 - M3UA_CNL113537/demo/SCTPasp_PT.hh | 1 - M3UA_CNL113537/demo/SCTPasp_PortType.ttcn | 1 - M3UA_CNL113537/demo/SCTPasp_Types.ttcn | 1 - M3UA_CNL113537/demo/m3ua_emu.cfg | 21 - M3UA_CNL113537/src/M3UA_Emulation.ttcn | 1307 ----- MTP3asp_CNL113337/MTP3asp_CNL113337.tpd | 89 - MTP3asp_CNL113337/demo/MTP3asp_PT.cc | 2952 ---------- MTP3asp_CNL113337/demo/MTP3asp_PT.hh | 249 - MTP3asp_CNL113337/demo/MTP3asp_PortType.ttcn | 61 - MTP3asp_CNL113337/demo/MTP3asp_Types.ttcn | 324 -- MTP3asp_CNL113337/demo/Makefile | 353 -- MTP3asp_CNL113337/demo/mtp3test.ttcn | 292 - MTP3asp_CNL113337/demo/mtp3test_MTP3_ansi2.cfg | 75 - MTP3asp_CNL113337/doc/MTP3asp_CNL113337_FS.pdf | Bin 143496 -> 0 bytes MTP3asp_CNL113337/doc/MTP3asp_CNL113337_PRI.pdf | Bin 131894 -> 0 bytes MTP3asp_CNL113337/doc/MTP3asp_CNL113337_UG.pdf | Bin 178705 -> 0 bytes MTP3asp_CNL113337/src/MTP3asp_EncDec.cc | 20 - MTP3asp_CNL113337/src/MTP3asp_PT.cc | 2952 ---------- MTP3asp_CNL113337/src/MTP3asp_PT.hh | 249 - MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn | 66 - MTP3asp_CNL113337/src/MTP3asp_Types.ttcn | 324 -- SCCP_CNL113341/SCCP_CNL113341.tpd | 87 - SCCP_CNL113341/demo/General_Types.ttcn | 1 - SCCP_CNL113341/demo/MTP3asp_PT.cc | 1 - SCCP_CNL113341/demo/MTP3asp_PT.hh | 1 - SCCP_CNL113341/demo/MTP3asp_PortType.ttcn | 1 - SCCP_CNL113341/demo/MTP3asp_Types.ttcn | 1 - SCCP_CNL113341/demo/Makefile.ini | 737 --- .../demo/N_UNITDATAtest_600longdata_xudt_ansi_log | 2141 ------- SCCP_CNL113341/demo/SCCP_Emulation.ttcn | 1 - SCCP_CNL113341/demo/SCCP_Mapping.ttcnpp | 1 - SCCP_CNL113341/demo/SCCP_Testcases.cfg | 55 - SCCP_CNL113341/demo/SCCP_Testcases.ttcn | 468 -- SCCP_CNL113341/demo/SCCP_Types.ttcn | 1 - SCCP_CNL113341/demo/SCCP_selftest.cfg | 52 - SCCP_CNL113341/demo/SCCP_selftest.ttcn | 607 -- SCCP_CNL113341/demo/SCCPasp_Types.ttcn | 1 - SCCP_CNL113341/src/SCCP_Emulation.ttcn | 6043 -------------------- SCCP_CNL113341/src/SCCP_EncDec.cc | 19 - SCCP_CNL113341/src/SCCP_Mapping.ttcnpp | 129 - SCCP_CNL113341/src/SCCP_Types.ttcn | 1553 ----- SCCP_CNL113341/src/SCCPasp_Types.ttcn | 895 --- SCTPasp_CNL113469/SCTPasp_CNL113469.tpd | 50 - SCTPasp_CNL113469/doc/SCTPasp_CNL113469_PRI.doc | Bin 64512 -> 0 bytes SCTPasp_CNL113469/doc/SCTPasp_CNL113469_UG.doc | Bin 162816 -> 0 bytes SCTPasp_CNL113469/doc/SCTPasp_FS.pdf | Bin 167590 -> 0 bytes SCTPasp_CNL113469/src/SCTPasp_PT.cc | 1549 ----- SCTPasp_CNL113469/src/SCTPasp_PT.hh | 157 - SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn | 62 - SCTPasp_CNL113469/src/SCTPasp_Types.ttcn | 201 - bin/install.script | 24 +- bsc-nat/gen_links.sh | 5 +- bsc-nat/regen_makefile.sh | 2 +- bsc/gen_links.sh | 12 +- bsc/regen_makefile.sh | 2 +- deps/Makefile | 7 +- msc/gen_links.sh | 7 +- msc/regen_makefile.sh | 2 +- rmlinks.sh | 2 +- selftest/gen_links.sh | 5 +- selftest/regen_makefile.sh | 2 +- 76 files changed, 32 insertions(+), 26133 deletions(-) delete mode 100644 M3UA_CNL113536/M3UA_CNL113536.tpd delete mode 100644 M3UA_CNL113536/doc/documentation_note.txt delete mode 100644 M3UA_CNL113536/src/M3UA_Types.ttcn delete mode 120000 M3UA_CNL113537/demo/Abstract_Socket.cc delete mode 120000 M3UA_CNL113537/demo/Abstract_Socket.hh delete mode 120000 M3UA_CNL113537/demo/BICC_EncDec.cc delete mode 120000 M3UA_CNL113537/demo/BICC_Types.ttcn delete mode 120000 M3UA_CNL113537/demo/General_Types.ttcn delete mode 120000 M3UA_CNL113537/demo/M3UA_Emulation.ttcn delete mode 100644 M3UA_CNL113537/demo/M3UA_Emulation_Test.ttcn delete mode 120000 M3UA_CNL113537/demo/M3UA_Types.ttcn delete mode 120000 M3UA_CNL113537/demo/MTP3asp_EncDec.cc delete mode 120000 M3UA_CNL113537/demo/MTP3asp_Types.ttcn delete mode 100644 M3UA_CNL113537/demo/Makefile delete mode 120000 M3UA_CNL113537/demo/SCTPasp_PT.cc delete mode 120000 M3UA_CNL113537/demo/SCTPasp_PT.hh delete mode 120000 M3UA_CNL113537/demo/SCTPasp_PortType.ttcn delete mode 120000 M3UA_CNL113537/demo/SCTPasp_Types.ttcn delete mode 100644 M3UA_CNL113537/demo/m3ua_emu.cfg delete mode 100644 M3UA_CNL113537/src/M3UA_Emulation.ttcn delete mode 100644 MTP3asp_CNL113337/MTP3asp_CNL113337.tpd delete mode 100644 MTP3asp_CNL113337/demo/MTP3asp_PT.cc delete mode 100644 MTP3asp_CNL113337/demo/MTP3asp_PT.hh delete mode 100644 MTP3asp_CNL113337/demo/MTP3asp_PortType.ttcn delete mode 100644 MTP3asp_CNL113337/demo/MTP3asp_Types.ttcn delete mode 100644 MTP3asp_CNL113337/demo/Makefile delete mode 100644 MTP3asp_CNL113337/demo/mtp3test.ttcn delete mode 100644 MTP3asp_CNL113337/demo/mtp3test_MTP3_ansi2.cfg delete mode 100644 MTP3asp_CNL113337/doc/MTP3asp_CNL113337_FS.pdf delete mode 100644 MTP3asp_CNL113337/doc/MTP3asp_CNL113337_PRI.pdf delete mode 100644 MTP3asp_CNL113337/doc/MTP3asp_CNL113337_UG.pdf delete mode 100644 MTP3asp_CNL113337/src/MTP3asp_EncDec.cc delete mode 100644 MTP3asp_CNL113337/src/MTP3asp_PT.cc delete mode 100644 MTP3asp_CNL113337/src/MTP3asp_PT.hh delete mode 100644 MTP3asp_CNL113337/src/MTP3asp_PortType.ttcn delete mode 100644 MTP3asp_CNL113337/src/MTP3asp_Types.ttcn delete mode 100644 SCCP_CNL113341/SCCP_CNL113341.tpd delete mode 120000 SCCP_CNL113341/demo/General_Types.ttcn delete mode 120000 SCCP_CNL113341/demo/MTP3asp_PT.cc delete mode 120000 SCCP_CNL113341/demo/MTP3asp_PT.hh delete mode 120000 SCCP_CNL113341/demo/MTP3asp_PortType.ttcn delete mode 120000 SCCP_CNL113341/demo/MTP3asp_Types.ttcn delete mode 100644 SCCP_CNL113341/demo/Makefile.ini delete mode 100644 SCCP_CNL113341/demo/N_UNITDATAtest_600longdata_xudt_ansi_log delete mode 120000 SCCP_CNL113341/demo/SCCP_Emulation.ttcn delete mode 120000 SCCP_CNL113341/demo/SCCP_Mapping.ttcnpp delete mode 100644 SCCP_CNL113341/demo/SCCP_Testcases.cfg delete mode 100644 SCCP_CNL113341/demo/SCCP_Testcases.ttcn delete mode 120000 SCCP_CNL113341/demo/SCCP_Types.ttcn delete mode 100644 SCCP_CNL113341/demo/SCCP_selftest.cfg delete mode 100644 SCCP_CNL113341/demo/SCCP_selftest.ttcn delete mode 120000 SCCP_CNL113341/demo/SCCPasp_Types.ttcn delete mode 100644 SCCP_CNL113341/src/SCCP_Emulation.ttcn delete mode 100644 SCCP_CNL113341/src/SCCP_EncDec.cc delete mode 100644 SCCP_CNL113341/src/SCCP_Mapping.ttcnpp delete mode 100644 SCCP_CNL113341/src/SCCP_Types.ttcn delete mode 100644 SCCP_CNL113341/src/SCCPasp_Types.ttcn delete mode 100644 SCTPasp_CNL113469/SCTPasp_CNL113469.tpd delete mode 100644 SCTPasp_CNL113469/doc/SCTPasp_CNL113469_PRI.doc delete mode 100644 SCTPasp_CNL113469/doc/SCTPasp_CNL113469_UG.doc delete mode 100644 SCTPasp_CNL113469/doc/SCTPasp_FS.pdf delete mode 100644 SCTPasp_CNL113469/src/SCTPasp_PT.cc delete mode 100644 SCTPasp_CNL113469/src/SCTPasp_PT.hh delete mode 100644 SCTPasp_CNL113469/src/SCTPasp_PortType.ttcn delete mode 100644 SCTPasp_CNL113469/src/SCTPasp_Types.ttcn diff --git a/M3UA_CNL113536/M3UA_CNL113536.tpd b/M3UA_CNL113536/M3UA_CNL113536.tpd deleted file mode 100644 index c6729023..00000000 --- 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 eb68bfba..00000000 --- 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 d79d8327..00000000 --- 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 6d1b3f35..00000000 --- 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 ecb6c036..00000000 --- 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 f3f7144d..00000000 --- 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 de200f7a..00000000 --- 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 354ebf3f..00000000 --- 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 bf12ab9e..00000000 --- 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 4c1e86af..00000000 --- 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 ca43cb34..00000000 --- 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 88f10839..00000000 --- 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 9f03c54e..00000000 --- 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 ffc0aeb0..00000000 --- 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 2b931e95..00000000 --- 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 e37473f5..00000000 --- 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 4394e347..00000000 --- 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 71876a06..00000000 --- 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 9533515d..00000000 --- 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 7a4a7e9b..00000000 --- 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 bc2b89ee..00000000 --- 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 37bab8f0..00000000 --- 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 340f24ff..00000000 --- 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 86b7a83e..00000000 --- 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 e96f4201..00000000 --- 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 53b19d35..00000000 --- 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 1c842503..00000000 --- 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 35b3e09a..00000000 --- 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 b6cf46f1..00000000 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 4e8b25c6..00000000 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 0c6b3d78..00000000 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 394d7269..00000000 --- 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 37bab8f0..00000000 --- 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 340f24ff..00000000 --- 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 7c5a06b4..00000000 --- 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 e96f4201..00000000 --- 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 31e51537..00000000 --- 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 354ebf3f..00000000 --- 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 44d08bbf..00000000 --- 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 30dfc24c..00000000 --- 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 19948640..00000000 --- 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 9f03c54e..00000000 --- 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 4e764a32..00000000 --- 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 b8b30219..00000000 --- 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 fae96059..00000000 --- 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 aabd0d40..00000000 --- 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 ae1c4724..00000000 --- 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 0f8ba47c..00000000 --- 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 9aa343b8..00000000 --- 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 67e0762d..00000000 --- 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 c6497045..00000000 --- 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 f7668d7f..00000000 --- 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 dbfa08c5..00000000 --- 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 f00b08a9..00000000 --- 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 0de496b7..00000000 --- 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 168c317a..00000000 --- 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 c66fa864..00000000 --- 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 125ad9fc..00000000 --- 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 5923989c..00000000 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 e0c17fef..00000000 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 0e66447b..00000000 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 6d7b02b4..00000000 --- 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 7d6311d3..00000000 --- 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 27aae086..00000000 --- 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 f10fc588..00000000 --- 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 a5544080..799b1568 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 77c9563f..453d8caf 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 3d17cfe1..5c253661 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 ee55c3e0..a6a1b0a6 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 e9eb8084..1e522523 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 d67e065d..c9c01ca1 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 a7144a69..efb37703 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 84b16f7e..c3db4e74 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 2b356a52..cd04866d 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 b5e86cb8..1b6171ca 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 d79b921b..2503fca0 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 -- cgit v1.2.3