R1C
diff --git a/ROSE_CNL113369.tpd b/ROSE_CNL113369.tpd
new file mode 100644
index 0000000..aee8f45
--- /dev/null
+++ b/ROSE_CNL113369.tpd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>ROSE_CNL113369</ProjectName>
+  <Folders>
+    <FolderResource projectRelativePath="doc" relativeURI="doc"/>
+    <FolderResource projectRelativePath="src" relativeURI="src"/>
+  </Folders>
+  <Files>
+    <FileResource projectRelativePath="doc/IR_doc.doc" relativeURI="doc/IR_doc.doc"/>
+    <FileResource projectRelativePath="doc/ROSE_CNL113369_PRI.doc" relativeURI="doc/ROSE_CNL113369_PRI.doc"/>
+    <FileResource projectRelativePath="doc/ROSE_CNL113369_PRI.pdf" relativeURI="doc/ROSE_CNL113369_PRI.pdf"/>
+    <FileResource projectRelativePath="src/Remote_Operations_Generic_ROS_PDUs.asn" relativeURI="src/Remote_Operations_Generic_ROS_PDUs.asn"/>
+    <FileResource projectRelativePath="src/Remote_Operations_Information_Objects.asn" relativeURI="src/Remote_Operations_Information_Objects.asn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/ROSE_CNL113369</targetExecutable>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+      </ProjectProperties>
+      <FolderProperties>
+        <FolderResource>
+          <FolderPath>doc</FolderPath>
+          <FolderProperties>
+            <ExcludeFromBuild>true</ExcludeFromBuild>
+          </FolderProperties>
+        </FolderResource>
+      </FolderProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/src/Remote_Operations_Generic_ROS_PDUs.asn b/src/Remote_Operations_Generic_ROS_PDUs.asn
new file mode 100644
index 0000000..a4b26b0
--- /dev/null
+++ b/src/Remote_Operations_Generic_ROS_PDUs.asn
@@ -0,0 +1,273 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom 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
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               Remote_Operations_Generic_ROS_PDUs.asn
+//  Rev:                R1C
+//  Updated:            2010-05-20
+//  Prodnr:             CNL 113 369
+//  Contact:            http://ttcn.ericsson.se
+//  Reference:          ITU-T X.880
+*/ 
+-- Module Remote-Operations-Generic-ROS-PDUs (X.880:07/1994)
+Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
+  generic-ROS-PDUs(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+  OPERATION, ERROR
+    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+      remote-operations(4) informationObjects(5) version2(1)};
+
+ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
+  CHOICE {
+  invoke        [1]  Invoke{{InvokeIdSet}, {Invokable}},
+  returnResult  [2]  ReturnResult{{Returnable}},
+  returnError   [3]  ReturnError{{Errors  {{Returnable}}}},
+  reject        [4]  Reject
+
+  -- the following fields are needed for ASN.1 decoding
+  -- please do not modify them
+  
+--  invoke-help        [5]  Invoke-help{{InvokeIdSet}, {Invokable}},
+--  returnResult-help  [6]  ReturnResult-help{{Returnable}},
+--  returnError-help   [7]  ReturnError-help{{Errors  {{Returnable}}}}
+
+  
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-unrecognizedPDU)
+
+Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+  invokeId
+    InvokeId(InvokeIdSet)
+      (CONSTRAINED BY {-- must be unambiguous -- } !
+       RejectProblem:invoke-duplicateInvocation),
+  linkedId
+    CHOICE {present  [0] EXPLICIT InvokeId,
+            absent   [1] IMPLICIT NULL
+  }
+  (CONSTRAINED BY { -- must identify an outstanding operation --} !
+   RejectProblem:invoke-unrecognizedLinkedId)
+  (CONSTRAINED BY { -- which has one or more linked operations--} !
+   RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
+  opcode
+    OPERATION.&operationCode
+      ({Operations} !RejectProblem:invoke-unrecognizedOperation),
+  argument 
+    OPERATION.&ArgumentType
+      ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+(WITH COMPONENTS {
+   ...,
+   linkedId  ABSENT
+ } |
+ WITH COMPONENTS {
+   ...,
+   linkedId  PRESENT,
+   opcode    (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
+                } !RejectProblem:invoke-unexpectedLinkedOperation)
+ })
+
+-- the following type is for ASN.1 decoding purposes
+-- please do not modify it
+
+Invoke-help{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+  invokeId
+    InvokeId(InvokeIdSet)
+      (CONSTRAINED BY {-- must be unambiguous -- } !
+       RejectProblem:invoke-duplicateInvocation),
+  linkedId 
+    CHOICE {present  [0] EXPLICIT InvokeId,
+            absent   [1] IMPLICIT NULL
+  }
+  (CONSTRAINED BY { -- must identify an outstanding operation --} !
+   RejectProblem:invoke-unrecognizedLinkedId)
+  (CONSTRAINED BY { -- which has one or more linked operations--} !
+   RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
+  opcode
+    OPERATION.&operationCode
+      ({Operations} !RejectProblem:invoke-unrecognizedOperation),
+  argument ANY OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+(WITH COMPONENTS {
+   ...,
+   linkedId  ABSENT
+ } |
+ WITH COMPONENTS {
+   ...,
+   linkedId  PRESENT,
+   opcode    (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
+                } !RejectProblem:invoke-unexpectedLinkedOperation)
+ })
+
+
+ReturnResult{OPERATION:Operations} ::= SEQUENCE {
+  invokeId
+    InvokeId
+      (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+       RejectProblem:returnResult-unrecognizedInvocation)
+      (CONSTRAINED BY {-- which returns a result -- } !
+       RejectProblem:returnResult-resultResponseUnexpected),
+  result
+    SEQUENCE {opcode
+                OPERATION.&operationCode({Operations})
+                  (CONSTRAINED BY {-- identified by invokeId -- } !
+                   RejectProblem:returnResult-unrecognizedInvocation),
+              result 
+                OPERATION.&ResultType
+                  ({Operations}{@.opcode} !
+                   RejectProblem:returnResult-mistypedResult)} OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+-- the following type is for ASN.1 decoding purposes
+-- please do not modify it
+
+ReturnResult-help{OPERATION:Operations} ::= SEQUENCE {
+  invokeId
+    InvokeId
+      (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+       RejectProblem:returnResult-unrecognizedInvocation)
+      (CONSTRAINED BY {-- which returns a result -- } !
+       RejectProblem:returnResult-resultResponseUnexpected),
+  result
+    SEQUENCE {opcode
+                OPERATION.&operationCode({Operations})
+                  (CONSTRAINED BY {-- identified by invokeId -- } !
+                   RejectProblem:returnResult-unrecognizedInvocation),
+              result 
+			  	ANY
+    } OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+
+ReturnError{ERROR:Errors} ::= SEQUENCE {
+  invokeId
+    InvokeId
+      (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+       RejectProblem:returnError-unrecognizedInvocation)
+      (CONSTRAINED BY {-- which returns an error -- } !
+       RejectProblem:returnError-errorResponseUnexpected),
+  errcode
+    ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+      (CONSTRAINED BY {-- must be in the &Errors field of the associated operation -- 
+         } !RejectProblem:returnError-unexpectedError),
+  parameter -- ErrorParameterType{{Errors}}
+    ERROR.&ParameterType
+      ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
+      OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+
+-- the following type is for ASN.1 decoding purposes
+-- please do not modify it
+
+ReturnError-help{ERROR:Errors} ::= SEQUENCE {
+  invokeId
+    InvokeId
+      (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+       RejectProblem:returnError-unrecognizedInvocation)
+      (CONSTRAINED BY {-- which returns an error -- } !
+       RejectProblem:returnError-errorResponseUnexpected),
+  errcode
+    ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+      (CONSTRAINED BY {-- must be in the &Errors field of the associated operation -- 
+         } !RejectProblem:returnError-unexpectedError),
+  parameter 
+  	ANY OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+
+Reject ::= SEQUENCE {
+  invokeId  InvokeId,
+  problem	ProblemType
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+}
+
+ProblemType ::=     CHOICE {
+	general       [0]  GeneralProblem,
+    invoke        [1]  InvokeProblem,
+    returnResult  [2]  ReturnResultProblem,
+    returnError   [3]  ReturnErrorProblem
+}
+
+
+GeneralProblem ::= INTEGER {
+  unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
+
+InvokeProblem ::= INTEGER {
+  duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+  resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+  linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
+
+ReturnResultProblem ::= INTEGER {
+  unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+  unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+  unexpectedError(3), mistypedParameter(4)}
+
+RejectProblem ::= INTEGER {
+  general-unrecognizedPDU(0), general-mistypedPDU(1),
+  general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+  invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+  invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+  invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+  invoke-unexpectedLinkedOperation(17),
+  returnResult-unrecognizedInvocation(20),
+  returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+  returnError-unrecognizedInvocation(30),
+  returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+  returnError-unexpectedError(33), returnError-mistypedParameter(34)}
+
+InvokeId ::= CHOICE {present  INTEGER,
+                     absent   NULL
+}
+
+--PresentInvokeId InvokeId ::= {present:1..65536}  TR HL89739
+PresentInvokeId InvokeId ::= { WITH COMPONENTS { ..., present (1..65536) } }
+
+noInvokeId InvokeId ::= absent:NULL
+
+NoInvokeId InvokeId ::= {noInvokeId}
+
+Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+Bind{OPERATION:operation} ::= CHOICE {
+  bind-invoke  [16]  OPERATION.&ArgumentType({operation}),
+  bind-result  [17]  OPERATION.&ResultType({operation}),
+  bind-error   [18]  OPERATION.&Errors.&ParameterType({operation})
+}
+
+Unbind{OPERATION:operation} ::= CHOICE {
+  unbind-invoke  [19]  OPERATION.&ArgumentType({operation}),
+  unbind-result  [20]  OPERATION.&ResultType({operation}),
+  unbind-error   [21]  OPERATION.&Errors.&ParameterType({operation})
+}
+
+END -- end of generic ROS PDU definitions
+
+
+
diff --git a/src/Remote_Operations_Information_Objects.asn b/src/Remote_Operations_Information_Objects.asn
new file mode 100644
index 0000000..906f02f
--- /dev/null
+++ b/src/Remote_Operations_Information_Objects.asn
@@ -0,0 +1,144 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom 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
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               Remote_Operations_Information_Objects.asn
+//  Rev:                R1C
+//  Updated:            2007-02-20
+//  Prodnr:             CNL 113 369
+//  Contact:            http://ttcn.ericsson.se
+//  Reference:          ITU-T Recommentations X.880
+*/ 
+-- Module Remote-Operations-Information-Objects (X.880:07/1994)
+Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
+  informationObjects(5) version2(1)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS ;
+
+-- exports everything
+/*IMPORTS
+  emptyBind, emptyUnbind
+    FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+      remote-operations(4) useful-definitions(7) version2(1)};
+*/
+OPERATION ::= CLASS {
+  &ArgumentType          OPTIONAL,
+  &argumentTypeOptional  BOOLEAN OPTIONAL,
+  &returnResult          BOOLEAN DEFAULT TRUE,
+  &ResultType            OPTIONAL,
+  &resultTypeOptional    BOOLEAN OPTIONAL,
+  &Errors                ERROR OPTIONAL,
+  &Linked                OPERATION OPTIONAL,
+  &synchronous           BOOLEAN DEFAULT FALSE,
+  &idempotent            BOOLEAN DEFAULT FALSE,
+  &alwaysReturns         BOOLEAN DEFAULT TRUE,
+  &invokePriority        Priority OPTIONAL,
+  &resultPriority        Priority OPTIONAL,
+  &operationCode         Code UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+  [ARGUMENT &ArgumentType
+   [OPTIONAL &argumentTypeOptional]]
+  [RESULT &ResultType
+   [OPTIONAL &resultTypeOptional]]
+  [RETURN RESULT &returnResult]
+  [ERRORS &Errors]
+  [LINKED &Linked]
+  [SYNCHRONOUS &synchronous]
+  [IDEMPOTENT &idempotent]
+  [ALWAYS RESPONDS &alwaysReturns]
+  [INVOKE PRIORITY &invokePriority]
+  [RESULT-PRIORITY &resultPriority]
+  [CODE &operationCode]
+}
+
+ERROR ::= CLASS {
+  &ParameterType          OPTIONAL,
+  &parameterTypeOptional  BOOLEAN OPTIONAL,
+  &errorPriority          Priority OPTIONAL,
+  &errorCode              Code UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+  [PARAMETER &ParameterType
+   [OPTIONAL &parameterTypeOptional]]
+  [PRIORITY &errorPriority]
+  [CODE &errorCode]
+}
+
+OPERATION-PACKAGE ::= CLASS {
+  &Both      OPERATION OPTIONAL,
+  &Consumer  OPERATION OPTIONAL,
+  &Supplier  OPERATION OPTIONAL,
+  &id        OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+-- continued on the next page
+WITH SYNTAX {
+  [OPERATIONS &Both]
+  [CONSUMER INVOKES &Supplier]
+  [SUPPLIER INVOKES &Consumer]
+  [ID &id]
+}
+/*
+CONNECTION-PACKAGE ::= CLASS {
+  &bind                OPERATION DEFAULT emptyBind,
+  &unbind              OPERATION DEFAULT emptyUnbind,
+  &responderCanUnbind  BOOLEAN DEFAULT FALSE,
+  &unbindCanFail       BOOLEAN DEFAULT FALSE,
+  &id                  OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+  [BIND &bind]
+  [UNBIND &unbind]
+  [RESPONDER UNBIND &responderCanUnbind]
+  [FAILURE TO UNBIND &unbindCanFail]
+  [ID &id]
+}
+*/
+CONTRACT ::= CLASS {
+/*  &connection           CONNECTION-PACKAGE OPTIONAL,*/
+  &OperationsOf         OPERATION-PACKAGE OPTIONAL,
+  &InitiatorConsumerOf  OPERATION-PACKAGE OPTIONAL,
+  &InitiatorSupplierOf  OPERATION-PACKAGE OPTIONAL,
+  &id                   OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+/*  [CONNECTION &connection]*/
+  [OPERATIONS OF &OperationsOf]
+  [INITIATOR CONSUMER OF &InitiatorConsumerOf]
+  [RESPONDER CONSUMER OF &InitiatorSupplierOf]
+  [ID &id]
+}
+
+ROS-OBJECT-CLASS ::= CLASS {
+  &Is                    ROS-OBJECT-CLASS OPTIONAL,
+  &Initiates             CONTRACT OPTIONAL,
+  &Responds              CONTRACT OPTIONAL,
+  &InitiatesAndResponds  CONTRACT OPTIONAL,
+  &id                    OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+  [IS &Is]
+  [BOTH &InitiatesAndResponds]
+  [INITIATES &Initiates]
+  [RESPONDS &Responds]
+  ID &id
+}
+
+Code ::= CHOICE {local   INTEGER,
+                 global  OBJECT IDENTIFIER
+}
+
+Priority ::= INTEGER(0..MAX)
+
+END -- end of Information Object specifications
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+