initial chekin of code received by Ericsson on 20170410
diff --git a/COMMON/src/general_typedefs.ttcn b/COMMON/src/general_typedefs.ttcn
new file mode 100644
index 0000000..6432e53
--- /dev/null
+++ b/COMMON/src/general_typedefs.ttcn
@@ -0,0 +1,236 @@
+/******************************************************************************
+* Copyright (c) 2004, 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:
+*   Zoltan Jasz - initial implementation and initial documentation
+*   Abhishek Gupta
+*   Attila Balasko
+*   Endre Kulcsar
+*   Gabor Bettesch
+*   Gabor Szalai
+*   Janos Kovesdi
+*   Sandor Palugyai
+*   Tibor Csondes
+******************************************************************************/
+//
+//  File:               general_typedefs.ttcn
+//  Rev:                R9A
+//  Prodnr:             CNL 113 368
+//  Reference:          
+
+module general_typedefs
+{
+
+group SimpleNativeTypes
+{
+//octetstring with fixed length
+type octetstring OCT0n length(0);
+type octetstring OCT1n length(1);
+type octetstring OCT2n length(2);
+type octetstring OCT3n length(3);
+type octetstring OCT4n length(4);
+type octetstring OCT5n length(5);
+type octetstring OCT6n length(6);
+type octetstring OCT7n length(7);
+type octetstring OCT8n length(8);
+type octetstring OCT9n length(9);
+type octetstring OCT10n length(10);
+type octetstring OCT11n length(11);
+type octetstring OCT12n length(12);
+type octetstring OCT13n length(13);
+type octetstring OCT14n length(14);
+type octetstring OCT15n length(15);
+type octetstring OCT16n length(16);
+type octetstring OCT17n length(17);
+type octetstring OCT18n length(18);
+type octetstring OCT19n length(19);
+type octetstring OCT20n length(20);
+type octetstring OCT28n length(28);
+type octetstring OCT32n length(32);
+type octetstring OCT34n length(34);
+type octetstring OCT46n length(46);
+type octetstring OCT50n length(50);
+type octetstring OCT69n length(69);
+type octetstring OCT100n length(100);
+type octetstring OCT128n length(128);
+type octetstring OCT500n length(500);
+type octetstring OCTNn;
+
+//octetstring with length interval
+type octetstring OCT1_3n length(1..3);
+type octetstring OCT1_4n length(1..4);
+type octetstring OCT1_5n length(1..5);
+type octetstring OCT1_6n length(1..6);
+type octetstring OCT1_7n length(1..7);
+type octetstring OCT1_8n length(1..8);
+type octetstring OCT1_12n length(1..12);
+type octetstring OCT1_15n length(1..15);
+type octetstring OCT1_16n length(1..16);
+type octetstring OCT1_18n length(1..18);
+type octetstring OCT1_20n length(1..20);
+type octetstring OCT1_24n length(1..24);
+type octetstring OCT1_34n length(1..34);
+type octetstring OCT1_46n length(1..46);
+type octetstring OCT1_50n length(1..50);
+type octetstring OCT1_112n length(1..112);
+type octetstring OCT1_127n length(1..127);
+type octetstring OCT1_128n length(1..128);
+type octetstring OCT1_172n length(1..172);
+type octetstring OCT3_5n length(3..5);
+type octetstring OCT3_7n length(3..7);
+type octetstring OCT3_8n length(3..8);
+type octetstring OCT3_17n length(3..17);
+type octetstring OCT4_8n length(4..8);
+
+//hexstring with fixed length
+type hexstring HEX24n length(24);
+
+//hexstring with length interval
+type hexstring HEX0_18n length(0..18);
+type hexstring HEX1_20n length(1..20);
+
+
+//bitstring with fixed length
+type bitstring BIT1n length(1);
+type bitstring BIT2n length(2);
+type bitstring BIT3n length(3);
+type bitstring BIT4n length(4);
+type bitstring BIT5n length(5);
+type bitstring BIT6n length(6);
+type bitstring BIT7n length(7);
+type bitstring BIT8n length(8);
+type bitstring BIT9n length(9);
+type bitstring BIT12n length(12);
+type bitstring BIT14n length(14);
+type bitstring BIT15n length(15);
+type bitstring BIT16n length(16);
+type bitstring BIT56n length(56);
+
+//bitstring with length interval
+type bitstring BIT14_24n length(14..24);
+
+//bitstring to be padded with fixed length 
+type bitstring BIT1np length(1);
+type bitstring BIT2np length(2);
+type bitstring BIT3np length(3);
+type bitstring BIT4np length(4);
+type bitstring BIT5np length(5);
+type bitstring BIT6np length(6);
+type bitstring BIT7np length(7);
+type bitstring BIT15np length(15);
+
+//integer with fixed bit number
+type integer INT3nb (0..7);
+type integer INT4nb (0..15);
+type integer INT5nb (0..31);
+type integer INT8nb (0..255);
+
+//integer with fixed bit number and with padding
+type integer INT2nbp (0..3);
+type integer INT1nbp (0..1);
+type integer INT3nbp (0..7);
+type integer INT5nbp (0..31);
+type integer INT9nbp (0..511);
+type integer INT13nbp (0..8095);
+type integer INT15nbp (0..32767);
+
+}// end group NativeTypes
+
+group SimpleRAWEncodedTypes
+{
+//octetstring with fixed length
+type octetstring Dummy length(0) with { variant "FIELDLENGTH(0)" };
+type octetstring OCT0 length(0) with { variant "FIELDLENGTH(0)" };
+type octetstring OCT1 length(1) with { variant "FIELDLENGTH(1)" };
+type octetstring OCT2 length(2) with { variant "FIELDLENGTH(2)" };
+type octetstring OCT3 length(3) with { variant "FIELDLENGTH(3)" };
+type octetstring OCT4 length(4) with { variant "FIELDLENGTH(4)" };
+type octetstring OCT5 length(5) with { variant "FIELDLENGTH(5)" };
+type octetstring OCT6 length(6) with { variant "FIELDLENGTH(6)" };
+type octetstring OCT7 length(7) with { variant "FIELDLENGTH(7)" };
+type octetstring OCT8 length(8) with { variant "FIELDLENGTH(8)" };
+type octetstring OCT9 length(9) with { variant "FIELDLENGTH(9)" };
+type octetstring OCT10 length(10) with { variant "FIELDLENGTH(10)" };
+type octetstring OCT11 length(11) with { variant "FIELDLENGTH(11)" };
+type octetstring OCT12 length(12) with { variant "FIELDLENGTH(12)" };
+type octetstring OCT13 length(13) with { variant "FIELDLENGTH(13)" };
+type octetstring OCT14 length(14) with { variant "FIELDLENGTH(14)" };
+type octetstring OCT15 length(15) with { variant "FIELDLENGTH(15)" };
+type octetstring OCT16 length(16) with { variant "FIELDLENGTH(16)" };
+type octetstring OCT17 length(17) with { variant "FIELDLENGTH(17)" };
+type octetstring OCT18 length(18) with { variant "FIELDLENGTH(18)" };
+type octetstring OCT19 length(19) with { variant "FIELDLENGTH(19)" };
+type octetstring OCT20 length(20) with { variant "FIELDLENGTH(20)" };
+type octetstring OCT32 length(32) with { variant "FIELDLENGTH(32)" };
+type octetstring OCT34 length(34) with { variant "FIELDLENGTH(34)" };
+type octetstring OCT46 length(46) with { variant "FIELDLENGTH(46)" };
+
+//octetstring with length interval
+type octetstring OCT1_12 length(1..12) with { variant "" };
+type octetstring OCT1_8 length(1..8) with { variant "" };
+type octetstring OCT3_8 length(3..8) with { variant "" };
+type octetstring OCT1_50 length(1..50) with { variant "" };
+type octetstring OCTN with { variant "" };
+
+//bitstring with fixed length
+type bitstring BIT1 length(1) with { variant "FIELDLENGTH (1)" };
+type bitstring BIT2 length(2) with { variant "FIELDLENGTH(2)" };
+type bitstring BIT3 length(3) with { variant "FIELDLENGTH(3)" };
+type bitstring BIT4 length(4) with { variant "FIELDLENGTH(4)" };
+type bitstring BIT5 length(5) with { variant "FIELDLENGTH(5)" };
+type bitstring BIT6 length(6) with { variant "FIELDLENGTH(6)" };
+type bitstring BIT7 length(7) with { variant "FIELDLENGTH(7)" };
+type bitstring BIT8 length(8) with { variant "FIELDLENGTH(8)" };
+type bitstring BIT9 length(9) with { variant "FIELDLENGTH(9)" };
+type bitstring BIT12 length(12) with { variant "FIELDLENGTH(12)" };
+type bitstring BIT14 length(14) with { variant "FIELDLENGTH(14)" };
+type bitstring BIT15 length(15) with { variant "FIELDLENGTH(15)" };
+type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" };
+type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" };
+type bitstring BIT31 length(31) with { variant "FIELDLENGTH(31)" };
+type bitstring BIT56 length(56) with { variant "FIELDLENGTH(56)" };
+
+type hexstring HEX1 length(1) with {variant "FIELDLENGTH(1)"};
+    
+//integer with fixed octet number
+type integer INT1 (0..255) with { variant "FIELDLENGTH(8)" };
+type integer LIN1 (0..255) with { variant "FIELDLENGTH(8)" }
+type integer LIN2 (0..65535) with { variant "FIELDLENGTH(16)" }
+
+//integer with fixed bit number
+type integer INT7b (0..127) with { variant "FIELDLENGTH(7)" };
+
+//integer record
+type record of integer Integers;
+type record of Integers Integer_array;
+
+} with {encode "RAW"} // end group SimpleRAWEncodedTypes
+
+  group ComponentTypes
+  {
+   type component Dummy_comptype {}
+  }
+
+  group CompositeTypes
+  {
+   type enumerated Protocols
+    { mtp3, sccp, isup, bicc, qaal2, gcp, bssap, bssmap, ranap, dtap }
+
+   type record of OCT1           OCT1List;
+   type record of OCT2           OCT2List;
+   type record of OCT3           OCT3List;
+   type record of OCT4           OCT4List;
+   type record of OCT5           OCT5List;
+   type record of OCT6           OCT6List;
+   type record of OCT7           OCT7List;
+
+   type record of Dummy_comptype ListOfDummy_comptype;
+   
+   type record of Protocols      ProtocolList;
+  }
+
+}with { encode "RAW"} /* End of module general_typedefs */