initial chekin of code received by Ericsson on 20170410
diff --git a/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp b/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp
new file mode 100644
index 0000000..0de496b
--- /dev/null
+++ b/SCCP_CNL113341/src/SCCP_Mapping.ttcnpp
@@ -0,0 +1,129 @@
+///////////////////////////////////////////////////////////////////////////////
+// //
+// 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)" }
+
+
+
+}